[OLPC-devel] development stream builds

John R. jhoger at gmail.com
Thu Jun 29 13:39:59 EDT 2006


Does anyone have good instructions for getting a development build to
boot on OLPC hardware?

The latest build doesn't boot from usb hard drive as-is. First I had
to change the name of the initrd and/or edit the grub config to remove
"-desktop" portion of the name since nothing in /boot matched the
default in grub. I created a new initrd which includes the usb drivers
per the instructions here:
http://wiki.laptop.org/index.php/Installing_Fedora_Core#Setting_up_a_bootable_image
I had to hunt around for some of the modules, so I guess things have
diverged since these instructions were written.

It's still failing, stopping with a kernel panic at:

RAMDISK: Couldn't find valid RAM disk image starting at 0.
VFS: Cannot open root device "sda1" or unknown-block (0,0)
Please append a correct "root=" boot option
Kernel panic -not syncing: VFS: Unable to mount root fs on unknown-block (0,0)
...

I'm using
olpc-stream-development-34-20060622_1017-ext3.img

I'm probably doing something wrong in the init file. Does anyone have
a working init that I could use? I've pasted my current guess at an
init at the end of this message.

-- John.

#!/bin/nash

mount -t proc /proc /proc
setquiet
echo Mounting proc filesystem
echo Mounting sysfs filesystem
mount -t sysfs /sys /sys
echo Creating /dev
mount -o mode=0755 -t tmpfs /dev /dev
mkdir /dev/pts
mount -t devpts -o gid=5,mode=620 /dev/pts /dev/pts
mkdir /dev/shm
mkdir /dev/mapper
echo Creating initial device nodes
mknod /dev/null c 1 3
mknod /dev/zero c 1 5
mknod /dev/systty c 4 0
mknod /dev/tty c 5 0
mknod /dev/console c 5 1
mknod /dev/ptmx c 5 2
mknod /dev/rtc c 10 135
mknod /dev/tty0 c 4 0
mknod /dev/tty1 c 4 1
mknod /dev/tty2 c 4 2
mknod /dev/tty3 c 4 3
mknod /dev/tty4 c 4 4
mknod /dev/tty5 c 4 5
mknod /dev/tty6 c 4 6
mknod /dev/tty7 c 4 7
mknod /dev/tty8 c 4 8
mknod /dev/tty9 c 4 9
mknod /dev/tty10 c 4 10
mknod /dev/tty11 c 4 11
mknod /dev/tty12 c 4 12
mknod /dev/ttyS0 c 4 64
mknod /dev/ttyS1 c 4 65
mknod /dev/ttyS2 c 4 66
mknod /dev/ttyS3 c 4 67
mknod /dev/sda  b 8 0
mknod /dev/sda1 b 8 1
mknod /dev/sda2 b 8 2

echo Setting up hotplug.
hotplug
echo Creating block device nodes.
mkblkdevs
mount -t usbfs /proc/bus/usb /proc/bus/usb
echo "Loading ehci-hcd.ko module"
insmod /lib/ehci-hcd.ko
echo "Loading ohci-hcd.ko module"
insmod /lib/ohci-hcd.ko
echo "Loading scsi_mod.ko module"
insmod /lib/scsi_mod.ko
echo "Loading sd_mod.ko module"
insmod /lib/sd_mod.ko
echo "Loading usb-storage.ko module"
insmod /lib/usb-storage.ko
echo Waiting for driver initialization.
stabilized /proc/bus/usb/devices
echo Waiting for driver initialization in case stabilize does not work
sleep 12
echo "Loading jbd.ko module"
insmod /lib/jbd.kohotplug
echo Creating root device.
mkrootdev -t auto -o defaults,ro /dev/root
echo Mounting root filesystem.
mount /sysroot
echo Setting up other filesystems.
setuproot
echo Switching to new root and running init.
switchroot



More information about the Devel mailing list