Spoiler:
still 4 or 5 or 6? hours into getting buildroot to swallow a 2.6.26 build.
Didn't like fully static. I'll revisit that issue though. And document the various fails.
Doing a shared build now just to get something to finish for reference tests.
: ) The joy of processes that take 40 50 mins each : )
here we go...
Kernal building. (hopefully providing better headers) next time Ill use the exact amazon one. and the luigi defconfig. this time I fell back to the 2.6.26 from the main tarballs and a generic config for another arm device.
Looks to be building this time. Happy days. Perseverance is key.
EDIT YEP BUILT : D
Tomorrow... The proper config and proper sources.
I count that as a RESULT
AND THE NEXT DAY:
Open buildroot:
open buildroot build folder you have setup. see buildroot docs, dont HAVE to make one but it's tidy up to you.
cd that folder
make xconfig (possibly with -C your buildroot folder - read buildroot docs)
Configure: Arm blah blah
More here later
Custom Kernal Tarball: Enter URL linux-2.6.26-lab126.tar.bz2 of extracted from Kindle_src_3.3_611680021.tar.gz (host it yourself. find it online or just feed it via a local http)
Enter custom patch (thank you Niluje - see below)
Include Initramfs in choices of files (kernal build dies otherwise) and tarred (for easy access)
Choose from options of software in list... (I chose hardly any as I want it to finish quick to let me manually interrupt the buildroot make process when the kernal comes around to building)
Save it and close
run
make
Either read the buildroot docs and do the specific steps to incrementally make up the the kernal - OR - just CTRL +C once you hit the kernal build
the kindle kernel source code Kindle_src_3.3_611680021.tar.gz will have appeared unzipped in /build/linux-custom - go there.
Edit the Makefile in /build/linux-custom
ARCH ?= (SUBARCH)
BECOMES ARCH ?= arm
CROSS_COMPILE ?=
BECOMES CROSS_COMPILE = arm-none-linux-gnueabi- (check your path has the bins in!)
Save it and close
run
make imx35_luigi_defconfig to generate a .config file.
Edit .config file
search "CONFIG_INITRAMFS_SOURCE" with the reference to a skeleton
change it to CONFIG_INITRAMFS_SOURCE="" (as in no value in quotes)
add modules you might want to build etc.
I added binfmt_misc as a module for example
Save it and close
One more thing:
$ cat> include/linux/kindle_version.h << EOF
# ifndef __KINDLE_VERSION_H__
# define __KINDLE_VERSION_H__
# define VERSION_TAG "000000"
# endif
EOF
as this is not generated by the makes
The mighty NiLuje has kindly provided
https://svn.ak-team.com/svn/Configs/...buildfix.patch which comprises this kindle_version.s file creation and some make cleansing for the Amazon makes. It does not make the config so that step is still required,
run
make
Should complete.
You should be able to then go back and install MORE options in the make xconfig stage and run make again in your root buildroot folder to create the additional packages without having to repeat the kernal steps. I'm testing this theory. : )
hope that saves someone the 48hours it took me to put that together after all this time from translated docs and 2! google results on the subject.
Almost a google whack
Thanks to knc1, NiLuje, Hawhill, GM and everyone who put there time into getting an answer for building a more recent kernal for the 3 via the sources.
With a little more reading this process could be far smoother.
Static-er build also needs testing.
I'll update the kindle image I'm sharing via dropbox to this one when I have the legal stuff put to bed. (erm I might have accidentally built a 20 Gb file install. bit over-zelaous with the qt4 examples so it will need cutting down A LOT and checking if the various bits can be shared in this way before anything changes)
TODO busybox config: enable inetd and other "service" servers. rebuild kernal. oops
Thanks for listening.