[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#927892: grub-ieee1275-bin: Please add bootinfo.txt for sparc and sparc64



On 25/04/2019 07:50, John Paul Adrian Glaubitz wrote:

> On 4/25/19 8:40 AM, Mark Cave-Ayland wrote:
>> When grub is installed to disk as per your latest ISO images, what is the
>> filesystem/partition type being used?
> For GPT-based partitioning, we have a dedicated GRUB boot partition:
> 
> (parted) p                                                                
> Model: Unknown (unknown)
> Disk /dev/vdiska: 85.9GB
> Sector size (logical/physical): 512B/512B
> Partition Table: gpt
> Disk Flags: 
> 
> Number  Start   End     Size    File system     Name  Flags
>  1      1049kB  1075MB  1074MB  ext3                  boot, esp
>  2      1075MB  1076MB  1049kB                        bios_grub
>  3      1076MB  3075MB  2000MB  linux-swap(v1)
>  4      3075MB  85.9GB  82.8GB  ext4
> 
> (parted)
> 
> For machines with Sun labels, GRUB is actually installed using block lists:
> 
> (parted) p                                                                
> Model: Unknown (unknown)
> Disk /dev/vdiskb: 1100GB
> Sector size (logical/physical): 512B/8192B
> Partition Table: sun
> Disk Flags: 
> 
> Number  Start   End     Size    File system     Flags
>  1      0.00B   8192MB  8192MB  ext4            boot
>  2      8192MB  1016GB  1008GB  ext4
>  4      1016GB  1100GB  83.7GB  linux-swap(v1)
> 
> (parted)
> 
> See also: https://github.com/esnowberg/grub2-sparc/wiki

Ah now I see - since your PROM supports gpt directly then that's how boot.S works.
Presumably then it must be diskboot.S with blocklist support that gets used for older
machines such as QEMU's sun4u?

Okay so reviewing the genisoimage man page again I think you should be able to use
the blocklist approach for the CDROM: install grub into /boot/grub/sparc64.elf on the
ISO9660 partition, then generate a cdrom.img using diskboot.S that starts with your
a.out bootloader and includes the block list for sparc64.elf taken from the ISO9660
partition.

The part that needs to be checked here is whether diskboot.S (and indeed your PROM
disk and cdrom aliases) contain the slice because the blocklist needs to come from
the "raw" disk device since sparc64.elf is being pulled from a different slice.
Adding some code to boot.S to display bootpath will be helpful here. But then
presumably this is the same as the blocklist configuration above anyhow?


ATB,

Mark.


Reply to: