boot root no /dev
Greetings helpful people, welcome to me your kindly list :)
I set up raid-1 on new drive /dev/sdb, and copied files from /dev/sda. I test boot to it with following grub.conf:
title Gentoo 2.6.18-r4-md
root (hd1,0)
kernel /2.6.18-gentoo-r4-md root=/dev/md1 dxs_support=5 video=mtrr,vesafb:1024x768
/dev/md1 corresponds to /dev/sd*2 which is root part. (/dev/sd*1 is /boot)
Kernel autodetects and reiserfs looks happy with it, then I get "Warning: unable to open an initial console." This an error that occurs in init/init.c after setting up the initial rootfs and freeing initial memory. After the warning init.c tries to run /sbin/init, /etc/init, /bin/init, or /bin/sh.
I believe it succeeds because then udev errors scroll by endlessly and killing things with magic-sysrq give me the impression that bash is running. So I get the impression that /dev/md1 got mounted automagically. I did create an empty /dev dir on md1 for /dev to mount to, but I didn't copy anything from original /dev (shouldn't have to right?) It just occurred to me to cd-boot and see if the original system is cheating with static /dev/ entries--it was originally a devfs system.
The kernel docs imply (it wouldn't be appropriate to be crystal clear) that there is always a default initramfs built in if not overridden, correct? In my source it looks like that would be:
---
# This is a very simple, default initramfs
dir /dev 0755 0 0
nod /dev/console 0600 0 0 c 5 1
dir /root 0700 0 0
# file /kinit usr/kinit/kinit 0755 0 0 # slink /init kinit 0755 0 0
---
in the course of my wanderings I tried making my own initramfs list with the addition of "nod /dev/md1 0600 0 0 b 9 1" which makes no difference.
in my kernel config:
CONFIG_INITRAMFS_SOURCE="/root/my_initramfs_list"CONFIG_INITRAMFS_ROOT_UID=0CONFIG_INITRAMFS_ROOT_GID=0
# CONFIG_BLK_DEV_RAM is not setCONFIG_BLK_DEV_INITRD=y
Note that sometime in 2.6.17 the CONFIG_BLK_DEV_RAM option was given to break out ramdisk from INITRD. CONFIG_BLK_DEV_INITRD now enables only initramfs by itself but it has to be enabled along with CONFIG_BLK_DEV_RAM if you want a ramdisk. Maybe I'll build a 2.6.16 md kernel and see what happens.
Is it required that this initramfs be built-in so that I have /dev nodes? How can I verify it is doing so? In init/initramfs.c it seems I should get a message from printk(KERN_INFO "Unpacking initramfs..."); which I never see even when successfully booting this kernel from /dev/sda.
Thanks for any assistance...