Bug 164707 - FreeBSD 9 installer does not work with IBM uefi
Summary: FreeBSD 9 installer does not work with IBM uefi
Status: Closed Not Enough Information
Alias: None
Product: Base System
Classification: Unclassified
Component: amd64 (show other bugs)
Version: Unspecified
Hardware: Any Any
: Normal Affects Only Me
Assignee: Ed Maste
URL:
Keywords: uefi
Depends on:
Blocks:
 
Reported: 2012-02-02 10:30 UTC by Anders Larson
Modified: 2015-07-07 17:45 UTC (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Anders Larson 2012-02-02 10:30:09 UTC
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?

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.
How-To-Repeat: Run the FreeBSD 9 cd-iso reboot and watch the boot error.
Comment 1 Ed Maste freebsd_committer freebsd_triage 2013-11-01 13:51:09 UTC
Responsible Changed
From-To: freebsd-amd64->emaste

Grab: I am working on the UEFI integration
Comment 2 Ed Maste freebsd_committer freebsd_triage 2014-06-05 14:33:42 UTC
The Solaris fix seems unrelated - the failure you see with FreeBSD is happening before the OS even tries to boot.

Are you using GPT for partitioning?  Because "legacy only" works it seems you may have the same firmware bug that many Thinkpads do, where the firmware refuses to boot from GPT in non-UEFI mode.  If that's the case your options are:

1. Use MBR instead of GPT
2. Get a fixed firmware from your vendor
3. Switch to the (in development) FreeBSD UEFI boot support

If you'd like to try #3 you can download a prototype FreeBSD-CURRENT UEFI installer from: http://people.freebsd.org/~gjb/FreeBSD-11.0-CURRENT-amd64-VT-uefi.img
Comment 3 Ed Maste freebsd_committer freebsd_triage 2014-08-12 13:18:53 UTC
The regular 11-CURRENT snapshots are now UEFI-enabled.
Comment 4 Allan Jude freebsd_committer freebsd_triage 2014-09-14 02:28:32 UTC
Was this boot failure with a root-on-zfs install from the installer? If so it may be related to #193595
Comment 5 Ed Maste freebsd_committer freebsd_triage 2015-07-07 17:45:31 UTC
Feedback not received; please add additional detail and reopen if necessary.