Emulating the XO/Help and tips/Obsolete

From OLPC
< Emulating the XO‎ | Help and tips
Revision as of 13:06, 29 September 2007 by MitchellNCharity (talk | contribs) (+category emulation, developers)
Jump to: navigation, search

Builds between 445 and 48? -- Workaround for "Cannot find root filesystem!" preventing boot

Build 445 was the last version which booted cleanly under qemu (ticket). More recent builds require workarounds. Build 485 resolved one problem.

  • When booting on qemu, add root=/dev/hda to the grub kernel line. This needs to be done every time.
    1. When you start your xo disk image on qemu, you should see a blue grub screen, doing a "Booting .. in N seconds" countdown. Press space to interrupt it.
    2. Press e (edit). This will show you 3 lines.
    3. Move to the second, which begins "kernel". Press e. This will take you to the end of the kernel line.
    4. Add root=/dev/hda1 Then press enter.
    5. Press b to continue booting.
(This workaround avoids "WARNING: Cannot find root file system!", and being dropped into an emergency shell.)

Should add instructions to modify the image's grub config, so this doesn't need to be done every time you boot. MitchellNCharity 12:04, 3 July 2007 (EDT)

It might be worth gathering the currently scattered notes, into a single list of step by step instructions, for getting from nothing, to a pair of qemu images running with Xephyr's and ssh. MitchellNCharity 12:04, 3 July 2007 (EDT)

And some related content from elsewhere:

0. Press any key to interrupt the countdown to boot. Then,

  1. Press e.
  2. Press down-arrow to get the "kernel" line.
  3. Press e. This takes you to the end of the kernel command line.
  4. Type space and root=/dev/hda1
  5. Press Enter.
  6. Press b.
mv /boot/grub/grub.conf /boot/grub/grub.conf.orig
awk '/kernel/ {print $O,"root=/dev/hda1";next} {print}' < /boot/grub/grub.conf.orig > /boot/grub/grub.conf
grub-install hd0

If grub-install hangs, just kill it. It may even have worked anyway.

Fixed by 494.

Builds between 445 and 485, non-inclusive -- Workaround for netfs preventing boot

  • The boot currently hangs in rc netfs. So we disable it. This only needs to be done once.
    1. Get a shell. Do this by following the instructions below, but add a "2" to the end of the kernel line. So it is root=/dev/hda1 2
    2. Log in as root, no password.
    3. Then:
mv /etc/rc.d/rc3.d/S25netfs /etc/rc.d/rc3.d/DISABLED-S25netfs
mv /etc/rc.d/rc5.d/S25netfs /etc/rc.d/rc5.d/DISABLED-S25netfs
4. Done. Now restart qemu, following the instructions below.
(This workaround avoids the boot hanging after saying "Mounting other filesystems:".)

Fixed in build 485.