~ruther/guix-local

ref: b9a31d90e907db0a593ec80aacc35a0523a009f6 guix-local/guix/build/linux-initrd.scm -rw-r--r-- 25.0 KiB
5c3eb14e — Ludovic Courtès 11 years ago
linux-initrd: Wait a bit longer for partitions to appear.

Reported by Sveltana on #guix.

* guix/build/linux-initrd.scm (canonicalize-device-spec): Increase
  MAX-TRIALS.  Add "waiting for partition" 'format' call.
c0b9213d — Ludovic Courtès 11 years ago
linux-initrd: Do not create /etc/resolv.conf.

* guix/build/linux-initrd.scm (configure-qemu-networking): Don't create
  /etc/resolv.conf.
2c071ce9 — Ludovic Courtès 11 years ago
system: Recognize more file system flags.

* guix/build/linux-initrd.scm (MS_NOSUID, MS_NODEV, MS_NOEXEC): New
  variables.
  (mount-flags->bit-mask): New procedure.
  (mount-file-system)[flags->bit-mask]: Remove.
  Use 'mount-flags->bit-mask' instead.
  In /etc/mtab, use the empty string when OPTIONS is false.
* gnu/services/base.scm (file-system-service): Add #:flags parameter and
  honor it.
* gnu/system.scm (other-file-system-services): Pass FLAGS to
  'file-system-service'.
7f239fd3 — Ludovic Courtès 11 years ago
system: Add 'file-system' decl. for /dev/pts, and use the right options.

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

* gnu/system/file-systems.scm (%devtmpfs-file-system): Add
  'needed-for-boot?' field.
  (%tty-gid, %pseudo-terminal-file-system): New variables.
  (%base-file-systems): Add %PSEUDO-TERMINAL-FILE-SYSTEM.
* gnu/services/base.scm (udev-service): Remove dependency on
  'file-system-/dev'.
* gnu/system/shadow.scm (%base-groups): Add 'id' field for group 'tty'.
* guix/build/linux-initrd.scm (boot-system): Remove 'mount' call for
  /dev/pts.
* doc/guix.texi (File Systems): Add %pseudo-terminal-file-system.
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'.
Next