* Look for the CD-ROM in /sys/block, not /sys/devices. Don't look for

a "media" file since SCSI CD-ROM drives don't have it (and
  supposedly it's going away in IDE too).
* Create the device node automatically from the "dev" file in
  /sys/block/$bla.  

svn path=/nixos/trunk/; revision=7473
This commit is contained in:
Eelco Dolstra 2006-12-23 01:16:39 +00:00
parent 6afa8d776d
commit 11e4d36db1
2 changed files with 11 additions and 33 deletions

View file

@ -73,15 +73,20 @@ if test -n "@autoDetectRootDevice@"; then
# Look for the root device by label.
echo "probing for the NixOS installation CD..."
for i in /sys/devices/*/*/media; do
if test "$(cat $i)" = "cdrom"; then
for i in /sys/block/*; do
if test "$(cat $i/removable)" = "1"; then
# Hopefully `drivename' matches the device created in /dev.
devName=/dev/$(cat $(dirname $i)/drivename)
echo " in $(basename $i)..."
echo " in $devName..."
set -- $(IFS=: ; echo $(cat $i/dev))
major="$1"
minor="$2"
if mount -n -o ro -t iso9660 $devName /mnt/root; then
# Create a device node for this device.
rm -f /dev/tmpdev
mknod /dev/tmpdev b "$major" "$minor"
if mount -n -o ro -t iso9660 /dev/tmpdev /mnt/root; then
if test -e "/mnt/root/@rootLabel@"; then
found=1
break

View file

@ -13,30 +13,3 @@ mknod -m 0600 /dev/tty c 5 0
if ! test -e /dev/console; then
mknod -m 0600 /dev/console c 5 1
fi
mknod -m 0660 /dev/hda b 3 0
mknod -m 0660 /dev/hda1 b 3 1
mknod -m 0660 /dev/hda2 b 3 2
mknod -m 0660 /dev/hda3 b 3 3
mknod -m 0660 /dev/hdb b 3 64
mknod -m 0660 /dev/hdb1 b 3 65
mknod -m 0660 /dev/hdb2 b 3 66
mknod -m 0660 /dev/hdb3 b 3 67
mknod -m 0660 /dev/hdc b 22 0
mknod -m 0660 /dev/hdc1 b 22 1
mknod -m 0660 /dev/hdc2 b 22 2
mknod -m 0660 /dev/hdc3 b 22 3
mknod -m 0660 /dev/hdd b 22 64
mknod -m 0660 /dev/hdd1 b 22 65
mknod -m 0660 /dev/hdd2 b 22 66
mknod -m 0660 /dev/hdd3 b 22 67
mknod -m 0660 /dev/sda b 8 0
mknod -m 0660 /dev/sda1 b 8 1
mknod -m 0660 /dev/sda2 b 8 2
mknod -m 0660 /dev/sda3 b 8 3
mknod -m 0660 /dev/sr0 b 11 0