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

  1. Get the 9.10 ISO. - done
  2. Extract the linux kernel image, initrd image. - done (location bko/live/ubuntu/U9.10/)
  3. Get kernel modules needed for iscsi support from iso.
  4. Modify initrd image ( to be done by generate_initrd.sh script )
    1. adding tools needed to support httpfs and iscsi mounting - Done
    2. add kernel modules for iscsi support to initrd. - Done
    3. edit the “scripts/casper” inside initrd image. - Done
      1. Turn on the networking.
      2. configure the network to use boot parameters for IP or use dhcp
      3. to use above tools and mount the ISO image over Internet.
      4. Modify code such that mounted ISO will be used for booting instead real cdrom.
    4. Compress back the initrd image. Problems in doing this
  5. Used unmodified linux kernel image and modified initrd image to boot the system.
  6. 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

QR Code
QR Code wiki:ubuntu910 (generated for current page)