summary refs log tree commit diff
path: root/pkgs/tools/misc/grub/buggybios.patch
diff options
context:
space:
mode:
authorLluís Batlle i Rossell <viric@vicerveza.homeunix.net>2009-07-13 16:57:33 +0000
committerLluís Batlle i Rossell <viric@vicerveza.homeunix.net>2009-07-13 16:57:33 +0000
commit3a8a3c91f75761f83fa1090a328c53509afeed83 (patch)
treef6e23a0f34d349832ec28bad410815f2e15d8c4c /pkgs/tools/misc/grub/buggybios.patch
parented658483e9e42198a5cbbeff950ecbf8a12bc330 (diff)
downloadnixpkgs-3a8a3c91f75761f83fa1090a328c53509afeed83.tar
nixpkgs-3a8a3c91f75761f83fa1090a328c53509afeed83.tar.gz
nixpkgs-3a8a3c91f75761f83fa1090a328c53509afeed83.tar.bz2
nixpkgs-3a8a3c91f75761f83fa1090a328c53509afeed83.tar.lz
nixpkgs-3a8a3c91f75761f83fa1090a328c53509afeed83.tar.xz
nixpkgs-3a8a3c91f75761f83fa1090a328c53509afeed83.tar.zst
nixpkgs-3a8a3c91f75761f83fa1090a328c53509afeed83.zip
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
Diffstat (limited to 'pkgs/tools/misc/grub/buggybios.patch')
-rw-r--r--pkgs/tools/misc/grub/buggybios.patch11
1 files changed, 11 insertions, 0 deletions
diff --git a/pkgs/tools/misc/grub/buggybios.patch b/pkgs/tools/misc/grub/buggybios.patch
new file mode 100644
index 00000000000..1453a8adaa0
--- /dev/null
+++ b/pkgs/tools/misc/grub/buggybios.patch
@@ -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)