~ruther/guix-local

ref: ac47a7c240955bd7cc23179e2cb95fed207d98ba guix-local/guix/build/linux-initrd.scm -rw-r--r-- 24.5 KiB
e3ced65a — Ludovic Courtès 11 years ago
linux-initrd: Use 'call-with-error-handling' when booting.

* guix/build/linux-initrd.scm (canonicalize-device-spec): When label
  resolution fails, call 'error' instead of 'format' + 'start-repl'.
  (boot-system): Wrap most of body in 'call-with-error-handling'.
  Remove 'catch' around 'primitive-load' call.
dccab4df — Ludovic Courtès 11 years ago
linux-initrd: Remove unused local procedure.

* guix/build/linux-initrd.scm (boot-system)[resolve]: Remove.
d266b793 — Ludovic Courtès 11 years ago
linux-initrd: Gracefully handle lack of or invalid ext2 superblocks.

Reported by David Thompson <dthompson2@worcester.edu>.

* guix/build/linux-initrd.scm (read-ext2-superblock): Add
  'superblock-size' variable.  Read with 'get-bytevector-n!' instead of
  'getbytevector-n', and make sure we read exactly SUPERBLOCK-SIZE
  bytes.
9b9148d8 — Ludovic Courtès 11 years ago
linux-initrd: Allow unionfs to have a large number of open files.

Fixes <http://bugs.gnu.org/17827>.

* guix/build/linux-initrd.scm (mount-root-file-system) [volatile-root?]:
  Pass unionfs '-o max_file=65536'.
872c69d0 — Ludovic Courtès 11 years ago
Merge branch 'master' into core-updates
d4c87617 — Ludovic Courtès 11 years ago
system: File system sources can be marked as labels or devices.

* gnu/system/file-systems.scm (<file-system>)[title]: New field.
* gnu/services/base.scm (file-system-service): Add #:title parameter.
  In 'start' gexp, use 'canonicalize-device-spec' and honor TITLE.
* gnu/system.scm (other-file-system-services,
  operating-system-root-file-system, operating-system-initrd-file):
  Adjust accordingly.
* gnu/system/linux-initrd.scm (file-system->spec): Likewise.
* gnu/system/vm.scm (system-disk-image): Add 'title' field for the root
  file system.
* guix/build/linux-initrd.scm (mount-file-system): Expect the second
  element of SPEC to be the title.
  (boot-system)[root-mount-point?, root-fs-type]: Likewise.
* gnu/services/dmd.scm (dmd-configuration-file): Select
  'canonicalize-device-spec'.
2405858a — Ludovic Courtès 11 years ago
linux-initrd: Wait for devices to appear when resolving a label.

* guix/build/linux-initrd.scm (canonicalize-device-spec): Add #:title
  parameter.  When resolving a label, wait a little and try several
  times before bailing out.
9b4a163a — Ludovic Courtès 11 years ago
linux-initrd: Actually create /dev/console.

* guix/build/linux-initrd.scm (make-essential-device-nodes): Add
  "dev/console".
ac52e80b — Ludovic Courtès 11 years ago
linux-initrd: Make more device nodes for SCSI disks and CD-ROM devices.

* guix/build/linux-initrd.scm (make-disk-device-nodes): New procedure.
  (make-essential-device-nodes): Use it.  Make more devices nodes for
  SCSI disks and CD-ROM devices.
009d8311 — Ludovic Courtès 11 years ago
linux-initrd: Gracefully handle missing /dev nodes.

* guix/build/linux-initrd.scm (partition-label-predicate): Catch
  'system-error' around 'read-ext2-superblock'; return #f upon ENOENT.
1bb784ea — Ludovic Courtès 11 years ago
linux-initrd: Gracefully deal with partitions with no label.

* guix/build/linux-initrd.scm (partition-label-predicate): Check whether
  'ext2-superblock-volume-name' returns #f, and return #f if it does.
85a83edb — Ludovic Courtès 11 years ago
linux-initrd: Allow use of volume labels in 'file-system' declarations.

* guix/build/linux-initrd.scm (%ext2-endianness, %ext2-sblock-magic,
  %ext2-sblock-creator-os, %ext2-sblock-uuid, %ext2-sblock-volume-name):
  New macros.
  (read-ext2-superblock, ext2-superblock-uuid,
  ext2-superblock-volume-name, disk-partitions,
  partition-label-predicate, find-partition-by-label,
  canonicalize-device-spec): New procedures.
  (mount-file-system): Use 'canonicalize-device-spec' on SOURCE.
  (boot-system): Likewise for ROOT.
* doc/guix.texi (Using the Configuration System): Adjust 'file-system'
  declaration accordingly.
af018f5e — Ludovic Courtès 11 years ago
Merge branch 'master' into core-updates
3035b50f — Ludovic Courtès 11 years ago
linux-initrd: Build /dev/loop* nodes.

* guix/build/linux-initrd.scm (make-essential-device-nodes): Build
  /dev/loop[0-7].
eb7ccb1a — Ludovic Courtès 12 years ago
linux-initrd: Display a backtrace when the initial program fails.

* guix/build/linux-initrd.scm (boot-system): Add pre-unwind handler in
  'catch' form around 'primitive-load', and call 'format' and
  'display-backtrace' from there.
87a52da7 — Ludovic Courtès 12 years ago
linux-initrd: Factorize kernel command-line option parsing.

* guix/build/linux-initrd.scm (find-long-option): New procedure.
  (boot-system): Use it instead of the local 'option'.
7f17ff78 — Ludovic Courtès 12 years ago
linux-initrd: Make /dev/ttyS0, for debugging.

* guix/build/linux-initrd.scm (make-essential-device-nodes): Make
  /dev/ttyS0.
7d57cfd3 — Ludovic Courtès 12 years ago
system: When unionfs-fuse is used for /, don't kill it when halting.

* guix/build/linux-initrd.scm (pidof): New procedure.
  (mount-root-file-system)[mark-as-not-killable]: New procedure.
  Use it for unionfs when VOLATILE-ROOT?.
* gnu/services/base.scm (%do-not-kill-file): New variable.
  (user-processes-service)[stop]: Honor it.
023f391c — Ludovic Courtès 12 years ago
services: Add 'file-system-service'.

* gnu/services/base.scm (file-system-service): New procedure.
  (user-processes-service): Add 'requirements' parameter.
* gnu/services/dmd.scm (dmd-configuration-file): Use (guix build
  linux-initrd).
* guix/build/linux-initrd.scm (guix): Export 'check-file-system'.
* gnu/system.scm (file-union): New procedure.
  (essential-services): Use it.  Add that to the returned list.
02139eb9 — Ludovic Courtès 12 years ago
linux-initrd: Append to /etc/mtab.

* guix/build/linux-initrd.scm (mount-file-system): Open /etc/mtab in
  append mode.
Next