Register Guidelines E-Books Today's Posts Search

Go Back   MobileRead Forums > E-Book Readers > Amazon Kindle > Kindle Developer's Corner

Notices

Reply
 
Thread Tools Search this Thread
Old 10-11-2021, 06:36 PM   #1
wishindo
Member
wishindo began at the beginning.
 
Posts: 22
Karma: 10
Join Date: Oct 2021
Location: Florida, USA
Device: Kindle Keyboard w/ 3G (k3g), Likebook Mars (T80D)
Swapping the 3G modem for a USB Flash Drive

Continuation of Swapping the 3G modem for a 4G modem, post 2 and Swapping the 3G modem for a 4G modem, post 3

I found and bought a mini-PCIe to USB adpater on Amazon with one-day shipping yesterday, and it arrived today. I've installed it in my Kindle Keyboard, inserted a FAT32 USB drive, and oops! No SCSI over USB support in the kernel! Which means "/dev/sda" and "/dev/sda1" (and so on) don't exist.

As existence is a prerequisite of being mounted, I have to (I assume) build some kernel modules and place them in the appropriate directory in "/lib/modules/", specifically "USB_STORAGE" and "SCSI". Ugh.

As I've never built a kernel module before (my experience with the Linux kernel is solely building the kernel after taking a config file from "/boot/", tweaking it, and naming it ".config", and running "make bindeb-pkg"), let alone cross-compile kernel modules, I'd like some advice.

1) Should I use the toolchain at Snapshots of NiLuJe's hacks?
2) Where would I get the kernel headers?
3) Do I download the source for the same version number as the output of "uname -r" (2.6.26-rt in my case) from kernel.org to get the module source?
wishindo is offline   Reply With Quote
Old 10-12-2021, 11:10 AM   #2
coplate
Guru
coplate ought to be getting tired of karma fortunes by now.coplate ought to be getting tired of karma fortunes by now.coplate ought to be getting tired of karma fortunes by now.coplate ought to be getting tired of karma fortunes by now.coplate ought to be getting tired of karma fortunes by now.coplate ought to be getting tired of karma fortunes by now.coplate ought to be getting tired of karma fortunes by now.coplate ought to be getting tired of karma fortunes by now.coplate ought to be getting tired of karma fortunes by now.coplate ought to be getting tired of karma fortunes by now.coplate ought to be getting tired of karma fortunes by now.
 
Posts: 645
Karma: 1888888
Join Date: Jun 2009
Device: prs-505, Kindle Keyboard 3g, PW3
I'm at work so I couldn't spend a lot of time looking at this, but I found a link to how I compiled some kernel modules for mouse and keyboard support

https://www.mobileread.com/forums/sh...=277236&page=5

It's been a few years so I imagine some stuff has changed. But hopefully it gives you a starting point.


I didn't ever look into getting the headers to load automatically. I had to do 'insmod' I think, and some people have made Kual plug-ins for the usb side if you look I to that thread

Last edited by coplate; 10-12-2021 at 11:13 AM.
coplate is offline   Reply With Quote
Advert
Old 10-12-2021, 05:15 PM   #3
wishindo
Member
wishindo began at the beginning.
 
Posts: 22
Karma: 10
Join Date: Oct 2021
Location: Florida, USA
Device: Kindle Keyboard w/ 3G (k3g), Likebook Mars (T80D)
The Amazon-provided source code for Kindle Keyboard ver. 3.4.3 doesn't include the linaro cross-compiler nor the kernel headers. Unless the headers archive is named something other than "khdrs.tar.gz"?
wishindo is offline   Reply With Quote
Old 10-12-2021, 06:34 PM   #4
coplate
Guru
coplate ought to be getting tired of karma fortunes by now.coplate ought to be getting tired of karma fortunes by now.coplate ought to be getting tired of karma fortunes by now.coplate ought to be getting tired of karma fortunes by now.coplate ought to be getting tired of karma fortunes by now.coplate ought to be getting tired of karma fortunes by now.coplate ought to be getting tired of karma fortunes by now.coplate ought to be getting tired of karma fortunes by now.coplate ought to be getting tired of karma fortunes by now.coplate ought to be getting tired of karma fortunes by now.coplate ought to be getting tired of karma fortunes by now.
 
Posts: 645
Karma: 1888888
Join Date: Jun 2009
Device: prs-505, Kindle Keyboard 3g, PW3
My notes were for paperwhite 2 and newer, so I'm not surprised. Just hoped it would help
coplate is offline   Reply With Quote
Old 10-13-2021, 08:50 AM   #5
katadelos
rm -rf /
katadelos ought to be getting tired of karma fortunes by now.katadelos ought to be getting tired of karma fortunes by now.katadelos ought to be getting tired of karma fortunes by now.katadelos ought to be getting tired of karma fortunes by now.katadelos ought to be getting tired of karma fortunes by now.katadelos ought to be getting tired of karma fortunes by now.katadelos ought to be getting tired of karma fortunes by now.katadelos ought to be getting tired of karma fortunes by now.katadelos ought to be getting tired of karma fortunes by now.katadelos ought to be getting tired of karma fortunes by now.katadelos ought to be getting tired of karma fortunes by now.
 
Posts: 219
Karma: 3333683
Join Date: Nov 2019
Location: United Kingdom
Device: K5, KT, KT2, KT3, KT4, KV, PW2, PW3, PW4, PW5
Quote:
Originally Posted by wishindo View Post
1) Should I use the toolchain at Snapshots of NiLuJe's hacks?
2) Where would I get the kernel headers?
3) Do I download the source for the same version number as the output of "uname -r" (2.6.26-rt in my case) from kernel.org to get the module source?
A couple of tips while I'm on my lunch break, I can take a close look at this later:

1) That would be the easiest way to get a vaguely compatible cross-compiler toolchain, I think that there's a specific one for older Kindles so I'd use that one
2) Headers are already present within the source tar ball
3) Use the linux-2.6.26-lab126.tar.bz2 tarball within the Kindle_src_3.4.3_3543620001.tar.gz sources.

Building the kernel modules will be something along the lines of this:

Code:
cd linux-2.6.26
# Note: you should change CROSS_COMPILE to the triplet of your toolchain
make ARCH=arm CROSS_COMPILE=arm-kindlepw2-linux-gnueabi- imx35_luigi_defconfig # I think this is the right defconfig?
make ARCH=arm CROSS_COMPILE=arm-kindlepw2-linux-gnueabi- menuconfig # Then select the kernel modules that you need
make ARCH=arm CROSS_COMPILE=arm-kindlepw2-linux-gnueabi- modules_prepare
make ARCH=arm CROSS_COMPILE=arm-kindlepw2-linux-gnueabi- M=drivers/usb/ -j7 # This will build all kernel modules within a specific directory, you'll need to do this for a few directories IIRC
make ARCH=arm CROSS_COMPILE=arm-kindlepw2-linux-gnueabi- modules -j7 # Or just build all of them at once, wastes time because it'll build kernel modules that are already on the device
find . -name *.ko # Get the paths of your shiny new kernel modules!
Then it's a case of transferring the kernel modules over to the device and using insmod to insert them into the kernel. You'll get errors if you insert them in the wrong order but you should be able to work out that order by checking the kernel log to see which missing symbol the kernel is complaining about, grepping through the kernel modules to see which module contains that symbol and inserting that module before the problematic one until the hardware works.

You'll probably run into some really obscure build errors that will require patching, compiling legacy kernel versions with any vaguely modern cross-compiler is something of a dark art
katadelos is offline   Reply With Quote
Advert
Old 10-13-2021, 11:44 AM   #6
NiLuJe
BLAM!
NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.
 
NiLuJe's Avatar
 
Posts: 13,480
Karma: 26012494
Join Date: Jun 2010
Location: Paris, France
Device: Kindle 2i, 3g, 4, 5w, PW, PW2, PW5; Kobo H2O, Forma, Elipsa, Sage, C2E
Quote:
Originally Posted by katadelos View Post
You'll probably run into some really obscure build errors that will require patching, compiling legacy kernel versions with any vaguely modern cross-compiler is something of a dark art
^ This ;p.

There are a bunch of comments about this in my x-compile script (mainly about Kobo kernels, but some of it might apply), right after the fuse build.
NiLuJe is offline   Reply With Quote
Old 10-14-2021, 01:17 AM   #7
wishindo
Member
wishindo began at the beginning.
 
Posts: 22
Karma: 10
Join Date: Oct 2021
Location: Florida, USA
Device: Kindle Keyboard w/ 3G (k3g), Likebook Mars (T80D)
Quote:
Originally Posted by katadelos View Post
1) That would be the easiest way to get a vaguely compatible cross-compiler toolchain, I think that there's a specific one for older Kindles so I'd use that one
As that toolchain seems to need to be built on Gentoo, and I'm using Ubuntu 20.04 on WSL1 on Windows 10, I'll just use the toolchain in the Amazon Kindle 8th Gen source package as that builds just fine.

Quote:
Originally Posted by katadelos View Post
Building the kernel modules will be something along the lines of this:
Code:
cd linux-2.6.26
# Note: you should change CROSS_COMPILE to the triplet of your toolchain
make ARCH=arm CROSS_COMPILE=arm-kindlepw2-linux-gnueabi- imx35_luigi_defconfig # I think this is the right defconfig?
make ARCH=arm CROSS_COMPILE=arm-kindlepw2-linux-gnueabi- menuconfig # Then select the kernel modules that you need
make ARCH=arm CROSS_COMPILE=arm-kindlepw2-linux-gnueabi- modules_prepare
make ARCH=arm CROSS_COMPILE=arm-kindlepw2-linux-gnueabi- M=drivers/usb/ -j7 # This will build all kernel modules within a specific directory, you'll need to do this for a few directories IIRC
make ARCH=arm CROSS_COMPILE=arm-kindlepw2-linux-gnueabi- modules -j7 # Or just build all of them at once, wastes time because it'll build kernel modules that are already on the device
find . -name *.ko # Get the paths of your shiny new kernel modules!
Let's try that.

Code:
linux-2.6.26$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- imx35_luigi_defconfig
Makefile:436: *** mixed implicit and normal rules: deprecated syntax
Makefile:1556: *** mixed implicit and normal rules: deprecated syntax
make: *** No rule to make target 'imx35_luigi_defconfig'.  Stop.
So a defconfig build failed...

Code:
linux-2.6.26$ grep defconfig Makefile
# used for 'make defconfig'
boards := $(wildcard $(srctree)/arch/$(SRCARCH)/configs/*_defconfig)
board-dirs := $(dir $(wildcard $(srctree)/arch/$(SRCARCH)/configs/*/*_defconfig))
                printf "  %-24s - Build for %s\\n" $(b) $(subst _defconfig,,$(b));) \
boards-per-dir = $(notdir $(wildcard $(srctree)/arch/$(SRCARCH)/configs/$*/*_defconfig))
                printf "  %-24s - Build for %s\\n" $*/$(b) $(subst _defconfig,,$(b));) \
define all-defconfigs
        $(call find-sources,'defconfig')
            $(all-defconfigs) | xargs -r $1 -a \
            $(all-defconfigs) | xargs -r $1 -a \
...but there are default configurations in "arch/arm/configs/". Let's look there.

Code:
linux-2.6.26$ ls arch/arm/configs/imx35_luigi_defconfig
arch/arm/configs/imx35_luigi_defconfig
A hit! A quick peek at it's contents indicate that this is a config file with stuff already set. Let's take it.

Code:
linux-2.6.26$ cp arch/arm/configs/imx35_luigi_defconfi
g .config
And edit it to add USB and SCSI support

Code:
linux-2.6.26$ nano .config
[ File '.config' is unwritable ]
sudo And edit it to add USB and SCSI support

Code:
linux-2.6.26$ sudo nano .config
[ Wrote 1557 lines ]
Build time?

Code:
linux-2.6.26$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- modules_prepare
Makefile:1556: *** mixed implicit and normal rules: deprecated syntax
linux-2.6.26/Makefile:436: *** mixed implicit and normal rules: deprecated syntax
linux-2.6.26/Makefile:1556: *** mixed implicit and normal rules: deprecated syntax
make[1]: *** No rule to make target 'silentoldconfig'.  Stop.
make: *** No rule to make target 'modules_prepare'.  Stop.
Uh, is that a necessary step though? Let's try ignoring that.

Code:
linux-2.6.26$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- modules
Makefile:1556: *** mixed implicit and normal rules: deprecated syntax
linux-2.6.26/Makefile:436: *** mixed implicit and normal rules: deprecated syntax
linux-2.6.26/Makefile:1556: *** mixed implicit and normal rules: deprecated syntax
make[1]: *** No rule to make target 'silentoldconfig'.  Stop.

The present kernel configuration has modules disabled.
Type 'make config' and enable loadable module support.
Then build a kernel with module support enabled.

make: *** [Makefile:1102: modules] Error 1
Weird default but okay.

Code:
linux-2.6.26$ grep -i module .config
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
CONFIG_MODULES=y
# CONFIG_MODULE_FORCE_LOAD is not set
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
# CONFIG_MODULE_SRCVERSION_ALL is not set
# MXC MPEG4 Encoder Kernel module support
But you said "The present kernel configuration has modules disabled" earlier!

Quote:
Originally Posted by katadelos View Post
You'll probably run into some really obscure build errors that will require patching
I think you jinxed it.

Can anyone help me get the modules built?
wishindo is offline   Reply With Quote
Old 10-16-2021, 11:53 PM   #8
wishindo
Member
wishindo began at the beginning.
 
Posts: 22
Karma: 10
Join Date: Oct 2021
Location: Florida, USA
Device: Kindle Keyboard w/ 3G (k3g), Likebook Mars (T80D)
Okay, I've managed to build the Kernel modules, but I get
Code:
insmod: error inserting '/mnt/us/usb-storage.ko': -1 Invalid module format
when I try to insert the modules.
I pulled the .config from
Code:
/proc/config.gz
Any ideas as to what's wrong?
wishindo is offline   Reply With Quote
Old 10-17-2021, 07:41 AM   #9
katadelos
rm -rf /
katadelos ought to be getting tired of karma fortunes by now.katadelos ought to be getting tired of karma fortunes by now.katadelos ought to be getting tired of karma fortunes by now.katadelos ought to be getting tired of karma fortunes by now.katadelos ought to be getting tired of karma fortunes by now.katadelos ought to be getting tired of karma fortunes by now.katadelos ought to be getting tired of karma fortunes by now.katadelos ought to be getting tired of karma fortunes by now.katadelos ought to be getting tired of karma fortunes by now.katadelos ought to be getting tired of karma fortunes by now.katadelos ought to be getting tired of karma fortunes by now.
 
Posts: 219
Karma: 3333683
Join Date: Nov 2019
Location: United Kingdom
Device: K5, KT, KT2, KT3, KT4, KV, PW2, PW3, PW4, PW5
Quote:
Originally Posted by wishindo View Post
As that toolchain seems to need to be built on Gentoo, and I'm using Ubuntu 20.04 on WSL1 on Windows 10, I'll just use the toolchain in the Amazon Kindle 8th Gen source package as that builds just fine.
You can build those toolchains on Ubuntu if you've installed all of the required dependencies.

Quote:
Originally Posted by wishindo View Post
Code:
linux-2.6.26$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- imx35_luigi_defconfig
Makefile:436: *** mixed implicit and normal rules: deprecated syntax
Makefile:1556: *** mixed implicit and normal rules: deprecated syntax
make: *** No rule to make target 'imx35_luigi_defconfig'.  Stop.
So a defconfig build failed...
Heed the warning from make - if you look at line 436 of the top-level makefile, you'll see that it's the bit that handles all of the make *config targets; the problem with mixed implicit and normal rules is why those targets are playing up.

You can fix this (in a hacky way) like so:

Code:
diff --git a/Makefile b/Makefile
index 3ed09d0d..232a7658 100644
--- a/Makefile
+++ b/Makefile
@@ -433,7 +433,11 @@ ifeq ($(config-targets),1)
 include $(srctree)/arch/$(SRCARCH)/Makefile
 export KBUILD_DEFCONFIG
 
-config %config: scripts_basic outputmakefile FORCE
+config: scripts_basic outputmakefile FORCE
+       $(Q)mkdir -p include/linux include/config
+       $(Q)$(MAKE) $(build)=scripts/kconfig $@
+
+%config: scripts_basic outputmakefile FORCE
        $(Q)mkdir -p include/linux include/config
        $(Q)$(MAKE) $(build)=scripts/kconfig $@
 
@@ -1553,7 +1557,11 @@ endif
        $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
 
 # Modules
-/ %/: prepare scripts FORCE
+/: prepare scripts FORCE
+       $(cmd_crmodverdir)
+       $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \
+       $(build)=$(build-dir)
+%/: prepare scripts FORCE
        $(cmd_crmodverdir)
        $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \
        $(build)=$(build-dir)
Quote:
Originally Posted by wishindo View Post
sudo And edit it to add USB and SCSI support

Code:
linux-2.6.26$ sudo nano .config
[ Wrote 1557 lines ]
Hand editing .config is not the greatest of ideas - many of the config symbols require other symbols to be enabled first or select other symbols when enabled. Using the menuconfig target helps to keep things consistent and lets you view these dependencies in detail by using the search feature:

Code:
  │ Symbol: USB_STORAGE [=n]                                                                                                                                                                 │  
  │ Prompt: USB Mass Storage support                                                                                                                                                         │  
  │   Defined at drivers/usb/storage/Kconfig:9                                                                                                                                               │  
  │   Depends on: USB_SUPPORT && USB && SCSI                                                                                                                                                 │  
  │   Location:                                                                                                                                                                              │  
  │     -> Device Drivers                                                                                                                                                                    │  
  │       -> USB support (USB_SUPPORT [=y])
Quote:
Originally Posted by wishindo View Post
Okay, I've managed to build the Kernel modules, but I get
Code:
insmod: error inserting '/mnt/us/usb-storage.ko': -1 Invalid module format
when I try to insert the modules.
Use dmesg to view the kernel log - it'll give you some slightly more verbose information on why insmod is failing. From experience, it'll likely be a vermagic problem which would imply some problem with your build environment.
katadelos is offline   Reply With Quote
Old 10-17-2021, 12:52 PM   #10
wishindo
Member
wishindo began at the beginning.
 
Posts: 22
Karma: 10
Join Date: Oct 2021
Location: Florida, USA
Device: Kindle Keyboard w/ 3G (k3g), Likebook Mars (T80D)
Quote:
Originally Posted by katadelos View Post
You can build those toolchains on Ubuntu if you've installed all of the required dependencies.
I didn't know there was a Github repo for that.


Quote:
Originally Posted by katadelos View Post
Heed the warning from make - if you look at line 436 of the top-level makefile, you'll see that it's the bit that handles all of the make *config targets; the problem with mixed implicit and normal rules is why those targets are playing up.

You can fix this (in a hacky way) like so:

code snipped
I already patched the Makefile with this patch. That was what got the modules built I believe.


Quote:
Originally Posted by katadelos View Post
Hand editing .config is not the greatest of ideas - many of the config symbols require other symbols to be enabled first or select other symbols when enabled. Using the menuconfig target helps to keep things consistent and lets you view these dependencies in detail by using the search feature:

code snipped
I managed to get menuconfig with the above patch, so I used that instead of hand editing.

Quote:
Originally Posted by katadelos View Post
Use dmesg to view the kernel log - it'll give you some slightly more verbose information on why insmod is failing. From experience, it'll likely be a vermagic problem which would imply some problem with your build environment.
dmesg says:
Code:
scsi_mod: no symbol version for struct_module
which according the web searches means I need to build the kernel outright, then I can build modules.
Code:
linux-2.6.26/scripts/gen_initramfs_list.sh: Cannot open '../../initramfs/skeleton-luigi.list'
stops the kernel from compiling though.
wishindo is offline   Reply With Quote
Old 10-17-2021, 02:21 PM   #11
NiLuJe
BLAM!
NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.
 
NiLuJe's Avatar
 
Posts: 13,480
Karma: 26012494
Join Date: Jun 2010
Location: Paris, France
Device: Kindle 2i, 3g, 4, 5w, PW, PW2, PW5; Kobo H2O, Forma, Elipsa, Sage, C2E
Oh, hey, didn't even remember I went through that very masochistic experience myself before ;p (re: the patch).

As for the initramfs stuff:
Yeah, you need to build the full kernel because of CONFIG_MODVERSION or something or other (can't remember, wrote it down somewhere in x-compile, though ;p).

You can safely disable the initramfs altogether for that very purpose in your kernel config (you won't be able to boot said kernel, obviously, but we don't care when the goal is building modules, not flashing kernels ).

Last edited by NiLuJe; 10-17-2021 at 02:24 PM.
NiLuJe is offline   Reply With Quote
Old 10-17-2021, 03:27 PM   #12
wishindo
Member
wishindo began at the beginning.
 
Posts: 22
Karma: 10
Join Date: Oct 2021
Location: Florida, USA
Device: Kindle Keyboard w/ 3G (k3g), Likebook Mars (T80D)
Disabled the initramfs and now the kernel build errors at
Code:
  CC      init/version.o
  LD      init/built-in.o
  LD      .tmp_vmlinux1
arch/arm/kernel/built-in.o: In function `sys_mmap2':
io.c:(.text+0xc08): undefined reference to `do_mmap2'
Makefile:778: recipe for target '.tmp_vmlinux1' failed
make: *** [.tmp_vmlinux1] Error 1
I couldn't find anything conclusive about this online. Supposedly, the error means we tried to use a function that wass never coded, but io.c doesn't contain any instances of "do", "sys", or "mm" according to nano.

I noticed I never said what toolchain I'm using now. I'm now using gcc-arm-linux-gnueabi from the default repositories for apt, as I made a new Ubuntu instance to have a clean slate to work with between posts #7 and #8.
wishindo is offline   Reply With Quote
Old 10-18-2021, 04:34 PM   #13
NiLuJe
BLAM!
NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.
 
NiLuJe's Avatar
 
Posts: 13,480
Karma: 26012494
Join Date: Jun 2010
Location: Paris, France
Device: Kindle 2i, 3g, 4, 5w, PW, PW2, PW5; Kobo H2O, Forma, Elipsa, Sage, C2E
Possibly a symbol generated from a macro, which would make finding it via a simple grep harder .

This doesn't ring a bell, but, on the other hand, I don't recall ever building this stuff with anything else than the final Linaro GCC 4.9 release (e.g., start from the kindle koxtoolchain profile, and just switch to said GCC release in the menuconfig).

And the Ubuntu TCs are generally Not Great (TM) for this stuff (... much like the distro itself. Oops ) .
NiLuJe is offline   Reply With Quote
Old 10-18-2021, 06:12 PM   #14
wishindo
Member
wishindo began at the beginning.
 
Posts: 22
Karma: 10
Join Date: Oct 2021
Location: Florida, USA
Device: Kindle Keyboard w/ 3G (k3g), Likebook Mars (T80D)
Quote:
Originally Posted by NiLuJe View Post
...I don't recall ever building this stuff with anything else than the final Linaro GCC 4.9 release (e.g., start from the kindle koxtoolchain profile, and just switch to said GCC release in the menuconfig).
Does "kindle koxtoolchain profile" refer to using your toolchain? I thought that complained about not finding headers in a Gentoo-specific directory when I tried to use it in my first Ubuntu instance? I don't remember, it's been a week and I've kind of forgotten about what worked or broke in the first Ubuntu instance after making the clean-slate second instance.

Confession Time: This thread is the entirety of my documentation I've wrote for this process so far. Nothing was written down about why your toolchain didn't work. Oops?

Quote:
Originally Posted by NiLuJe View Post
And the Ubuntu TCs are generally Not Great (TM) for this stuff (... much like the distro itself. Oops ) .
Aww man, you can't tell me Ubuntu and it's available toolchain is Not Great™ and leave me hanging on what distro family would be a better build environment! (It's never a good sign when one busts out the trademark for anything bad :P)
wishindo is offline   Reply With Quote
Old 10-19-2021, 10:36 AM   #15
Quoth
the rook, bossing Never.
Quoth ought to be getting tired of karma fortunes by now.Quoth ought to be getting tired of karma fortunes by now.Quoth ought to be getting tired of karma fortunes by now.Quoth ought to be getting tired of karma fortunes by now.Quoth ought to be getting tired of karma fortunes by now.Quoth ought to be getting tired of karma fortunes by now.Quoth ought to be getting tired of karma fortunes by now.Quoth ought to be getting tired of karma fortunes by now.Quoth ought to be getting tired of karma fortunes by now.Quoth ought to be getting tired of karma fortunes by now.Quoth ought to be getting tired of karma fortunes by now.
 
Quoth's Avatar
 
Posts: 11,472
Karma: 87454321
Join Date: Jun 2017
Location: Ireland
Device: All 4 Kinds: epub eink, Kindle, android eink, NxtPaper11
Gentoo users cook chickens by first hatching an egg. If it doesn't have a good tool chain?
But Ubuntu is based on Debian and I never heard of any common TC issue with Debian. I use Mint, but other than building Joyce (PCW8512/PCW9512) for Z80 emulator (needs CP/M too) on Mint, I've not fiddled with TCs on Linux since about 2008 and CentOS for x86 and Debian for ARM. Building Joyce needed a lot of extra installs.

However, I'd rather buy a new Kobo or Kindle and use a phone as a 4G to WiFi hot spot than do this. I changed OpenWRT on x86 to use a prototype PCMCIA 4G modem and a custom prototype ARM with touch screen and Debian to use the same modem. Only part of the aerial bulge stuck out of the demo ARM pocket sized box. It was a lot of work, I had a linux guru helping and support & source from the 4G modem maker. Not LTE or Wimax, but a different now dead 4G. Wimax is also dead now.
Quoth is offline   Reply With Quote
Reply

Tags
expansion, hardware modding, modem, storage, usb mass storage


Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
K3 Swapping the 3G modem for a 4G modem wishindo Kindle Developer's Corner 5 07-27-2023 10:47 PM
USB (flash drive) to iPad yankgirl Apple Devices 11 07-17-2011 06:48 PM
Does Kindle spread USB virus like USB flash drive? rockchen General Discussions 49 02-17-2011 10:03 AM
FBReader and USB Flash Drive desertblues iRex 0 03-15-2010 09:37 AM


All times are GMT -4. The time now is 11:04 AM.


MobileRead.com is a privately owned, operated and funded community.