week - 6

Targets decided for this week are

  • Add fedora live CD to BKO
  • Improve the user facing page of BKO
  • Improve the boot time menu

29 - 30 July

  1. Started to work on Fedora live CD
  2. Collected all basic stuff needed
    1. Live CD
    2. Initrd and kernel
    3. Kernel modules for networking
  3. It has taken unreasonably long time as fedora_11 lives cd was exceptionally slow on qemu for me, I couldn't get needed kernel modules from inside CD.
    1. I decided to migrate to kvm for better performance. but I was getting error could not open /dev/kvm: No such file or directory
    2. After breaking my head around for some time, it seems my brand new laptop does not have support for virtualization :-(
    3. For time being, I am using virtual-box, it works fast enough, but only problem with virtualBox is, virtual machine does not pick up the IP address using DHCP as it happens with qemu -net user option. This means that my all gpxe scripts which do use dhcp by default will not work any more :-(
    4. I have not yet fixed this problem of dhcp support in virtualbox, I have postponed the solution finding for this problem for time being.

1 - 2 July

  1. Wrote script which can generate new modified initramfs automatically with everything added from original initramfs.
  2. Now, actual work of understanding /init script and understanding how they use iso image as root starts.
  3. Done with modifications in /sbin/real-init which will (hopefully) mount the httpfs partition over root.
  4. Initial runs were not very promising, when tried to boot this modified fedora live cd over BKO using qemu, it dropped me in rescue shell :!:
    1. There were few error messages in boot sequence
      1. mount: only root can do that
      2. getKernelCmdLine: failed to open /proc/cmdline: No such file or directory
      3. creating initial /dev : only root can do that

3 July

  1. Pin-pointed the cause
    1. when I tried command mount -t proc proc /proc It gave error saying mount: only root can do that
    2. But as this command is executed from within initrd, it is executed as root, so How can I get that error :?:
    3. With tip from AndyTim, it seemed that the initrd was created by non-root user, so even if those commands are executed by root, they don't have root privilages.
      1. It is strange in many ways, as initrd by non-root user works fine for ubuntu and other distributions I have tried.
      2. I suspect that selinux security policies are enforcing these extra rules as fedora is having selinux in enforcing mode.
      3. Anyways, creating initrd by root user does make sense in some ways. So, I will follow this for all distributions.
  2. The booting process has progressed, but now it is stuck at some other point. It just hangs without giving me rescue shell
  3. I don't even know if it has used httpfs, all my echo messages are lost in fast scrolling output of qemu, and I am not able to scroll back and see, what was happening. I need to find some way to be able to see previous outputs. of qemu. I miss that feature seriously in qemu.

4 July

  1. I will need one of the two things to be able to do debugging properly for problem in hand.
    1. Scrolling support for qemu (so that I can see old outputs and my debug messages )
    2. dhcp support in virtual box (I presume that it is having some kind of scrolling support I tested and ALT+PG_UP does some scrolling up )
  2. Started my day with trying to find how to scroll in qemu, but nothing promising came out.
  3. Both of above ways are time consuming, so I have resolved to use one odd method, taking screen-shots and then checking the old messages, only thing I can say about this method is that, it gets my job done.
  4. Now, coming back to the problem, I will log the progress with Red Hat Here

QR Code
QR Code soc:2009:pravin:journal:week6 (generated for current page)