LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware - Installation (https://www.linuxquestions.org/questions/slackware-installation-40/)
-   -   Trouble booting with lilo using usb-installer on slackware64-14.0 (https://www.linuxquestions.org/questions/slackware-installation-40/trouble-booting-with-lilo-using-usb-installer-on-slackware64-14-0-a-4175445501/)

cheese.burger 01-14-2013 02:50 AM

Trouble booting with lilo using usb-installer on slackware64-14.0
 
Hi All,
Thanks for your time. This is my first Slackware install.

I've seen similar issues on the forum but havn't find a solution to my
problem. This is day 3. I've tried everything I found on google at
least 3 times.

I can't boot after using the usb-installer. I tried different things, here's what I've done:

1. I'm installing Slackware64-14.0 using the usbboot.img dd'd to a usb stick

2. Installing onto a HP ProLiant MicroServer with a 1500Mhz AMD Turion
II Newo N40L processor, it's got a AMD nee ATI SATA controller with
a 250Gb drive. No DVD/CD or access to external one. USB install is
only option. The internal harddrive is picked up as /dev/sdb and
the install usb as /dev/sda

3. I partitioned a root partition with 10Gb on first primary
partition, id 83 filesystem ext4.

4. I mounted a second USB drive with downloaded source and installed
from a pre-mounted directory, downloaded from mirror ftp.is.co.za

5. Installation went fine up to lilo configuration. Kept on saying:
sh: lilo: command not found

6. I tried "simple" lilo installation on MBR with error:
Fatal: Bios device code 0x80 is being used by two disks
/dev/sdb (0x0810) and /dev/sda (0x0800)

7. I tried "expert"
7a. Location to install lilo: /dev/sdb
7b. Partition to boot: /dev/sdb1
Installation seemed to work

8. Booting up to Kernel panic with following message:
VFS: Cannot open root device "811" or unknown-block(8,17)
Please append a correct "root=" boot option

9. Tried to boot with 'boot disk' and installation disk with no
success

10. Boot with installation disk and chroot into /dev/sdb1
lilo.conf looked like this:

boot = /dev/sdb
...some stuff
image = /boot/vmlinuz
root = /dev/sdb1
label = Linux
read-only

11. Changed lilo to:

boot = /dev/sdb
...some stuff
image = /boot/vmlinuz
root = /dev/sda1
label = Linux
read-only

and ran lilo again
But got:
Fatal: Illegal 'root=' specification: /dev/sda1

12. Tried to add:
append="root=UUID=xxx-my-disk-id-xxx"

Got same kernel panic

13. Stumped?

whizje 01-14-2013 05:02 AM

In the BIOS in the Advanced menu screen, select IDE Configuration and then set the SATA Controller Mode field to Sata or ide.

cheese.burger 01-14-2013 05:50 AM

Thanks for the suggestion whizje, I tried it and got to the same kernel panic. I should probably redo something I did before? Probably the fact that my lilo root points to sdb1 and not sda1? But how do I get lilo to write to sdb MBR but have root as root=/dev/sda1. At the moment it reads:

boot = /dev/sdb
...some stuff
image = /boot/vmlinuz
root = /dev/sdb1
label = Linux
read-only

whizje 01-14-2013 06:17 AM

Could you try a reinstall with 'SATA Controller Mode' : AHCI in the bios more info http://www.microlinux.fr/slackware/L...rver-HOWTO.txt and letting lilo figuring automatic the configuration.

cheese.burger 01-14-2013 07:49 AM

I tried reinstalling with 'SATA Controller Mode' : IDE (previously is was AHCI)

And tried "simple" lilo installation on MBR but again got error:

Fatal: Bios device code 0x80 is being used by two disks
/dev/sdb (0x0810) and /dev/sda (0x0800)

I will try the same again with 'SATA Controller Mode' : AHCI shortly.

Alien Bob 01-14-2013 08:30 AM

What seems to happen if you plug in a USB disk and boot up the computer is that the USB stick gets assigned /dev/sda and the internal harddisk gets assigned /dev/sdb .

This is different from a boot without the USB stick inserted, your internal hard disk will get assigned /dev/sda in that case. And this is why you are getting the boot error - LILO is telling the kernel to look for /dev/sdb1 as the root filesystem's partition but there is no longer a /dev/sdb ...

What you can try is boot the computer and at the LILO prompt type the following before pressing ENTER (I assume that "linux" is the name of the label that you used to boot the default kernel configuration, adapt it to your real situation):
Code:

linux root=/dev/sda1
This "root" assignment should hopefully be carried forward by LILO to your kernel and your computer should boot normally. If it boots, you login, and then you should immediately edit the file /etc/lilo.conf to replace all occurrences of "/dev/sdb" with "/dev/sda" and when you have done that, you need to run the command "lilo". That will fix the issue permanently.

If adding the "root" parameter does not help, then there are some more things to try but I'll keep that for later.

Eric

cheese.burger 01-14-2013 09:26 AM

Bios settings:
> 'CPU configuration'
'Secure Virtual Machine Mode' : disabled (was enabled)
'Active Processor Cores': All
'Channel Interleaving': Auto
'PowerNow': disabled
'C1E Support: disabled
> 'IDE Configuration'
'SATA Controller Mode': AHCI
'Embedded SATA Link Rate: 3.0bps
'Drive Write Cache': disabled

Slackware installation:
boot: huge.s

# fdisk /dev/sdb
root partition /dev/sdb1 and swap /dev/sdb3 (tmp on /dev/sdb2 and
home on /dev/sdb4)

# setup
partitions 1,2 and 4 use ext4

Install from a pre-mounted directory

Selecting packages:[*] A [*] AP[*] D[*] E[*] F
[ ] K
[ ] KDE
[ ] KDEI[*] L[*] N
[ ] T
[ ] TCL[*] X[*] XAP[*] XFCE[*] Y

SELECT PROMPTING MODE : 'terse'

MAKE USB FLASH BOOT : 'skip' (I tried this before and couldn't boot
to harddrive as well)

INSTALL LILO : 'simple'

Fatal: Bios device code 0x80 is being used by two disks
/dev/sdb (0x0810) and /dev/sda (0x0800)

Second try: CONFIGURE SYSTEM

MAKE USB FLASH BOOT : 'skip'
INSTALL LILO : 'expert'
Begin -|
-> no append parameters (tried root=/dev/sda and
root=UUID=xxx.xxx before without success)
-> CONFIRM LOCATION TO INSTALL LILO: '/dev/sdb'
Linux -|
-> /dev/sdb1
-> SELECT PARTITION NAME FOR /dev/sdb1: 'Linux'
Install -|
-> imps2

EXIT

# reboot

booted up to:

Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(8,17)

# hard reboot

boot: Linux root=/dev/sda1

booted but coudn't mount partitions and asked me to do
maintenance with root password. Couldn't create dirs or mount file
systems, so I rebooted with installation USB.

# mkdir /tmp/root
# mount /dev/sdb1 /tmp/root
# mount -o bind /sys /tmp/root/sys
# mount -o bind /proc /tmp/root/proc
# mount -o bind /dev /tmp/root/dev
# mount -o bind /dev/pts /tmp/root/dev/pts
# chroot /tmp/root /bin/bash
# vi /etc/fstab
changed all /dev/sdb to /dev/sda
# vi /etc/lilo.conf
tried:
boot = /dev/sdb
disk = /dev/sdb
bios = 0x80

image = /boot/vmlinux
root = /dev/sda1
label = Linux
read-only
# lilo
Fatal: Illegal 'root=' specification: /dev/sda1
# exit; reboot

boot: Linux root=/dev/sda1

this booted fine

# vi /etc/lilo.conf
boot = /dev/sda

image = /boot/vmlinux
root = /dev/sda1
label = Linux
read-only
# lilo
# reboot

halleluja!!

I'm not sure what did it. I tried the root=/dev/sda1 at lilo boot screen before. Maybe I made a typo. Also not sure how this can be simplified. I'm hoping this is a hardware specific issue. Does it happen every time you use the usb installer? Is there a simpler solution?

Anyway thanks Eric and whizje for your help. I appreciate it.

kikinovak 01-14-2013 12:13 PM

Hi,

I'm installing Microservers regularly. Just installed one last week in a local "Maison Familiale et Rurale" (a school for farmers) for 70 client machines. And I have another one humming right next to me here in my office. All running Slackware64 14.0.

Here's my personal HOWTO for this server. It's in French, but the *nix bits are international. I've also posted my BIOS settings:

http://www.microlinux.fr/slackware/L...rver-HOWTO.txt

I'm using either RAID 1 with two disks or RAID 5 with four disks on this type of hardware.

Cheers,

Niki

whizje 01-14-2013 12:52 PM

Glad to hear it's solved.


All times are GMT -5. The time now is 01:58 PM.