LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   Lilo, Windows, Raid0 [Fatal: Bios device code] (https://www.linuxquestions.org/questions/slackware-14/lilo-windows-raid0-%5Bfatal-bios-device-code%5D-4175510243/)

桃甘蕉 07-05-2014 10:40 PM

Lilo, Windows, Raid0 [Fatal: Bios device code]
 
Hello all,
My brain is fried and I need to take a deep breather. Can someone please point me in the right direction to get all HDDs working and allow my Windows partition to be read by Lilo. I can only boot into Linux if I disconnect all HDDs. If I want to boot into Windows, I just disconnect my Linux HDD. Below is a my setup.

And you read that right, the error message is complaining about sdc[HDD] and sda[SSD] EVEN THOUGH sda[SSD] and sdb[SSD] are the motherboard Raid0 SSD with the Windows partition.

Motherboard Raid0 setup:
120 SSD sda [sda1 & sda2]
120 SSD sdb [sdb1]
4TB Window Data sdc1
1TB Slackware64 14.1 sdd [sdd1 swap & sdd2 / & sdd3 /home]
500GB Window Data sde1

Error message
Code:

# lilo
Warning: LBA32 addressing assumed
Fatal: Bios device code 0x80 is being used by two disks /dev/sdc (0x0820) and /dec/sda (0x0800)

Broken lilo.conf
Quote:

# LILO configuration file
# generated by 'liloconfig'
#
# Start LILO global section
# Append any additional kernel parameters:
append=" vt.default_utf8=0"
boot = /dev/sdd
......Cut out unneeded items......
# slackgk
image = /boot/vmlinuz-generic-3.10.17
initrd = /boot/initrd.gz # lilo will see initrd.gz
root = /dev/sdd1
label = slackgk
read-only
# slackhg
image = /boot/vmlinuz
root = /dev/sdd2
label = slackhg
read-only
# Windows 8.0
other = /dev/sda1
label = Win8.0
table = /dev/sda
# map-drive=0x800
# to=0x82
# map-drive=0x82
# to=0x81
boot-as = 0x80
# Linux bootable partition config ends
Full fdisk:fdisk [sda-sdc]//fdisk [sdd-sde]//error at startup [all hdd plugged in]

Any and all advise would be greatly appreciated. Thank you!

ReaperX7 07-06-2014 01:04 AM

Are you using a Windows HDD formatted with GPT style partitioning?

SlackInstalled 07-06-2014 08:45 AM

Raid 0 problem
 
I had one time a problem with a hardware raid0 set up where the disks where different and exchanged
I don't know if you are using a hardware raid or a software raid, bur if you are using a hardware raid you could try to recompile the kernel with CONFIG_SATA_PMP=n (instead of y) in order to disable the port multiplier functionality which when enabled is confusing things.

桃甘蕉 07-06-2014 09:23 AM

3 Attachment(s)
Yes, the 4TB HDD is formatted with windows & it is GTP. I have found more information on my problem. I notice every time I try booting into Linux with another HDD plugged in, it fails at booting sda2, which is odd. Because lilo knows to boot up device sdd and partition sdd2. Why is it falling back to sda2 instead of sdd2? Also, I can't even get lilo to finish checking the config [with the lilo] with Windows enable in the config file with that dang [fatal: bios device code] error.

I have included my full fdisk. I couldn't for the life of me figure out how to get setterm to dump my fdisk when working from the cd. Please see the attachment for more information. First two images is the full fdisk & and the third image is the error message I get when booting up with all HDDs plugged in.

SlackInstalled: The confusion was on my end, when I said faked Raid, I meant I am using the MB Raid setup, not Windows software Raid or Linux software Raid.

Code:

# Append any additional kernel parameters:
append=" vt.default_utf8=0"
boot = /dev/sdd
.....................................................
# Linux bootable partition config begins
# slackgk
image = /boot/vmlinuz-generic-3.10.17
  initrd = /boot/initrd.gz # lilo will see initrd.gz
  root = /dev/sdd1
  label = slackgk
  read-only
# slackhg
image = /boot/vmlinuz
  root = /dev/sdd2
  label = slackhg
  read-only
# Windows 8.0
#other = /dev/sda1
#  label = Win8.0
#  table = /dev/sda
#    map-drive=0x800
#      to=0x82
#    map-drive=0x82
#      to=0x81
#  boot-as = 0x80
# Linux bootable partition config ends


BrianW 07-06-2014 11:19 AM

What's your /etc/fstab look like? Off the top of my head, I'd first verify the bios boot order and then set lilo and fstab to use by-uuid or by-id so if the drives change position it doesn't matter.

桃甘蕉 07-06-2014 11:47 AM

I have been changing the boot order around a lot for this issue, and it doesn't do anything. I was actually thinking about the fstab last night as I haven't touched it once during this whole problem. And now, I feel a bit silly. However I thought Lilo would deal with everything. But how will I get Windows to be loaded in lilo now? I gave up on that yesterday.

Code:

/dev/sda1        swap            swap        defaults        0  0
/dev/sda2        /                ext4        defaults        1  1
/dev/sda3        /home            ext4        defaults        1  2
#/dev/cdrom      /mnt/cdrom      auto        noauto,owner,ro,comment=x-gvfs-show 0  0
/dev/fd0        /mnt/floppy      auto        noauto,owner    0  0
devpts          /dev/pts        devpts      gid=5,mode=620  0  0
proc            /proc            proc        defaults        0  0
tmpfs            /dev/shm        tmpfs      defaults        0  0

I have changed the HDDs to the UUIDs. It should work now. I going to test right now.
Code:

UUID=e0972fca-9900-4733-a059-1399b123c1a1        swap            swap        defaults        0  0
UUID=19edc8cb-fe0e-46c2-a958-50710c032095        /                ext4        defaults        1  1
UUID=78ca3590-7325-4c44-af18-0b06c2dccf6a        /home            ext4        defaults        1  2
#/dev/cdrom      /mnt/cdrom      auto        noauto,owner,ro,comment=x-gvfs-show 0  0
/dev/fd0        /mnt/floppy      auto        noauto,owner    0  0
devpts          /dev/pts        devpts      gid=5,mode=620  0  0
proc            /proc            proc        defaults        0  0
tmpfs            /dev/shm        tmpfs      defaults        0  0


Update:
The new fstab with the UUID does not correct the problem with the windows raid plugged in or not. I am still receiving the following error on bootup.
Tried sda, sdb, sdc, sdd, sde & tried sdc, sdc, sdd, sde plugged in and it didn't work.

Quote:

mount: mounting /dev/sda2 on /mnt failed: invalid argument
error: no /sbin/init found on rootdev (or not mounted). trouble ahead.
you can try to fix it. type 'exit' when things are done.

BrianW 07-06-2014 10:43 PM

LILO is not happy with random changing drives during the boot. Try setting up LILO to use UUID and by-id also after creating an initrd.
http://mirrors.slackware.com/slackwa.../README.initrd
There might be a more proper way but this is what I've been using:
Code:

$ cat /etc/lilo.conf
boot = /dev/disk/by-id/ata-INTEL_SSDSC2CW120A3_CVCV239201E4120BGN

  bitmap = /boot/slack.bmp
  bmp-colors = 255,0,255,0,255,0
  bmp-table = 60,6,1,16
  bmp-timer = 65,27,0,255

append="elevator=noop vt.default_utf8=0"
prompt
timeout = 50

vga = 775

image = /boot/vmlinuz
  initrd = /boot/initrd.gz
  append = "elevator=noop root=UUID=7076d649-a4a9-4e60-952e-408ea298dd94"
  label = Slack64
  read-only  # Partitions should be mounted read-only for checking


桃甘蕉 07-07-2014 11:00 PM

Oh my, It is working with all HDDs plugged in!!! I had to re-create the initrd for it load my sdd drive. I believe making a new initrd was the key all along and that changing the fstab and lilo.confg didn't matter/did anything. Can anyone confirm this?

Also, how should I handle the windows raid0 configuration on the SSDs? [Thanks BrianW]

perbh 07-08-2014 07:22 AM

AFAIK, when the loader loads the kernel, the latter doesn't know anything about uuuids, hence the need for an initrd which will provide that information to the kernel.
I had the same problem when creating my 'slackware-on-a-stick'. I was using the huge kernel, but still needed the initrd.


All times are GMT -5. The time now is 01:47 AM.