Hi Adrian, hi Eric,     

thanks for getting GRUB2 with support for sparc64 into Debian Ports. Looks very good so far. :-D

On 12/08/2017 01:24 PM, John Paul Adrian Glaubitz wrote:

7. Report back to the list and include your hardware and partition setup

I had some spare time these days and tested on the following machines:

## Machines tested ##

* Sun Enterprise 250
* Sun Ultra 80
* Sun Enterprise 4500
* Sun Fire V240
* Sun Fire V445
* Sun SPARC Enterprise T1000

## General information ##

I started with my Ultra 80 but wasn't able to successfully install Debian Sid (from the sparc64 ISO from 2017-12-04 created by Adrian) - the installation process always blocks during partman startup (always at 33%) but sadly for no obvious reason (nothing specific in syslog). Later I sucessfully installed Debian Sid with the mentioned ISO on a V240 and moved its disk to the other machines with parallel SCSI SCA ports (Ultra 80, E250).

When running `update-grub` GRUB2 configures the "root" device by using a "search hint" with the OF path for the partition containing `/boot` on the currently used machine:

e.g. from `/boot/grub/grub.cfg` on E250:
        set root='hd0,sun1'
        if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//pci@1f\,4000/scsi@3/disk@0\,0,sun1' --hint-bios=hd0,sun1 --hint-efi=hd0,sun1 --hint-baremetal=ahci0,sun1 df9a392d-2dc5-4981-b6f9-57476351d51b
search --no-floppy --fs-uuid --set=root df9a392d-2dc5-4981-b6f9-57476351d51b

...but when moving the disk to a different machine with different bus structure and different devices this OF path usually does not exist there, so GRUB2 won't be able to find the correct "root" device. Fortunately it's possible to use available OF device aliases in GRUB2 by e.g. `set root='ieee1275/disk,1'`, where "disk" is a device alias which usually translates to the very first disk and ",1" selects the partition which contains `/boot`. So to boot successfully the easiest way for me was to modify the device setting for the "root" device of GRUB2 (`set root=[...]`) and remove the whole if clause below it. This can be done directly from the GRUB2 menu on startup (select the desired entry and hit the "e" key). When booted, a call to `update-grub` should configure the correct search hint and this change won't be needed any longer (works on E250, V240 and V445, not tested on Ultra 80 and not working on E4500).

## Specific information ##

UPDATE: V445 and V240 tested with Linux kernel v4.14.2. E250, E4500, Ultra 80 and T1000 tested with both v4.14.2 and v4.14.7.

### Enterprise 250 ###

* 2 x UltraSPARC II @ 400 MHz
* partition layout => same as on the V240
* booting via GRUB2 works
* installation from ISO not tested, used SCSI SCA disk from V240

### Ultra 80 ###

* 4 x UltraSPARC II @ 450 MHz
* partition layout => same as on the V240
* booting via GRUB2 works
* installation does not succeed (see above), used SCSI SCA disk from V240

### Enterprise 4500 ###

* 14 x UltraSPARC II @ 400 MHz
* partition layout => similar to the one on the V240
* booting via GRUB2 works, but problems with console (handover - I assume) during kernel boot (at least with the MP kernel, the SP kernel from the installer and the Debian Sid repo work without issues but leave me with 13 unused CPUs, which is a pity :-/) * installation from ISO worked somehow: the GRUB2 installer suggests to install into MBR although the disk has a Sun disk label on it. I selected /dev/sda1 manually (assuming an installation in the MBR would overwrite the Sun disk label) and it looks like it worked. On reboot though I noticed, that there was no ieee1275 search hint in the grub.cfg entry (see above for an entry for E250), hence booting didn't work without manual intervention (i.e. setting "root" to "ieee1275/disk,1").

### Fire V240 ###

* 2 x UltraSPARC IIIi @ 1 GHz
* partition layout:
# lsblk
sda      8:0    0 33.9G  0 disk
├─sda1   8:1    0 94.1M  0 part /boot
├─sda2   8:2    0 22.3G  0 part /
├─sda3   8:3    0 33.9G  0 part
└─sda4   8:4    0 11.6G  0 part [SWAP]
* booting via GRUB2 works
* installation from ISO worked, but I only installed SILO from ISO first, GRUB2 was installed manually later (as per Adrian's howto).

### Fire V445 ###

* 4 x UltraSPARC IIIi @ 1.59 GHz
* partition layout similar to layout on V240, but as the machine since the latest package upgrades no longer successfully boots I cannot get the lsblk output :-(
* booting via GRUB2 works
* initially used an updated SATA disk from a V245 with Debian Sid and installed GRUB2 manually but a later installation from ISO and a SAS disk also worked (but similar situation as for E4500, i.e. GRUB2 proposed installation to MBR although the disk has a Sun disk label on it, but at least a correct ieee1275 search hint made it to grub.cfg)

### SPARC Enterprise T1000 ###

* 1 x UltraSPARC T1 @ 1 GHz (8 cores)
* partition layout => same as on V445, as the same disk was used
* booting via GRUB2 works, but segfaults already with Linux kernel v4.14.2


Reply via email to