[ARMedslack] Missing files in "uinitrd-kirkwood" to support root file-system on SDHC card

Stuart Winter m-lists at biscuit.org.uk
Tue Feb 16 10:46:31 UTC 2010


Hi

>     cedric at metalplug:/dev/shm/initrd$ ls -l /dev/mmcblk0*
>     brw-rw---- 1 root disk 179, 0 2010-02-15 17:58 /dev/mmcblk0
>     brw-rw---- 1 root disk 179, 1 2010-02-15 17:58 /dev/mmcblk0p1
>     brw-rw---- 1 root disk 179, 2 2010-02-15 17:58 /dev/mmcblk0p2
>     brw-rw---- 1 root disk 179, 3 2010-02-15 17:58 /dev/mmcblk0p3

The /dev entries are absent because the mkinird is created
only for what is officially supported - installing onto a SCSI type
device, which is what my build machines have.  When the initrd is created,
the mkinitrd script looks at the system and creates the /dev entries
it needs to boot that particular system.

I'm surprised I haven't bumped into this situation before!
I thought I'd done quite well with producing generic initrd's ;-)

[..]
> In fact, I'm using the default uImage-kirkwood, I only have to add the
> "/dev/mmcblk*" nodes and the "mvsdio" module to the default
> uinitrd-kirkwood.

The mvsdio module will be added.

I considered adding static /dev entries in as part of the
kernel.SlackBuild script, but would be a dirty hack and wouldn't work
especially since not all mmc devices have 179 as their major device
number.

The best way to make this work is to either use udev in the initrd or use
busybox's "mdev -s" (preferable since udev is a bit chunky and mdev is
already there).  I was looking at the "/init" script inside the
initrd to figure out how to use mdev to populate /dev for us; as this will
work for your installation and will solve more complex setups.

Unfortunately I've just stiffed my spare sheevaplug so I can't test mdev
today, so I'll do it tomorrow.

-- 
Stuart Winter
Slackware ARM: www.armedslack.org


More information about the ARMedslack mailing list