LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   Slackware64 13.1 - won't boot after update - VFS Cannot open root device (https://www.linuxquestions.org/questions/slackware-14/slackware64-13-1-wont-boot-after-update-vfs-cannot-open-root-device-839622/)

khinch 10-21-2010 03:31 PM

Slackware64 13.1 - won't boot after update - VFS Cannot open root device
 
Hi, I have been trialling Slack 13.1 on a spare 32b system for a couple of weeks, and today I took the plunge and put it on my main machine. I completely re-partitioned the drive (using the Slack disk) and installed Windows7 on one partition and Slack 13.1 on another. The install worked fine and I tested that it boots from LILO into both Windows and Slack perfectly. I then ran:

slackpkg update
slackpkg install-new
slackpkg upgrade-all

And since then it fails to boot with the following:

Code:

VFS: Cannot open root device "802" or unknown block(8,2)
Please append a correct "root=" boot option; here are the available partitions:
0840 488386584 sde driver: sd
0841  97659103 sde1
0842  19535040 sde2
0843    498015 sde3
0844        1 sde4
0845 350586463 sde5
0846  20105316 sde6
0b00 1048575 sr0 driver: sr
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(8,2)
Pid: 1, comm: swapper Not tainted 2.6.35.7 #3
Call Trace:
[<ffffffff81a4195e>] panic+0x90/0x103
[<ffffffff821130b2>] mouand the first thing I did after a couple of reboots nt_block_root+0x1d4/0x288
[<ffffffff8211333e>] mount_root+0xa0/0xa4
[<ffffffff821134b2>] prepare_namespace+0x170/0x1a9
[<ffffffff82112e0f>] kernel_init+0x1ca/0x1da
[<ffffffff81003714>] kernel_thread_helper+0x4/0x10
[<ffffffff82112c45>] ? kernel_init-0x0/0x1da
[<ffffffff81003710>] ? kernel_thread_helper+0x0/0x10

At this point the system locks - no keys are responsive, caps lock and num lock will not respond. CTRL+ALT+DEL does nothing. ALT+SysRq+B does nothing.

It updated the kernel during the update, but I let it run LILO when prompted. If I choose Windows instead of Linux it boots fine, this only happens with Linux. I can successfully boot if I use the Slack install disk and type "huge.s root=/dev/sda2 rdinit= ro" like the boot screen suggests, so I have access to the boot files etc.

If I type "fdisk -l /dev/sda" it looks like this:
Code:

  Device Boot  Start    End    Blocks ID  System
/dev/sda1    *      1  12158  97659103+  7  HPFS/NTFS
/dev/sda2      12159  14590  19535040  83  Linux
/dev/sda3      14591  14652    498015  82  Linux swap
/dev/sda4      14653  60801 370691842+  5  Extended
/dev/sda5      14653  58298 350586463+ 83  Linux
/dev/sda6      58299  60801  20105316  83  Linux

Lilo.conf looks like this (condensed for quickness):
Code:

# Windows
other = /dev/sda1
label = windows
table = /dev/sda
#Linux
image = /boot/vmlinuz
root = /dev/sda2
label = Linux

Does anyone have any suggestions please? I have seen many, many similar problems when searching Google but they all seem to be caused by different things.

Alien Bob 10-21-2010 03:48 PM

One thing to note is that you are no longer running Slackware 13.1 (the most recent stable release) but instead, you let slackpkg upgrade your computer to slackware-current (the development release):
Code:

Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(8,2)
Pid: 1, comm: swapper Not tainted 2.6.35.7 #3

The 2.6.35.7 kernel is the kernel version of slackware-current.

What happened during the upgrade, I don't know. One thing I notice is that the new kernel thinks your drive is /dev/sde instead of /dev/sda - that is the reason why the root filesystem can not be found (lilo will be looking for /dev/sda). If that is correct, you will have to boot your computer with the string "linux root=/dev/sde2" at the lilo prompt to force the use of the changed drive name.

If that gets you further, the next issue will be updating your /etc/lilo and /etc/fstab to use /dev/sde instead of /dev/sda, or to find out why this change of device name happened, and fix that.

Eric

khinch 10-21-2010 05:03 PM

Thanks for the reply.

I changed lilo.conf lines from:

"boot = /dev/sda" to "boot = /dev/sde"
and
"root = /dev/sda2" to "root = /dev/sde2"

But it was still exactly the same. I don't know if this is relevant, but the next time I tried to boot from the disk I am sure I typed "huge.s root=/dev/sda2 rdinit= ro" exactly as before, and this time it failed with almost exactly the same message but listed "sda" where it was "sde" last time, and it referenced kernel version 2.6.33.4. I rebooted from the disk and ran the same command again and it booted successfully. Unless I made a typo the first time but I was pretty careful.

Anyway, thanks for the info about the updates, I thought that the current one was for the most recent release and didn't realise it was for development. After reading your reply I have checked the mirrors file and only just noticed the 13.1 up near the top. I'll fresh install tomorrow and run the stable update properly and see what happens.

Does the updater keep a log somewhere? I can look for it if anyone on the development team is interested in what went wrong.

khinch 10-22-2010 06:11 AM

I reinstalled this morning and updated from a mirror in the 13.1 section - all is well. I'm hesitant to mark this thread as solved though, it would be misleading as I have swerved the problem rather than fixed it.

folkenfanel 11-12-2010 12:36 PM

Hello there
 
I was testing my kernel config with 2.6.35.7; after many times trying to figure out why it kept giving me a kernel panic, I found this thread and entered another disk at the lilo prompt

Slack2635 root=/dev/sdb5

It booted normally to a maintenance prompt (but not to a kernel panic telling me that it couldn't find 8,5), so I guessed this was the problem. Next I booted to Slack (as the maintenance login had the silesystem as read-only) and modified my fstab to use /dev/sdb5 instead of /dev/sda5 as my root device. Now it booted with no problems, in fact I'm writing these lines from this very box.

I do not know what happened (yet), but I did notice I have a small 8MB disk labeled as sda.

Code:

root@rehavam-b:~# fdisk -l /dev/sda

Disk /dev/sda: 8 MB, 8388608 bytes
8 heads, 32 sectors/track, 64 cylinders
Units = cylinders of 256 * 512 = 131072 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 32768 bytes
Disk identifier: 0x00000000

Disk /dev/sda doesn't contain a valid partition table

I doubt this could be a ramdisk, as I normally use a ramdisk device. It's certainly not because of async scan, (something that I first thought as I normally used async scan on 2.6.33 with no problems), since I purposely deactivated async scan on this specific kernel config. I guess this problem could be related to some new method of device naming on 2.6.35.

The stock Slackware kernel from /current does boot on /dev/sda with no problems whatsoever.

Here is my config (only relevant lines)

Code:

CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_FD=y
# CONFIG_PARIDE is not set
# CONFIG_BLK_CPQ_DA is not set
# CONFIG_BLK_CPQ_CISS_DA is not set
# CONFIG_BLK_DEV_DAC960 is not set
CONFIG_BLK_DEV_UMEM=m
# CONFIG_BLK_DEV_COW_COMMON is not set
CONFIG_BLK_DEV_LOOP=m
# CONFIG_BLK_DEV_CRYPTOLOOP is not set
# CONFIG_BLK_DEV_DRBD is not set
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_SX8 is not set
# CONFIG_BLK_DEV_UB is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=1
CONFIG_BLK_DEV_RAM_SIZE=1024
# CONFIG_BLK_DEV_XIP is not set
CONFIG_CDROM_PKTCDVD=y

# SCSI device support
#
CONFIG_SCSI_MOD=y
# CONFIG_RAID_ATTRS is not set
CONFIG_SCSI=y
CONFIG_SCSI_DMA=y
CONFIG_SCSI_TGT=y
CONFIG_SCSI_NETLINK=y
# CONFIG_SCSI_PROC_FS is not set

#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=y
# CONFIG_CHR_DEV_ST is not set
# CONFIG_CHR_DEV_OSST is not set
CONFIG_BLK_DEV_SR=y
# CONFIG_BLK_DEV_SR_VENDOR is not set
CONFIG_CHR_DEV_SG=m
# CONFIG_CHR_DEV_SCH is not set
# CONFIG_SCSI_ENCLOSURE is not set
# CONFIG_SCSI_MULTI_LUN is not set
# CONFIG_SCSI_CONSTANTS is not set
# CONFIG_SCSI_LOGGING is not set
# CONFIG_SCSI_SCAN_ASYNC is not set
CONFIG_SCSI_WAIT_SCAN=m

#
# SCSI Transports
#
CONFIG_SCSI_SPI_ATTRS=y
CONFIG_SCSI_FC_ATTRS=y
# CONFIG_SCSI_FC_TGT_ATTRS is not set
CONFIG_SCSI_ISCSI_ATTRS=y
CONFIG_SCSI_SAS_ATTRS=y
CONFIG_SCSI_SAS_LIBSAS=y
# CONFIG_SCSI_SAS_ATA is not set
# CONFIG_SCSI_SAS_HOST_SMP is not set
# CONFIG_SCSI_SAS_LIBSAS_DEBUG is not set
CONFIG_SCSI_SRP_ATTRS=m
# CONFIG_SCSI_SRP_TGT_ATTRS is not set
CONFIG_SCSI_LOWLEVEL=y
CONFIG_ISCSI_TCP=m
CONFIG_SCSI_CXGB3_ISCSI=m
# CONFIG_SCSI_BNX2_ISCSI is not set
CONFIG_BE2ISCSI=m
CONFIG_BLK_DEV_3W_XXXX_RAID=y
CONFIG_SCSI_HPSA=y
CONFIG_SCSI_3W_9XXX=y
CONFIG_SCSI_3W_SAS=y
CONFIG_SCSI_ACARD=y
CONFIG_SCSI_AACRAID=y
CONFIG_SCSI_AIC7XXX=y
CONFIG_AIC7XXX_CMDS_PER_DEVICE=4
CONFIG_AIC7XXX_RESET_DELAY_MS=1500
# CONFIG_AIC7XXX_DEBUG_ENABLE is not set
CONFIG_AIC7XXX_DEBUG_MASK=0
CONFIG_AIC7XXX_REG_PRETTY_PRINT=y
CONFIG_SCSI_AIC7XXX_OLD=y
CONFIG_SCSI_AIC79XX=y
CONFIG_AIC79XX_CMDS_PER_DEVICE=4
CONFIG_AIC79XX_RESET_DELAY_MS=1500
# CONFIG_AIC79XX_DEBUG_ENABLE is not set
CONFIG_AIC79XX_DEBUG_MASK=0
CONFIG_AIC79XX_REG_PRETTY_PRINT=y
# CONFIG_SCSI_AIC94XX is not set
# CONFIG_SCSI_MVSAS is not set
CONFIG_SCSI_DPT_I2O=m
CONFIG_SCSI_ADVANSYS=y
CONFIG_SCSI_ARCMSR=y
# CONFIG_SCSI_ARCMSR_AER is not set
# CONFIG_MEGARAID_NEWGEN is not set
CONFIG_MEGARAID_LEGACY=y
CONFIG_MEGARAID_SAS=y
# CONFIG_SCSI_MPT2SAS is not set
CONFIG_SCSI_HPTIOP=y
CONFIG_SCSI_BUSLOGIC=y
# CONFIG_SCSI_FLASHPOINT is not set
CONFIG_VMWARE_PVSCSI=y
CONFIG_LIBFC=m
CONFIG_LIBFCOE=m
CONFIG_FCOE=m
CONFIG_FCOE_FNIC=m
CONFIG_SCSI_DMX3191D=m
CONFIG_SCSI_EATA=y
CONFIG_SCSI_EATA_TAGGED_QUEUE=y
CONFIG_SCSI_EATA_LINKED_COMMANDS=y
CONFIG_SCSI_EATA_MAX_TAGS=16
CONFIG_SCSI_FUTURE_DOMAIN=y
CONFIG_SCSI_GDTH=y
CONFIG_SCSI_IPS=y
CONFIG_SCSI_INITIO=y
CONFIG_SCSI_INIA100=y
CONFIG_SCSI_PPA=m
CONFIG_SCSI_IMM=m
# CONFIG_SCSI_IZIP_EPP16 is not set
# CONFIG_SCSI_IZIP_SLOW_CTR is not set
CONFIG_SCSI_STEX=y
CONFIG_SCSI_SYM53C8XX_2=y
CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
CONFIG_SCSI_SYM53C8XX_MMIO=y
CONFIG_SCSI_IPR=y
CONFIG_SCSI_IPR_TRACE=y
CONFIG_SCSI_IPR_DUMP=y
CONFIG_SCSI_QLOGIC_1280=y
CONFIG_SCSI_QLA_FC=y
CONFIG_SCSI_QLA_ISCSI=y
CONFIG_SCSI_LPFC=y
# CONFIG_SCSI_LPFC_DEBUG_FS is not set
# CONFIG_SCSI_DC395x is not set
CONFIG_SCSI_DC390T=y
CONFIG_SCSI_NSP32=y
CONFIG_SCSI_DEBUG=y
CONFIG_SCSI_PMCRAID=y
CONFIG_SCSI_PM8001=y
CONFIG_SCSI_SRP=y
CONFIG_SCSI_BFA_FC=y
# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
# CONFIG_SCSI_DH is not set
# CONFIG_SCSI_OSD_INITIATOR is not set
CONFIG_ATA=y
# CONFIG_ATA_NONSTANDARD is not set
CONFIG_ATA_VERBOSE_ERROR=y
CONFIG_ATA_ACPI=y
CONFIG_SATA_PMP=y

#
# Controllers with non-SFF native interface
#
CONFIG_SATA_AHCI=y
CONFIG_SATA_AHCI_PLATFORM=y
CONFIG_SATA_INIC162X=y
CONFIG_SATA_SIL24=y
CONFIG_ATA_SFF=y

#
# SFF controllers with custom DMA interface
#
CONFIG_PDC_ADMA=y
CONFIG_SATA_QSTOR=y
CONFIG_SATA_SX4=y
CONFIG_ATA_BMDMA=y

#
# SATA SFF controllers with BMDMA
#
CONFIG_ATA_PIIX=y
CONFIG_SATA_MV=y
CONFIG_SATA_NV=y
CONFIG_SATA_PROMISE=y
CONFIG_SATA_SIL=y
CONFIG_SATA_SIS=y
CONFIG_SATA_SVW=y
CONFIG_SATA_ULI=y
CONFIG_SATA_VIA=y
CONFIG_SATA_VITESSE=y

#
# PATA SFF controllers with BMDMA
#
CONFIG_PATA_ALI=y
CONFIG_PATA_AMD=y
CONFIG_PATA_ARTOP=y
CONFIG_PATA_ATIIXP=y
CONFIG_PATA_ATP867X=y
CONFIG_PATA_CMD64X=y
CONFIG_PATA_CS5520=y
CONFIG_PATA_CS5530=y
CONFIG_PATA_CS5535=y
CONFIG_PATA_CS5536=y
CONFIG_PATA_CYPRESS=y
CONFIG_PATA_EFAR=y
CONFIG_PATA_HPT366=y
CONFIG_PATA_HPT37X=y
CONFIG_PATA_HPT3X2N=y
CONFIG_PATA_HPT3X3=y
# CONFIG_PATA_HPT3X3_DMA is not set
CONFIG_PATA_IT8213=y
CONFIG_PATA_IT821X=y
CONFIG_PATA_JMICRON=y
CONFIG_PATA_MARVELL=y
CONFIG_PATA_NETCELL=y
CONFIG_PATA_NINJA32=y
CONFIG_PATA_NS87415=y
CONFIG_PATA_OLDPIIX=y
CONFIG_PATA_OPTIDMA=y
CONFIG_PATA_PDC2027X=y
CONFIG_PATA_PDC_OLD=y
CONFIG_PATA_RADISYS=y
CONFIG_PATA_RDC=y
CONFIG_PATA_SC1200=y
CONFIG_PATA_SCH=y
CONFIG_PATA_SERVERWORKS=y
CONFIG_PATA_SIL680=y
CONFIG_PATA_SIS=y
# CONFIG_PATA_TOSHIBA is not set
CONFIG_PATA_TRIFLEX=y
CONFIG_PATA_VIA=y
CONFIG_PATA_WINBOND=y

#
# PIO-only SFF controllers
#
# CONFIG_PATA_CMD640_PCI is not set
CONFIG_PATA_MPIIX=y
CONFIG_PATA_NS87410=y
CONFIG_PATA_OPTI=y
CONFIG_PATA_PCMCIA=y
CONFIG_PATA_RZ1000=y

#
# Generic fallback / legacy drivers
#
CONFIG_PATA_ACPI=y
CONFIG_ATA_GENERIC=y
CONFIG_PATA_LEGACY=y
CONFIG_MD=y
CONFIG_BLK_DEV_MD=y
# CONFIG_MD_AUTODETECT is not set
# CONFIG_MD_LINEAR is not set
# CONFIG_MD_RAID0 is not set
# CONFIG_MD_RAID1 is not set
# CONFIG_MD_RAID10 is not set
# CONFIG_MD_RAID456 is not set
# CONFIG_MD_MULTIPATH is not set
# CONFIG_MD_FAULTY is not set
CONFIG_BLK_DEV_DM=y
# CONFIG_DM_DEBUG is not set
# CONFIG_DM_CRYPT is not set
# CONFIG_DM_SNAPSHOT is not set
# CONFIG_DM_MIRROR is not set
# CONFIG_DM_ZERO is not set
# CONFIG_DM_MULTIPATH is not set
# CONFIG_DM_DELAY is not set
# CONFIG_DM_UEVENT is not set
# CONFIG_FUSION is not set

My guess is that I have to somehow get rid of that obnoxious little disk.

folkenfanel 11-13-2010 12:27 AM

Update: Without the SCSI lowlevel drivers, the small disk dissappears
 
I don't quite know -yet- which driver causes that thing to be, but I managed to boot my 2.6.35 on sda by not using any SCSI lowlevel drivers, since I use SATA (ahci), not pure SCSI as my primary disk, and I saw that sh&/&(/(&/ty disk registers as the scsi0 device.

This didn't happen with 2.6.33 and I plan to reactivate the SCSI lowlevel driver on my kernel (just in case), after I figure out which driver creates that disk.

Ramurd 11-13-2010 04:31 AM

Hint: could it be a ramdisk? Next time you check this out, check out what you can find about this disk. (in dmesg there ought to be some info about what this 8MB sda disk is)

wildwizard 11-13-2010 03:21 PM

Linux has the ram disk as device 1, device 8 is something that is under the SCSI layer which could be nearly anything (else).

With 8MB I'm thinking a flash drive is attached to the machine and is causing the problem.

You need to read back the console messages (or use dmesg) to find out what the extra device is.

FYI the fdisk out put also looks nothing like a ram disk
1. It should complain on first running about no valid partition table
2. Fdisk should create a disk identifier at start not leave it at 0x00000000
3. I/O size should be 512/512 not 512/32768
4. On x86_64 (possibly x86 as well) ram disk size is 16MB not 8MB

folkenfanel 11-13-2010 04:25 PM

I also thought it was a ramdisk, it is not.
 
My ramdisk is 1MB large, so that rules out the possibility of that entity being a ramdisk. It is something created by one of the lowlevel SCSI drivers, I just don't know which one -yet. I will, however, try those drivers until I find it.


All times are GMT -5. The time now is 05:31 AM.