amd64/164707: FreeBSD 9 installer does not work with IBM uefi

Anders Larson anderslarsson.listor at exait.se
Thu Feb 2 10:30:13 UTC 2012


>Number:         164707
>Category:       amd64
>Synopsis:       FreeBSD 9 installer does not work with IBM uefi
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-amd64
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Feb 02 10:30:09 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator:     Anders Larson
>Release:        FreeBSD 9 Release amd64
>Organization:
Exait
>Environment:
FreeBSD ext.labb.exait.se 9.0-RELEASE FreeBSD 9.0-RELEASE #0: Tue Jan  3 07:46:30 UTC 2012     root at farrell.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  amd64
>Description:
The FreeBSD 9 installer works until reboot of the server, then it can not boot from the newly installed FreeBSD boot. "HardDisk 0 boot failure".

Firmware on the server is:   
UEFI D6E153A 06/30/2011 


Im using the new FreeBSD installer with the bootonly cd-iso.

The drive volume is from a LSI sas controller with "clean" disk.
mpt0: <LSILogic SAS/SATA Adapter> port 0x1000-0x10ff mem 0x97910000-0x97913fff,0x97900000-0x9790ffff irq 16 at device 0.0 on pci1
mpt0: MPI Version=1.5.20.0
mpt0: Capabilities: ( RAID-0 RAID-1E RAID-1 )
mpt0: 1 Active Volume (2 Max)
mpt0: 2 Hidden Drive Members (14 Max)

It used to run a FreeBSD 8.1 but during testing i recreated the volume and destroyed all data on it.
The partitioning is created with this scheme:
64kb 	freebsd-boot	
2Gb	/		
4Gb 	/tmp		
20Gb	/var		
45Gb	/usr		
8Gb	swap	

Im not sure what IBM is doing, the nexenta/opensolaris has seen problems with uefi also.
http://www.nexentastor.org/boards/1/topics/2577#message-3743
Im not sure if those boot problems is related but since uEFI 1.11 and newer there is problems with boot.
Oracle Solaris has the same problem up to Solaris 11 release (where they fixed something)

I got this possible workaround regarding solaris from IBM support recently:
######
To install, you'll need to boot under kmdb (in GRUB, select the line you want to boot, hit 'e' to edit, use arrow keys to select the "kernel"    
boot line, hit 'e' again, then type ' -kd', ENTER, then 'b' to boot).  
The machine will boot into KMDB.  At the prompt, type:                  
¬0|> x86gentopo_legacy/W1                                               
¬0|> :c                                                                 
After installation, you can add:                                        
        set x86gentopo_legacy = 1                                       
to /etc/system on the new machine to permanently use the workaround.    
This concern the SMBIOS enumeration :  new kernel tunable variable "x86gentopo_legacy". When set to one (1) the platform will revert to     
legacy enumeration via the XML i86pc-legacy-hc-topology.xml map file.   
                                                                        
Issue affects Solaris 10 8/11, but not Solaris 10 10/09, Solaris 10 9/10 
or Solaris 11. Seems it's an OS defect, not actually an uEFI defect
######
Maybe it helps in finding what happens during IBM uefi boot?
>How-To-Repeat:
Run the FreeBSD 9 cd-iso reboot and watch the boot error.
>Fix:
Workaround:
Go into BIOS.
In Start Options -> Add Bootoption
Add "Legacy Only"
Then exit and adjust the boot order:
Make sure the "Legacy Only" is above the "HardDisk 0".
IT is just an label telling uefi to handle things differently!

Then you will be able to boot the system.

>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-amd64 mailing list