Prev: xfce menu editor?
Next: slack 13.0 DVD Burning
From: buck on 6 Dec 2009 23:48 add hard drives Micro HOWTO Original configuration: 4 Seagate 250 gig HDs (/dev/sda through /dev/sdd) 1 Seagate 750 gig HD (/dev/sde) 1 Plextor DVD Each HD has 2 primary partitions. The first partition uses cylinders 1 - 15 and the second consumes the remainder of the drive. /boot is in /dev/sda1 so that it is within the first 1024 cylinders for lilo, and sda1 is flagged bootable. Lilo is installed in the mbr of sda. /dev/sd[b-d]1 are set up as swap partitions. New configuration. Note that the new drives are wired such that they become /dev/sda through /dev/sdd, thus moving up the original drives from /dev/sd[a-d]; now they are /dev/sd[e-h]. 4 WD 640 gig HDs 4 Seagate 250 gig HDs 1 Seagate 750 gig HD 1 Plextor DVD Problem: When I added the 4 new hard drives, I got errors running lilo: "fatal: open /dev/sdf: no such file or directory" "linux experimental device 0x04x needs to be defined". Solution: Boot an appropriate Slackware install media. I used a Slackware-13.0 CD. Run setup and select TARGET to be sure the desired partition is visible. In this case, / (root) is a volume group and running setup is necessary for the VG to be visible. Exit setup without doing anything. Create a temporary directory: "mkdir /mountpoint". Mount the root partition there: "mount /dev/vg/root /mountpoint". Change root to /mountpoint: "chroot /mountpoint". List the sd devices (thanks to Grant for the "heads up") because, although the CD boot may correctly set up /dev for all drives, it is unlikely that the partition in your chroot environment has all needed entries in /dev: "ls -l /dev/sd*". Udev will not run in the chroot, so use mknod to create the necessary entries. Note that the increment for each drive is 16 and for each partition is 1. From my reading, it appears that the maximum number of partitions for "sd" devices is 15: mknod /dev/sdf b 8 80 mknod /dev/sdf1 b 8 81 mknod /dev/sdf2 b 8 82 mknod /dev/sdg b 8 96 mknod /dev/sdg1 b 8 97 mknod /dev/sdg2 b 8 98 mknod /dev/sdh b 8 112 mknod /dev/sdg1 b 8 113 mknod /dev/sdg2 b 8 114 mknod /dev/sdi b 8 128 mknod /dev/sdg1 b 8 129 mknod /dev/sdg2 b 8 130 Edit /etc/fstab and alter the entries to account for the changes in drive letters. Because /boot is in its own partition, mount it in the chroot environment. This is what stops the lilo error "linux experimental device 0x04x needs to be defined" (thanks to redtricycle): "mount /dev/sde1 /boot" and "ls /boot". Edit /etc/lilo.conf. Here are the uncommented lines from mine. I don't know if all those "disk=" lines are necessary and I don't give a damn because running lilo succeeded with them present. I do know that only the first 7 devices are seen by the motherboard BIOS, so I defined 'em. Note that the "bios=" entries are bogus because 0x80 is really a WD 640 gig HD which is /dev/sda, and that /dev/sde really should be 0x84. But since the BIOS sees only 7 devices, the maximum usable value is 0x86 where 0x88 would be "correct". It seems realistic to believe that only the "/dev/sdi" line is necessary because that drive is not seen by the BIOS and it contains the root filesystem of one of the boot options in lilo.conf. I'll experiment with removing the "disk=" lines now that mknod has been run to see if running lilo succeeds without them: append=" vt.default_utf8=0" boot = /dev/sde bitmap = /boot/slack.bmp bmp-colors = 255,0,255,0,255,0 bmp-table = 60,6,1,16 bmp-timer = 65,27,0,255 prompt timeout = 60 change-rules reset disk=/dev/sde bios=0x80 sectors=63 heads=255 cylinders=30401 max- partitions=15 disk=/dev/sdf bios=0x81 sectors=63 heads=255 cylinders=30401 max- partitions=15 disk=/dev/sdg bios=0x82 sectors=63 heads=255 cylinders=30401 max- partitions=15 disk=/dev/sdh bios=0x83 sectors=63 heads=255 cylinders=30401 max- partitions=15 disk=/dev/sdi bios=0x84 sectors=63 heads=255 cylinders=90201 max- partitions=15 vga = normal image = /boot/bzImage-2.6.28.7-smp initrd = /boot/newinitrd.gz root= /dev/vg/root label = Linux-2.6.28.7 read-only image = /boot/vmlinuz750-generic-smp-2.6.27.7-smp append=" 1" initrd = /boot/initrd750.gz root= /dev/VG/root label = Linux750Single read-only image = /boot/bzImage-2.6.27.7-smp initrd = /boot/initrd.gz root= /dev/vg/root label = Linux-2.6.27.7 read-only image = /boot/vmlinuz initrd = /boot/fallbk.gz root = /dev/vg/root label = FallBack read-only Run lilo. Assuming it succeeds, exit from the chroot. Reboot. I make no promises that this will work for you, but it worked for me.
From: buck on 7 Dec 2009 14:29 buck <buck(a)private.mil> wrote in news:hfi1fh01pn(a)news1.newsguy.com: > Edit /etc/lilo.conf. Here are the uncommented lines from mine. I > don't know if all those "disk=" lines are necessary and I don't give a > damn because running lilo succeeded with them present. I do know > disk=/dev/sde bios=0x80 sectors=63 heads=255 cylinders=30401 max- > partitions=15 > disk=/dev/sdf bios=0x81 sectors=63 heads=255 cylinders=30401 max- > partitions=15 > disk=/dev/sdg bios=0x82 sectors=63 heads=255 cylinders=30401 max- > partitions=15 > disk=/dev/sdh bios=0x83 sectors=63 heads=255 cylinders=30401 max- > partitions=15 > disk=/dev/sdi bios=0x84 sectors=63 heads=255 cylinders=90201 max- None of the above "disk=" lines is necessary. The real trick is to chroot, make sure /dev is correct and that /boot is mounted, then run lilo. -- buck
|
Pages: 1 Prev: xfce menu editor? Next: slack 13.0 DVD Burning |