[syslinux] [PATCH] : Adding dlabel option to chain.c32
Erwan Velu
erwanaliasr1 at gmail.com
Thu Jul 28 06:52:46 PDT 2016
That is perfectly true. I had a beautiful bug in the code .... Switching
from python to C have some weird side-effect. Indenting is not enough,
brackets are required....
So I pushed
https://github.com/ErwanAliasr1/syslinux/commit/5a122d218553a6d4019273653ba9fad66d6ae79e
with the fix.
I tested it on my multi-disk system with success.
I also changed the name of the function.
2016-07-17 8:21 GMT+02:00 poma <pomidorabelisima at gmail.com>:
> On 16.07.2016 10:39, Erwan Velu wrote:
> > The idea is to boot a disk in an mbr fashion while using the GPT (not
> > filesystem) label to detect the disk.
> >
> > That is useful when you use grub2 & gpt. I was in case where my nodes
> > (100s) have 8 disks each and no guarantee of which disk is "bootable" in
> > the disk.
> >
> > This way I can tell "please boot the disk that have one partition
> labelled
> > "xyz"".
> >
> > So nothing related to filesystem but gpt labels & disks.
> >
>
>
> For comparison - option "label" - GPT Partition name selection,
> working as expected
>
> SeaBIOS / SYSLINUX
>
> # gdisk -l /dev/vdc
> ...
> Partition table scan:
> MBR: protective
> BSD: not present
> APM: not present
> GPT: present
>
> Found valid GPT with protective MBR; using GPT.
> Disk /dev/vdc: ...
> ...
> Number Start (sector) End (sector) Size Code Name
> 1 2048 6143 2.0 MiB EF02 BIOS_Boot
> 2 411648 1435647 500.0 MiB 8300 GPT_Boot
> 3 1435648 22646783 10.1 GiB 8300 GPT_Root
> 4 22646784 25163775 1.2 GiB 8200 GPT_Swap
>
>
> boot: chain label=GPT_Boot
> OK
>
> ~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> As opposed to "label",
> "dlabel" ...
> https://github.com/ErwanAliasr1/syslinux/commit/ebf8cbf
>
> SeaBIOS / GRUB2
>
> ...
> ...
> <target dev='vdc' bus='virtio'/>
> <boot order='3'/>
> ...
> ...
> <target dev='vdd' bus='virtio'/>
> <boot order='4'/>
> ...
> ...
>
>
> # gdisk -l /dev/vdc
> ...
> Partition table scan:
> MBR: protective
> BSD: not present
> APM: not present
> GPT: present
>
> Found valid GPT with protective MBR; using GPT.
> Disk /dev/vdc: ...
> ...
> Number Start (sector) End (sector) Size Code Name
> 1 2048 6143 2.0 MiB EF02 BIOS_Boot
> 2 411648 1435647 500.0 MiB 8300 GPT_Boot
> 3 1435648 22646783 10.1 GiB 8300 GPT_Root
> 4 22646784 25163775 1.2 GiB 8200 GPT_Swap
>
>
>
> # gdisk -l /dev/vdd
> ...
> Partition table scan:
> MBR: protective
> BSD: not present
> APM: not present
> GPT: present
>
> Found valid GPT with protective MBR; using GPT.
> Disk /dev/vdd: ...
> ...
> Number Start (sector) End (sector) Size Code Name
> 1 2048 6143 2.0 MiB EF02 BIOS_Boot_2
> 2 411648 1435647 500.0 MiB 8300 GPT_Boot_2
> 3 1435648 22646783 10.1 GiB 8300 GPT_Root_2
> 4 22646784 25163775 1.2 GiB 8200 GPT_Swap_2
>
>
>
> /boot/extlinux/extlinux.conf
> ...
> label localboot
> com32 chain.c32
> append dlabel=GPT_Root
>
> label localboot 2
> com32 chain.c32
> append dlabel=GPT_Root_2
> ...
>
> OR
> boot: chain dlabel=GPT_Root
> OR
> boot: chain dlabel=GPT_Root_2
> OR
> boot: chain dlabel=VanillaStrawberry
> OR
> boot: chain dlabel=literallywhateverentered
>
>
> The result is always the same,
> selected for boot is always drive with a higher boot priority,
> in this case - vdc
>
>
>
More information about the Syslinux
mailing list