Subject: [alpine-user] fdisk doesn't support disk identifier and syslinux fails at chainloading

From: Erwin Lottermann <[email-masked]>
Date: Wed, 01 Apr 2015 15:03:37 +0200

Hi,

I installed Alpine 2.7.9 (from http://www.eisfair.org/home/eisfair-ng/ 
)  on HP Microserver Gen8.

In AHCI-Mode the onboard HP Raid Controller doesn't allow to select the 
disk to boot from. It always tries to boot from first Disk it detects, 
starting from Port1.

One solution is, to boot from usb stick with syslinux and direct it to 
the MBR to be bootet.

Whith syslinux you can chainload the MBR of another disk, i.e. the one 
Alpine is installed.
http://www.syslinux.org/wiki/index.php/Comboot/chain.c32

There are several options to address the mbr to be bootet.
In case of the HP server 'mbr:<id>' should work.
Where <id> is the disk identifier shown in fdisk -l /dev/sdx.

But the fdisk, used in Alpine, doesn't show the disk identifier.
It also has no 'i' option in the expert menu, to set the disk identifier.
With option 'd' you can see, that the alpine setup has set the disk 
identifier to 0x00000000
( 4 Bytes between 1b8 and 1bb)
Perhaps this 
http://wiki.r1soft.com/display/kb3/Creating+a+Unique+Partition+ID+with+fdisk
is the reason, why there is no disk identifier option in Alpines fdisk.

I booted an ubuntu and set with its fdisk the disk identifier of the 
Alpine disk.

In next step I installed Alpines syslinux to the usb stick and created 
the syslinux.cfg file for the chainloading.

At boot time, when the mbr of the Alpine hdd was called by syslinux from 
usb stick, the boot process stopped wiht HP's 'Red Screen of Death' with 
'illegal opcode' and some register dumps.
The reason is, that syslinux 6.02 has a failure related to chainload.
http://www.syslinux.org/wiki/index.php/Syslinux_6.02_notes

Booting from usb worked, after I installed e newer version of syslinux 
at the usb stick.

After this I installed Alpine 3.1.3.
Disk Identifier was cleared again. Thus I had to set it again with 
ubuntus fdisk.
Chainloading with syslinux worked.

Regards
Erwin

---
Unsubscribe:  [email-masked]
Help:         [email-masked]
---

---

From: Erwin Lottermann <[email-masked]>
Date: Tue, 07 Apr 2015 11:42:34 +0200

Hi,

I installed Alpine 2.7.9 (from http://www.eisfair.org/home/eisfair-ng/ ) 
at HP Microserver Gen8.

In AHCI-Mode the onboard HP Raid Controller doesn't allow to select the 
disk to boot from.
It always tries to boot from first Disk it detects, starting from Port1.

There are several options to address the mbr to be bootet.
In case of the HP server 'mbr:<id>' should work,
where <id> is the disk identifier shown in fdisk -l /dev/sdx.

I booted an ubuntu and set with its fdisk the disk identifier of the 
Alpine disk.
In next step I installed Alpines syslinux to the usb stick and created 
the syslinux.cfg file for the chainloading.
At boot time, when the mbr of the Alpine hdd was called by syslinux from 
usb stick,
the boot process stopped wiht HP's 'Red Screen of Death' with 'illegal 
opcode' and some register dumps.
The reason is, that syslinux 6.02 has a failure related to chainload.
http://www.syslinux.org/wiki/index.php/Syslinux_6.02_notes

Regards
Erwin

---