[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Guix on a Dell XPS 13 DE - 9350
From: |
Jan Nieuwenhuizen |
Subject: |
Guix on a Dell XPS 13 DE - 9350 |
Date: |
Fri, 17 Jun 2016 00:12:58 +0200 |
Hi,
There were some hurdles I had to get over so sharing my experiences
here.
The XPS ships with Ubuntu 14.04, but uses UEFI boot and GPT disk.
In the bios I selected "legacy" boot and used gdisk (from gptfdisk,
see patch below) to change it to MBR.
The SSD uses the NVMe protocol, which means I needed to include that
module in the initial ramdisk (patch below). Grub 2.0 cannot handle
NVMe devices and needs a patch from 2014. I decided to use
grub-2.02~beta3 (patch below...using a custom url because guix does
not like the ~).
I expect we want to include probably patches #1 and #2, we may want
to cherry pick the patch...not sure.
Greetings,
Jan
>From aefd6bc706de3019d7dbfe2760ae0074abefb40a Mon Sep 17 00:00:00 2001
From: Jan Nieuwenhuizen <address@hidden>
Date: Thu, 16 Jun 2016 23:58:45 +0200
Subject: [PATCH 1/3] gnu: Add gptfdisk.
* gnu/packages/disk.scm (gptfdisk): New variable.
---
gnu/packages/disk.scm | 46 ++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 46 insertions(+)
diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index c60eacb..fec3681 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -4,6 +4,7 @@
;;; Copyright © 2015 Mark H Weaver <address@hidden>
;;; Copyright © 2016 Tobias Geerinckx-Rice <address@hidden>
;;; Copyright © 2016 Efraim Flashner <address@hidden>
+;;; Copyright © 2016 Jan Nieuwenhuizen <address@hidden>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -25,9 +26,12 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
+ #:use-module (gnu packages)
#:use-module (gnu packages gettext)
#:use-module (gnu packages linux)
+ #:use-module (gnu packages ncurses)
#:use-module (gnu packages perl)
+ #:use-module (gnu packages popt)
#:use-module (gnu packages python)
#:use-module (gnu packages readline)
#:use-module (gnu packages guile)
@@ -97,6 +101,48 @@ fdisk. fdisk is used for the creation and manipulation of
disk partition
tables, and it understands a variety of different formats.")
(license gpl3+)))
+(define-public gptfdisk
+ (package
+ (name "gptfdisk")
+ (version "1.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/gptfdisk/" version "/"
+ name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1izazbyv5n2d81qdym77i8mg9m870hiydmq4d0s51npx5vp8lk46"))
+ ;; (patches
+ ;; (search-patches "gdisk.patch"))
+ ))
+ (build-system gnu-build-system)
+ (inputs
+ `(("gettext" ,gnu-gettext)
+ ("ncurses" ,ncurses)
+ ("popt" ,popt)
+ ("util-linux" ,util-linux)))
+ (arguments
+ `(#:tests? #f ; no "check" target
+ #:phases
+ (modify-phases %standard-phases
+ ;; no configure script
+ (delete 'configure)
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((bin (string-append (assoc-ref outputs "out") "/bin")))
+ (install-file "gdisk" bin)
+ (install-file "sgdisk" bin)
+ (install-file "cgdisk" bin)
+ (install-file "fixparts" bin)))))))
+ (home-page "http://www.rodsbooks.com/gdisk/")
+ (synopsis "Low-level GPT disk partitioning and formatting")
+ (description "GPT fdisk (aka gdisk) is a text-mode partitioning tool that
+works on Globally Unique Identifier (GUID) Partition Table (GPT) disks, rather
+than on the more common (through 2009) Master Boot Record (MBR) partition
+tables.")
+ (license gpl2)))
+
(define-public ddrescue
(package
(name "ddrescue")
--
2.8.4
>From b021b01fcb69d52c16f8eabb61cef8a5db592526 Mon Sep 17 00:00:00 2001
From: Jan Nieuwenhuizen <address@hidden>
Date: Thu, 16 Jun 2016 09:50:32 +0200
Subject: [PATCH 2/3] gnu: linux-initrd: Support NVMe devices.
* gnu/system/linux-initrd.scm (base-initrd): Add nvme to linux-modules.
---
gnu/system/linux-initrd.scm | 2 ++
1 file changed, 2 insertions(+)
diff --git a/gnu/system/linux-initrd.scm b/gnu/system/linux-initrd.scm
index 484bce7..5260898 100644
--- a/gnu/system/linux-initrd.scm
+++ b/gnu/system/linux-initrd.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <address@hidden>
;;; Copyright © 2016 Mark H Weaver <address@hidden>
+;;; Copyright © 2016 Jan Nieuwenhuizen <address@hidden>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -183,6 +184,7 @@ loaded at boot time in the order in which they appear."
"usb-storage" "uas" ;for the installation image etc.
"usbhid" "hid-generic" "hid-apple" ;keyboards during early boot
"dm-crypt" "xts" "serpent_generic" "wp512" ;for encrypted root partitions
+ "nvme" ; for new ssd NVMe devices
,@(if (string-match "^(x86_64|i[3-6]86)-" (%current-system))
'("pata_acpi" "pata_atiixp" ;for ATA controllers
"isci") ;for SAS controllers like Intel C602
--
2.8.4
>From e31dbeff2cb619d9d2589436f5bd71eeb0711431 Mon Sep 17 00:00:00 2001
From: Jan Nieuwenhuizen <address@hidden>
Date: Thu, 16 Jun 2016 09:50:27 +0200
Subject: [PATCH 3/3] gnu: Update grub to 2.02~beta3.
* gnu/packages/grub.scm (grub): Change version no 2.02.beta3, use
custom url symlinked to 2.02~beta3.
---
gnu/packages/grub.scm | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/gnu/packages/grub.scm b/gnu/packages/grub.scm
index 31b270c..b7bef89 100644
--- a/gnu/packages/grub.scm
+++ b/gnu/packages/grub.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <address@hidden>
;;; Copyright © 2015 Mark H Weaver <address@hidden>
;;; Copyright © 2015 Leo Famulari <address@hidden>
+;;; Copyright © 2016 Jan Nieuwenhuizen <address@hidden>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -76,20 +77,21 @@
(define-public grub
(package
(name "grub")
- (version "2.00")
+ ;;(version "2.02~beta3")
+ (version "2.02.beta3")
(source (origin
(method url-fetch)
- (uri (string-append "mirror://gnu/grub/grub-"
- version ".tar.xz"))
+ (uri (string-append
+ ;;"ftp://alpha.gnu.org/gnu/grub/grub-"
+ "http://janneke.lilypond.org/download/grub-"
+ version ".tar.xz"))
(sha256
(base32
- "0n64hpmsccvicagvr0c6v0kgp2yw0kgnd3jvsyd26cnwgs7c6kkq"))
- (patches (search-patches "grub-gets-undeclared.patch"
- "grub-freetype.patch"
- "grub-CVE-2015-8370.patch"))))
+ "18ddwnw0vxs7zigvah0g6a5z5vvlz0p8fjglxv1h59sjbrakvv1h"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--disable-werror")
+ #:tests? #f ;; fail
#:phases (modify-phases %standard-phases
(add-after
'unpack 'patch-stuff
--
2.8.4
--
Jan Nieuwenhuizen <address@hidden> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.nl
- Guix on a Dell XPS 13 DE - 9350,
Jan Nieuwenhuizen <=