Table of Contents
Supporting Ubuntu 9.10 in BKO
This page will document progress and problems faced in supporting Ubuntu 9.10 in BKO.
Current Status
- Ubuntu is booting over network using pxe, but its not able to mount the iso and use it.
- Ubuntu is booting as long as URL to ISO is containing IP instead of URL, its same old dns resolv problem.
- Ubuntu with httpfs is working
- I am using ugly hack to populate
/etc/resolv.conf
file with public DNS entries. - So it may not work in place where public DNS queries are not allowed.
Steps in adding Ubuntu 9.10 in BKO
- Get the 9.10 ISO. - done
- Extract the linux kernel image, initrd image. - done (location bko/live/ubuntu/U9.10/)
- Get kernel modules needed for iscsi support from iso.
- Modify initrd image ( to be done by generate_initrd.sh script )
- adding tools needed to support httpfs and iscsi mounting - Done
- add kernel modules for iscsi support to initrd. - Done
- edit the “scripts/casper” inside initrd image. - Done
- Turn on the networking.
- configure the network to use boot parameters for
IP
or usedhcp
- to use above tools and mount the ISO image over Internet.
- Modify code such that mounted ISO will be used for booting instead real cdrom.
- Compress back the initrd image. Problems in doing this
- Used unmodified linux kernel image and modified initrd image to boot the system.
- Most probably something will go wrong and it will not work, debug those problems.
Problem-1 : new format for initrd
Ubuntu 9.10 is using new format for compressing initrd files. It uses lzma
command for this.
This is quite new format for me, so struggling little bit with it.
For decompressing the initrd.lz
, use following steps.
mv initrd.lz initrd.lzma unlzma initrd.lzma
I still have some problems in compressing it back. The default lzma
compression
does not match the original initrd.lz
file, so I am doing something wrong here.
Most probably, I need to provide proper compression level which I need to find out.
(cd mpoint;find . | cpio -oH newc | lzma -c > ../initrd.lzma)
Soln
I have to provide -9
argument to lzma for work. So final command which worked
in generate_initrd.sh
is
sudo find . | sudo cpio -oH newc | lzma -9 -c> ../initrd.lz