Kernel Building: Difference between revisions
Jump to navigation
Jump to search
(→Building an OLPC kernel: Attempt to update instructions w/ ramdisk & versioned OS info.) |
|||
Line 18: | Line 18: | ||
cd / |
cd / |
||
tar zxvf .../kern.tar.gz |
tar zxvf .../kern.tar.gz |
||
mv System.map /boot/System.map-$VERS |
mv System.map /versions/boot/current/boot/System.map-$VERS |
||
mv arch/i386/boot/bzImage /boot/vmlinuz-$VERS |
mv arch/i386/boot/bzImage /versions/boot/current/boot/vmlinuz-$VERS |
||
ln -sf /boot/vmlinuz-$VERS /boot/vmlinuz |
ln -sf /versions/boot/current/boot/vmlinuz-$VERS /versions/boot/current/boot/vmlinuz |
||
If not booting off NAND, the additional steps are also necessary: |
If not booting off NAND, you'll probably want to skip the /versions/boot/current/ prefix on the paths above. A limited number of kernel modules are required by the ramdisk during the boot process; if you need to update the ramdisk, these additional steps are also necessary: |
||
# mkdir /tmp/X ; cd /tmp/X |
|||
mkinitrd /boot/initrd-$VERS.img $VERS |
|||
# zcat /versions/boot/current/boot/olpcrd.img | cpio -i |
|||
# rm lib/modules |
|||
# cp -r /lib/modules lib/ |
|||
# find . -print | cpio -H newc -o | gzip -9 > /versions/boot/current/boot/olpcrd.img |
|||
[[Category:Developers]] |
[[Category:Developers]] |
Revision as of 19:49, 10 October 2007
- Note
- it is recommended that you build an RPM (Rebuilding OLPC kernel) unless you are already familiar with kernel development!
Building an OLPC kernel
After obtaining the OLPC source (and if desired, making changes), the following steps can be taken to build a kernel on any Fedora Core 6 machine:
make oldconfig make make modules_install # as root tar zcvf kern.tar.gz arch/i386/boot/bzImage System.map /lib/modules/$VERS
- Warning!
- this needs root and will trash your /lib/modules, if you happen to already have same version. Use "make INSTALL_MOD_PATH=/somewhere modules_install" if you want to avoid using root).
Replace $VERS above with the proper kernel version that has been built.
Assuming everything builds correctly, you will be left with kern.tar.gz. This can be copied over to an XO laptop, and the following steps will install the kernel (again, replacing $VERS with the kernel version):
cd / tar zxvf .../kern.tar.gz mv System.map /versions/boot/current/boot/System.map-$VERS mv arch/i386/boot/bzImage /versions/boot/current/boot/vmlinuz-$VERS ln -sf /versions/boot/current/boot/vmlinuz-$VERS /versions/boot/current/boot/vmlinuz
If not booting off NAND, you'll probably want to skip the /versions/boot/current/ prefix on the paths above. A limited number of kernel modules are required by the ramdisk during the boot process; if you need to update the ramdisk, these additional steps are also necessary:
# mkdir /tmp/X ; cd /tmp/X # zcat /versions/boot/current/boot/olpcrd.img | cpio -i # rm lib/modules # cp -r /lib/modules lib/ # find . -print | cpio -H newc -o | gzip -9 > /versions/boot/current/boot/olpcrd.img