Adding a patch for grub, so livecds with grub can still boot with buggy bioses,
as those of Acer 292LMi or Airis N990. This allows booting the NixOS ISO releases. I made it optional, not included by default. I don't think it would harm at all enabling it always - let it be decided on forum. svn path=/nixpkgs/trunk/; revision=16341
This commit is contained in:
parent
ed658483e9
commit
3a8a3c91f7
11
pkgs/tools/misc/grub/buggybios.patch
Normal file
11
pkgs/tools/misc/grub/buggybios.patch
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
Taken from: http://savannah.gnu.org/bugs/?func=detailitem&item_id=10433
|
||||||
|
--- grub-0.95.orig/stage2/bios.c 2004-03-27 17:34:04.000000000 +0100
|
||||||
|
+++ grub-0.95/stage2/bios.c 2005-03-02 01:02:29.192582200 +0100
|
||||||
|
@@ -147,6 +147,7 @@
|
||||||
|
grub_memset (&cdrp, 0, sizeof (cdrp));
|
||||||
|
cdrp.size = sizeof (cdrp) - sizeof (cdrp.dummy);
|
||||||
|
err = biosdisk_int13_extensions (0x4B01, drive, &cdrp);
|
||||||
|
+ err = 0; /* really ugly hack to circumvent faulty BIOS versions like Acer 292LMi */
|
||||||
|
if (! err && cdrp.drive_no == drive)
|
||||||
|
{
|
||||||
|
if ((cdrp.media_type & 0x0F) == 0)
|
|
@ -1,4 +1,4 @@
|
||||||
{stdenv, fetchurl, autoconf, automake}:
|
{stdenv, fetchurl, autoconf, automake, buggyBiosCDSupport ? false}:
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "grub-0.97-patch-1.9";
|
name = "grub-0.97-patch-1.9";
|
||||||
|
@ -22,7 +22,7 @@ stdenv.mkDerivation {
|
||||||
# /dev/disk/by-label/bla. The symlink resolution code in
|
# /dev/disk/by-label/bla. The symlink resolution code in
|
||||||
# grub-install isn't smart enough.
|
# grub-install isn't smart enough.
|
||||||
./symlink.patch
|
./symlink.patch
|
||||||
];
|
] ++ (stdenv.lib.optional buggyBiosCDSupport ./buggybios.patch);
|
||||||
|
|
||||||
# Autoconf/automake required for the splashimage patch.
|
# Autoconf/automake required for the splashimage patch.
|
||||||
buildInputs = [autoconf automake];
|
buildInputs = [autoconf automake];
|
||||||
|
|
|
@ -795,6 +795,7 @@ let
|
||||||
grub = import ../tools/misc/grub {
|
grub = import ../tools/misc/grub {
|
||||||
inherit fetchurl autoconf automake;
|
inherit fetchurl autoconf automake;
|
||||||
stdenv = stdenv_32bit;
|
stdenv = stdenv_32bit;
|
||||||
|
buggyBiosCDSupport = (getConfig ["grub" "buggyBiosCDSupport"] false);
|
||||||
};
|
};
|
||||||
|
|
||||||
gssdp = import ../development/libraries/gssdp {
|
gssdp = import ../development/libraries/gssdp {
|
||||||
|
|
Loading…
Reference in a new issue