mkeddlinks is a simple utility which creates symlinks for the BIOS INT 13 devices present at the time the system booted. For example:
[root@dolphin /]# mkeddlinks [root@dolphin /]# ls -l /dev/bd* lrwxrwxrwx 1 root root 3 Sep 7 04:07 /dev/bda -> hda lrwxrwxrwx 1 root root 4 Sep 7 04:07 /dev/bda1 -> hda1 lrwxrwxrwx 1 root root 4 Sep 7 04:07 /dev/bda2 -> hda2 lrwxrwxrwx 1 root root 4 Sep 7 04:07 /dev/bda5 -> hda5 lrwxrwxrwx 1 root root 4 Sep 7 04:07 /dev/bda6 -> hda6 lrwxrwxrwx 1 root root 3 Sep 7 04:07 /dev/bdb -> hdc lrwxrwxrwx 1 root root 4 Sep 7 04:07 /dev/bdb1 -> hdc1 lrwxrwxrwx 1 root root 4 Sep 7 04:07 /dev/bdb2 -> hdc2 lrwxrwxrwx 1 root root 4 Sep 7 04:07 /dev/bdb5 -> hdc5 lrwxrwxrwx 1 root root 4 Sep 7 04:07 /dev/bdb6 -> hdc6
It is designed to be incorporated into initial ramdisk images (initrds) and to be run immediately before the root filesystem is mounted. The mount command can then use e.g. /dev/bda1 in order to mount the first partition from whichever device the system booted from, without needing to know where this device is currently attached.
You can obtain edd-utils from https://sourceforge.net/project/showfiles.php?group_id=176708&package_id=203341
mkeddlinks uses the information provided by the “edd” module in 2.6 kernels via the /sys/firmware/edd directory. It reads the “mbr_signature” file of each INT 13 device found via this directory, and matches it against the signature of all disks in the system (found via /proc/partitions). When a match is found, symlinks are created for the disk device and all partitions within the disk.
Please ask any questions on the etherboot-discuss mailing list at etherboot-discuss@lists.sourceforge.net