On 2015-07-13 03:58, Hans Ottevanger wrote: > On 07/12/15 20:07, Allan Jude wrote: >> On 2015-07-12 11:10, Andrey V. Elsukov wrote: >>> On 12.07.2015 09:02, Allan Jude wrote: >>>> I forgot to include the link to the patch as well: >>>> >>>> http://www.allanjude.com/bsd/lenovofix_gpart.patch >>>> >>>> I will most likely make this patch optional, behind a flag to the >>>> 'gpart >>>> create -s gpt' command, to avoid potentially breaking existing working >>>> systems, but if using offset 1 works on all other hardware, having >>>> it as >>>> the default would be nice. >>>> >>>> Another option would be to make a separate standalone program to modify >>>> the pMBR for Lenovo machines, rather than modifying gpart. >>> >>> Hi, >>> >>> I think Lenovo's BIOS just think that your partition layout is MBR and >>> uses legacy boot. >>> >>> if (MBR_partition[0].type == 0xee && gpt_is_ok()) { >>> UEFI_boot(); >>> } else { >>> MBR_boot(); >>> } >>> >> >> I am not sure what they actually do, but, by making it the >> MBR_partition[1].type that is 0xee, FreeBSD is still perfectly happy, >> and the Lenovo boots. >> >> Other non-lenovo machines I tested on also worked. >> >> Tested Platforms (in BIOS/non-UEFI mode): >> >> Lenovo X220 >> Lenovo X230 (doesn't have the bug, boots fine with MBR[0].type = 0xee) >> Lenovo T530 (also doesn't have the bug) >> Asus Core2Duo >> Asus i7 Nehalem desktop >> Asus i5 Sandy bridge desktop >> Gigabyte i5 Ivy bridge desktop >> Intel Ivy bridge NUC >> Intel Haswell NUC >> Supermicro i7 Haswell workstation >> >> > > Hi Allan, > > I did some experiments with the newest memstick image you provided > (lenovofix_20150712-r285132.img). > > On an oldish Q6600 based system using an INTEL DP965LT main-board (it > only has BIOS mode) I first pulled the SATA connectors before trying to > boot from the USB stick. It shows the same problem as always with a > fresh install of FreeBSD 10.x: > > No bootable device -- insert boot disk and press any key > > This can be fixed by first modifying the image on the USB stick using > > gpart recover da0 > > (the stick is 8Gbyte and the image as copied on it is 1Gbyte, so the GPT > seems corrupt), followed by the usual > > gpart set -a active da0 > > I think this issue manifests itself on a generation of older Intel and > Foxconn main-boards and possibly differs from the problem that you try > to solve with Lenovo hardware. > > I also tried the unmodified image on an even older T7200 based system > having an Asus NL4VM-DH main-board and there it just dumps the registers > (followed by "BTX Halted") very early in the boot process. This has > happened before on several occasions with FreeBSD 10.x. The board is > probably too rare to worry about too much, though it still runs OpenBSD > 5.7 perfectly. > > > Kind regards, > > Hans Ottevanger > > Eindhoven, Netherlands > www.beastielabs.net > > > > > Needing the active flag set is indeed a different problem. I am working on a patch for bsdinstall that will allow the user to request the active bit be set as well. -- Allan Jude
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:58 UTC