martin wrote: > { Maybe someone can polish it further and put it into a wikipage. Note > that the process and tools change over time a bit... } > > Hi new kernel developer, > > Here are some hints, meant for a self-sufficient kernel developer to > find her/his own way. Some you may know already :-) > > - You will want to be on devel@lists.laptop.org for general hacking > questions. This is an open list, so no NDA topics. You will see build > announcements there. > > - We also use irc -- #olpc-devel on OFTC > > - You need to know how to download and install a build (grab the zd > file, look in the install instructions for "fs-update"). > > - You will want to have your XO setup with a serial port - search our > wiki for the Serial adapter page... > > - The kernel that _actually_ boots is in /bootpart/boot/vmlinuz, it > then uses an initramfs that invokes dark magic before it invokes a > "normal" userland. You can only boot into a usable system through this > magic initramfs. > > Our current development practice is to provide a kernel via USB (or > even WLAN) so > that the XO ignores the one on the internal disk. Put the attached > olpc.fth file in a FAT formatted USB, inside a "boot" directory. Then > put a "zimage" file in the root of the USB disk.
[ alternatively, you can simply install your kernel in /bootpart/boot, and adjust the vmlinuz symlink accordingly. if you do this, and your kernel config is _not_ monolithic, then you'll need to have put a copy of your modules under /usr/lib/modules. if you need to make booting changes (i.e., adjust kernel commandline, etc), you'll edit /bootpart/boot/olpc.fth. ] > > This olpc.fth file controls the boot process, you can tweak boot > parameters in there, or tell it to boot a kernel fetched via http over > wlan. It is written in Forth. > > - You'll want our git tree: git://dev.laptop.org/olpc-kernel - > "master" there follows Linus' kernel. We are currently working on > arm-3.0-wip > for XO-1.75. > > - Our defconfig file is in arch/arm/configs/xo_175_defconfig. I > normally copy it to .config and then perl -pi -e 's/=m/=y/' to make a > monolithic kernel that Just Boots. > > - We currently crosscompile our kernels for development -- if you're running ubuntu/debian, you can simply apt-get install gcc-arm-linux-gunabi and set ARCH="arm" and CROSS_COMPILE="arm-linux-gnuabi-" before running make as usual. otherwise, you'll want to untar, as described below. paul > Untar http://dev.laptop.org/~cjb/gcc-4.6.0-from-x86_64-to-armv7.tar.bz2 > to /opt, then > > PATH=$PATH:/opt/crosstool/gcc-4.6.0/bin/ > make ARCH=arm CROSS_COMPILE=armv7-unknown-linux-gnueabi- <your make > target here> > > - We have an autobuilder that makes nice RPMs of the kernels based > on our git branches. Once you have a well tested patch, spam someone > in our team to get it into the official git repo so that it gets into > our RPM'd kernels... > > This is merely a start. > > > > m > -- > mar...@laptop.org -- Software Architect - OLPC > - ask interesting questions > - don't get distracted with shiny stuff - working code first > - http://wiki.laptop.org/go/User:Martinlanghoff > > > -- > mar...@laptop.org -- Software Architect - OLPC > - ask interesting questions > - don't get distracted with shiny stuff - working code first > - http://wiki.laptop.org/go/User:Martinlanghoff > part 3 text/plain 129 > _______________________________________________ > Devel mailing list > Devel@lists.laptop.org > http://lists.laptop.org/listinfo/devel =--------------------- paul fox, p...@laptop.org _______________________________________________ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel