LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware - Installation (http://www.linuxquestions.org/questions/slackware-installation-40/)
-   -   VFS: Cannot open root device "801" or unknownblock(8,1). (http://www.linuxquestions.org/questions/slackware-installation-40/vfs-cannot-open-root-device-801-or-unknownblock-8-1-a-4175434342/)

stf92 10-27-2012 07:36 AM

VFS: Cannot open root device "801" or unknownblock(8,1).
 
Hi:

I have two hard disks in my machine. In primary-master, I have slack 12.0 and in primary-slave, slack 14.0, which I have just installed. I allowed the installer to write a lilo.conf through a series of questions he did.

These are the main lines left in lilo.conf:
Code:

boot=/dev/sda
root=/dev/sdb1    # slack 14

The system booted OK. However, I have IDE-ATAPI drives and in slack 12 they have always been called hd (hda, hdb) in my machine. Now I added, in a second image section,
Code:

root=/dev/sda1    # slack 12
First lilo told "the boot sector and the map file are in different disks". Then I commented out one of the image sections, ran lilo, uncommented after, ran agian and this time lilo did not complained. But while booting 14.0 did well, 12.0 when booting said: 'VFS: Cannot open root device "801" or unknownblock(8,1)'. Amy sugggestion?

EDIT: why did 12.0 saw the drives as /dev/hd and 14.0 sees them as /dev/sd? Is some scsi emulation being made?

allend 10-27-2012 08:06 AM

You have jumped from Slackware 12.0 to Slackware 14.0 and hit the libata switchover problem. http://alien.slackbook.org/blog/robb...tchover-howto/

Try changing 'root=/dev/sda1 # slack 12' to 'root=/dev/hda1 # slack 12' in your lilo.conf. You will need to use the lilo version in Slackware 14 to write the changes. The version of lilo in Slackware 12.0 will not handle the increased size of the kernel in Slackware 14.0.

stf92 10-27-2012 10:19 AM

I could give you another element of diagnostic: lilo is giving me 'The boot sector and map file are not on the same disks'. I understand the boot sector is the MBR. So, to have the boot sector in, e.g. /dev/sda is to have 'boot=/dev/sda' in lilo.conf, I think. And the location of the map file can be given lilo by means of 'map=/mnt/boot', though I don't know if I must give the path or the full path (/mnt/boot or /mnt/boot/map).

I'll try to add these modifications too, allend.

Another question, a bit off-topic I have for you: can the misuse of the map= option destroy data in one of the disks, I mean personal data such as an electronic book for example?

EDIT: I can't make lilo stop notifying 'The boot sector and map file are in different disks'. I've tried to put it in the global section and in the per-image section of the affected partition but uselessly. Is this file created by lilo. But he needs the old /boot/map, does he?

allend 10-27-2012 07:48 PM

My method for dealing with partitions is to create subdirectories in /boot and place copies of the relevant kernel and initrd in the subdirectories.

My system was initially set up with a Slackware 32 bit install. To boot my Slackware 64 bit install I have a subdirectory /boot/Slackware64/ which contains 'vmlinuz-generic-3.2.29' and 'initrd.gz'
My /etc/lilo.conf has
Code:

image = /boot/Slackware64/vmlinuz-generic-3.2.29
initrd = /boot/Slackware64/initrd.gz
label = Slackware64
root = /dev/sda11

When I am in my Slackware 64 bit install I have my Slackware 32 bit install mounted on /Slackware32. I can edit /Slackware32/etc/lilo.conf and then I use 'lilo -r /Slackware32' to rerun lilo. Note that you need the partition with the lilo.conf to be used to be mounted for the -r option to lilo to work.


All times are GMT -5. The time now is 11:00 AM.