summaryrefslogtreecommitdiff
path: root/gnu/system/linux-initrd.scm
Commit message (Collapse)AuthorAge
* build: Use overlayfs instead of unionfs.Hartmut Goebel2017-11-08
| | | | | | | | | | | | | | Overlayfs is part of the kernel, while unionfs needs FUSE. This also reduces the size of the initrd by ca. 4.3% (487K). * gnu/build/linux-boot.scm (mount-root-file-system): Remove optional parameter "unionfs"; mount using overlayfs instead of unionfs; new directory layout requied by overlayfs; update documentation. [mark-as-not-killable]: Remove now unused function * gnu/system/linux-initrd.scm (file-system-packages): Remove now unused packages "unionfs-fuse/static" and thus unused related 'if'. (linux-modules): Replace "fuse" by "overlay".
* file-systems: 'mount-file-system' now takes a <file-system> object.Ludovic Courtès2017-10-11
| | | | | | | | | | | | | * gnu/build/file-systems.scm (mount-file-system): Rename 'spec' to 'fs' and assume it's a <file-system>. * gnu/build/linux-boot.scm (boot-system): Assume MOUNTS is a list of <file-system> and adjust accordingly. * gnu/build/linux-container.scm (mount-file-systems): Remove 'file-system->spec' call. * gnu/services/base.scm (file-system-shepherd-service): Add 'spec->file-system' call. Add (gnu system file-systems) to 'modules'. * gnu/system/linux-initrd.scm (raw-initrd): Use (gnu system file-systems). Add 'spec->file-system' call for #:mounts.
* linux-initrd: Ensure that the guile used in the initrd is referenced.Christopher Baines2017-10-08
| | | | | | | | | | | | | | By referencing guile from the initrd output explicitly, it will be present in the store when this initrd is used. If the exact guile used within the initrd isn't present in the store, then after root is switched during the boot process, loading modules (such as (ice-9 popen)) won't work. This fixes guix-patches bug #28399, "Fix mysql activation, and add a basic test". * gnu/system/linux-initrd.scm (expression->initrd)[builder]: Write out a file called references in to the initrd output, which includes the store path for guile.
* linux-initrd: Avoid monadic style a bit.Ludovic Courtès2017-07-04
| | | | | | | | * gnu/system/linux-initrd.scm (expression->initrd): Use 'program-file' for 'init'. (flat-linux-module-directory): Use 'computed-file' instead of 'gexp->derivation'. (raw-initrd): Adjust accordingly.
* linux-initrd: Add isofs if necessary.Danny Milosavljevic2017-07-02
| | | | * gnu/system/linux-initrd.scm (base-initrd): Add isofs.
* vm: Support creating FAT partitions.Marius Bakke2017-05-19
| | | | | | | * gnu/build/vm.scm (create-ext-file-system, create-fat-file-system): New procedures. (format-partition): Use them. Error for unknown file systems. * gnu/system/vm.scm (qemu-image): Include DOSFSTOOLS. * gnu/system/linux-initrd.scm (base-initrd): Always add nls_is8859-1.ko.
* file-systems: Do not use (gnu packages …).Ludovic Courtès2017-03-21
| | | | | | | | | | | | | | Fixes a regression introduced in 7208995426714c9fc3ad59cadc3cc0f52df0f018 whereby (gnu system file-systems) would pull in (gnu packages …) module, which in turn breaks when importing things like (gnu build shepherd). * gnu/system/file-systems.scm (file-system-type-predicate): Export. (file-system-packages): Move to... * gnu/system/linux-initrd.scm (file-system-packages): ... here. Add docstring. * gnu/services/base.scm: Use it. * tests/file-systems.scm ("does not pull (gnu packages …)"): New test.
* file-systems: Factorize file-system-packages.Danny Milosavljevic2017-03-18
| | | | | | * gnu/system/linux-initrd.scm (base-initrd): Move helper-packages body to ... * gnu/system/file-systems.scm (file-system-packages): ... here. New variable. Also export it.
* linux-initrd: Add a raw-initrd and use it to define base-initrd.Mathieu Othacehe2017-03-11
| | | | | | | | * gnu/system/linux-initrd.scm (raw-initrd): New exported variable. (base-initrd): Use raw-initrd to build the initrd. * doc/guix.texi (Initial RAM Disk): Document it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* system: Add btrfs file system support.David Craven2017-01-10
| | | | | | | | | | | | | | | | * gnu/build/file-systems.scm (%btrfs-endianness, btrfs-superblock?, read-btrfs-superblock, btrfs-superblock-uuid, btrfs-superblock-volume-name, check-btrfs-file-system): New variables. (%paritition-label-readers, %partition-uuid-readers): Add btrfs readers. * gnu/system/linux-initrd.scm (linux-modules): Add btrfs modules when a btrfs file-system is used. * gnu/tests/install.scm (%btrfs-root-os %btrfs-root-os-source, %btrfs-root-installation-script, %test-btrfs-root-os): New system test. * doc/guix.texi: Adjust accordingly. Fixes <http://bugs.gnu.org/19280>.
* linux-initrd: Support FAT filesystems.Marius Bakke2016-12-18
| | | | | | * gnu/system/linux-initrd.scm (base-initrd): When a FAT filesystem is present: Add fatfsck/static in 'helper-packages'; and add nls_iso8859-1 in 'linux-modules'.
* system: Use 'source-module-closure' where needed.Ludovic Courtès2016-09-05
| | | | | | | | | | * gnu/system/vm.scm (%vm-module-closure): Remove. (expression->derivation-in-linux-vm): Use 'source-module-closure' instead of %VM-MODULE-CLOSURE. (qemu-image): Likewise. * gnu/system/linux-initrd.scm (expression->initrd): Likewise. (flat-linux-module-directory, base-initrd): Likewise. * gnu/system/mapped-devices.scm (open-luks-device): Likewise.
* gnu: Switch to 'with-imported-modules'.Ludovic Courtès2016-07-12
| | | | | | | | | | | | | | | | | | | | | | | | * gnu/services.scm (directory-union): Use 'with-imported-modules' instead of the '#:modules' argument of 'computed-file'. * gnu/services/base.scm (udev-rules-union): Likewise. * gnu/services/dbus.scm (system-service-directory): Likewise. * gnu/services/desktop.scm (wrapped-dbus-service): (polkit-directory): Likewise. * gnu/services/networking.scm (tor-configuration->torrc): Likewise. * gnu/services/xorg.scm (xorg-configuration-directory): Likewise. * gnu/system/install.scm (self-contained-tarball): Likewise. * gnu/system/linux-container.scm (container-script): Likewise. * gnu/system/linux-initrd.scm (expression->initrd): Likewise, and remove #:modules parameter. (flat-linux-module-directory): Use 'with-imported-modules'. (base-initrd): Likewise. * gnu/system/locale.scm (locale-directory): Likewise. * gnu/system/shadow.scm (default-skeletons): Likewise. * gnu/system/vm.scm (expression->derivation-in-linux-vm): Likewise. * gnu/tests/base.scm (run-basic-test): Likewise. * gnu/tests/install.scm (run-install): Likewise. * doc/guix.texi (Initial RAM Disk): Update 'expression->initrd' documentation.
* gnu: linux-initrd: Support NVMe devices.Jan Nieuwenhuizen2016-06-29
| | | | | | * gnu/system/linux-initrd.scm (base-initrd): Add nvme to linux-modules. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* mapped-devices: LUKS partitions can be designated by their UUID.Ludovic Courtès2016-04-18
| | | | | | | | | | * gnu/system/mapped-devices.scm (device-mapping-service-type): Add 'modules' and 'imported-modules' fields to 'shepherd-service'. (open-luks-device): Use 'find-partition-by-luks-uuid' to lookup the partition when SOURCE is a bytevector. * gnu/system/linux-initrd.scm (base-initrd): Augment 'use-modules' form. * doc/guix.texi (Mapped Devices): Give example with a UUID.
* system: Add (gnu system mapped-devices).Ludovic Courtès2016-04-18
| | | | | | | | | | * gnu/system/file-systems.scm (<mapped-device>, <mapped-device-type>): Move to... * gnu/system/mapped-devices.scm: ... here. New file. * gnu/system.scm, gnu/services/base.scm, gnu/system/linux-initrd.scm: Use it. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. * gnu.scm (%public-modules): Add it.
* Add (guix build bournish) and use it in the initrd.Ludovic Courtès2016-02-08
| | | | | | | * guix/build/bournish.scm: New file. * Makefile.am (MODULES): Add it. * gnu/system/linux-initrd.scm (base-initrd): Add (guix build bournish) and use it.
* linux-initrd: Add serpent_generic and wp512 to the default set of modules.Mark H Weaver2016-02-03
| | | | | | | | Adds modules needed for encrypted root partitions using the Serpent cipher or Whirlpool digest algorithms. * gnu/system/linux-initrd.scm (base-initrd)[linux-modules]: Add "serpent_generic" and "wp512".
* linux-initrd: Add hid-generic and hid-apple to the default set of modules.Mark H Weaver2016-02-03
| | | | | | | | Fixes keyboard of MacBook2,1 during early boot, e.g. for typing a password to mount an encrypted root partition. * gnu/system/linux-initrd.scm (base-initrd)[linux-modules]: Add "hid-generic" and "hid-apple".
* linux-initrd: Remove "usbkbd" from the default set of modules.Ludovic Courtès2016-01-17
| | | | | | | Reported by Ricardo Wurmus <rekado@elephly.net> at <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=20433#39>. * gnu/system/linux-initrd.scm (base-initrd): Remove "usbkbd".
* linux-initrd: Use pata_acpi, pata_atiixp, and isci modules only on Intel.Mark H Weaver2015-10-27
| | | | | * gnu/system/linux-initrd.scm (base-initrd)[linux-modules]: Include "pata_acpi", "pata_atiixp", and "isci" on Intel systems only.
* linux-initrd: Add LUKS/dm-crypt modules to the initrd.Ludovic Courtès2015-09-20
| | | | | | | | | | Suggested by Petter <petter@mykolab.ch> and Mark H Weaver <mhw@netris.org>. Partly fixes <http://bugs.gnu.org/19190>. * gnu/system/linux-initrd.scm (base-initrd)[linux-modules]: Add dm-crypt and xts.
* gnu: Include (guix build syscalls) module in initrd/VM derivations.David Thompson2015-07-10
| | | | | | | | | | This bug was introduced in commit 85c3127. Thanks to Christopher Webber for reporting it. * gnu/syste/linux-initrd.scm (base-initrd): Include (guix build syscalls) module in derivation. * gnu/system/vm.scm (expression->derivation-in-linux-vm): Likewise.
* gnu: system: Move file-system->spec to (gnu system file-systems).David Thompson2015-07-07
| | | | | * gnu/system/linux-initrd.scm (file-system->spec): Move this... * gnu/system/file-systems.scm: ... to here.
* linux-initrd: Use (guix cpio) instead of GNU cpio.Ludovic Courtès2015-06-24
| | | | | | | | | * gnu/build/linux-initrd.scm (write-cpio-archive): Remove 'open-pipe*' and related calls. Compute list of files in 'files' variable. Use 'cpio:write-cpio-archive'. Remove #:cpio parameter. (build-initrd): Remove #:cpio parameter. * gnu/system/linux-initrd.scm (expression->initrd): Likewise, and adjust BUILDER accordingly. Add (guix cpio) to #:modules.
* linux-initrd: Add virtio drivers by default.Ludovic Courtès2015-04-05
| | | | | * gnu/system/linux-initrd.scm (base-initrd): Change #:virtio? default to #t. This will facilitate the use of GuixSD in VM guests.
* system: Take kernel modules from the user-specified kernel.Andy Wingo2015-04-05
| | | | | | | | | | | * gnu/system/linux-initrd.scm (base-initrd): Add #:linux option to specify the linux kernel to use. * gnu/system/vm.scm (expression->derivation-in-linux-vm): Propagate #:linux to base-initrd. * gnu/system.scm (operating-system-initrd-file): Pass #:linux to 'make-initrd'. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
* linux-initrd: Add 'isci' module, needed for some SAS controllers.Ludovic Courtès2015-02-09
| | | | | | Encountered on a Dell Precision T3600. * gnu/system/linux-initrd.scm (base-initrd)[linux-modules]: Add isci.
* linux-initrd: Add USB kernel modules to the default initrd.Ludovic Courtès2015-01-27
| | | | | | | * gnu/system/linux-initrd.scm (base-initrd)[linux-modules]: Add usb-storage, uas, usbkbd, and usbhid. * gnu/system/vm.scm (system-disk-image): Remove #:extra-modules argument to 'base-initrd'.
* monads: Move '%store-monad' and related procedures where they belong.Ludovic Courtès2015-01-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This turns (guix monads) into a generic module for monads, and moves the store monad and related monadic procedures in their corresponding module. * guix/monads.scm (store-return, store-bind, %store-monad, store-lift, text-file, interned-file, package-file, package->derivation, package->cross-derivation, origin->derivation, imported-modules, compiled, modules, built-derivations, run-with-store): Move to... * guix/store.scm (store-return, store-bind, %store-monad, store-lift, text-file, interned-file): ... here. (%guile-for-build): New variable. (run-with-store): Moved from monads.scm. Remove default value for #:guile-for-build. * guix/packages.scm (default-guile): Export. (set-guile-for-build): New procedure. (package-file, package->derivation, package->cross-derivation, origin->derivation): Moved from monads.scm. * guix/derivations.scm (%guile-for-build): Remove. (imported-modules): Rename to... (%imported-modules): ... this. (compiled-modules): Rename to... (%compiled-modules): ... this. (built-derivations, imported-modules, compiled-modules): New procedures. * gnu/services/avahi.scm, gnu/services/base.scm, gnu/services/dbus.scm, gnu/services/dmd.scm, gnu/services/networking.scm, gnu/services/ssh.scm, gnu/services/xorg.scm, gnu/system/install.scm, gnu/system/linux-initrd.scm, gnu/system/shadow.scm, guix/download.scm, guix/gexp.scm, guix/git-download.scm, guix/profiles.scm, guix/svn-download.scm, tests/monads.scm: Adjust imports accordingly. * guix/monad-repl.scm (default-guile-derivation): New procedure. (store-monad-language, run-in-store): Use it. * build-aux/hydra/gnu-system.scm (qemu-jobs): Add explicit 'set-guile-for-build' call. * guix/scripts/archive.scm (derivation-from-expression): Likewise. * guix/scripts/build.scm (options/resolve-packages): Likewise. * guix/scripts/environment.scm (guix-environment): Likewise. * guix/scripts/system.scm (guix-system): Likewise. * doc/guix.texi (The Store Monad): Adjust module names accordingly.
* linux-initrd: Add the 'virtio_console' module for QEMU guests.Ludovic Courtès2014-12-08
| | | | | * gnu/system/linux-initrd.scm (base-initrd)[virtio-modules]: Add "virtio_console".
* linux-initrd: Remove the ".ko" suffix from module names in 'base-initrd'.Ludovic Courtès2014-11-28
| | | | | * gnu/system/linux-initrd.scm (base-initrd): Remove the .ko suffix from module names.
* linux-initrd: Remove now redundant module names.Ludovic Courtès2014-11-28
| | | | | | | * gnu/system/linux-initrd.scm (base-initrd)[virtio-modules]: Remove "virtio.ko" and "virtio_ring.ko". [virtio-9p-modules]: Remove "fscache.ko" and "9pnet.ko". [linux-modules]: Remove "libahci.ko".
* linux-boot: Load modules and their dependencies, à la 'modprobe'.Ludovic Courtès2014-11-28
| | | | | | | | | | | | | * gnu/build/linux-boot.scm: Use (gnu build linux-modules). (load-linux-module*): Remove. (boot-system): Add #:linux-module-directory parameter. [lookup-module]: New procedure. Call 'current-module-debugging-port'. Pass #:lookup-module to 'load-linux-module*'. Map LOOKUP-MODULE on LINUX-MODULES. * gnu/system/linux-initrd.scm (base-initrd): Adjust 'boot-system' call accordingly. Adjust #:modules argument as well. * gnu/system.scm (operating-system-activation-script)[%modules]: Likewise. * gnu/system/vm.scm (expression->derivation-in-linux-vm): Likewise.
* linux-initrd: Copy modules and their dependencies to the initrd.Ludovic Courtès2014-11-28
| | | | | | | * gnu/system/linux-initrd.scm (flat-linux-module-directory)[build-exp]: Add 'lookup' procedure. Use 'recursive-module-dependencies' to compute the list of modules to copy. Adjust #:modules parameter.
* linux-initrd: Add modules for ATA controllers by default.Ludovic Courtès2014-11-13
| | | | | | | Reported by th3kent on #guix. * gnu/system/linux-initrd.scm (base-initrd)[linux-modules]: Add pata_acpi.ko and pata_atiixp.ko.
* system: Add support for boot-time mapped devices.Ludovic Courtès2014-09-22
| | | | | | | | | | | | | | * gnu/build/linux-boot.scm (boot-system): Add #:pre-mount parameter and honor it. * gnu/system/linux-initrd.scm (base-initrd): Add #:mapped-devices parameter. Add 'device-mapping-commands' variable, and use it to build the #:pre-mount argument of 'boot-system'. * gnu/system.scm (mapped-device-user, operating-system-user-mapped-devices, operating-system-boot-mapped-devices): New procedures. (device-mapping-services): Use 'operating-system-user-mapped-devices' instead of 'operating-system-mapped-devices'. (operating-system-initrd-file): Call the initrd with #:mapped-devices.
* linux-initrd: Remove now obsolete #:guile-modules-in-chroot? parameter.Ludovic Courtès2014-09-18
| | | | | | | | * gnu/build/linux-boot.scm (boot-system): Remove #:guile-modules-in-chroot? and related code. * gnu/system/linux-initrd.scm (base-initrd): Likewise. * gnu/system/vm.scm (expression->derivation-in-linux-vm): Remove #:guile-modules-in-chroot? argument in 'base-initrd' call.
* system: Add support for Linux-style mapped devices.Ludovic Courtès2014-09-12
| | | | | | | | | | | | | | | * gnu/system/file-systems.scm (<mapped-device>): New record type. * gnu/system.scm (<operating-system>)[mapped-devices]: New field. (luks-device-mapping): New procedure. (other-file-system-services)[device-mappings, requirements]: New procedures. Pass #:requirements to 'file-system-service'. (device-mapping-services): New procedure. (essential-services): Use it. Append its result to the return value. (operating-system-initrd-file): Add comment. * gnu/services/base.scm (file-system-service): Add #:requirements parameter and honor it. (device-mapping-service): New procedure. * gnu/system/linux-initrd.scm (base-initrd): Add comment.
* linux-initrd: Store Linux modules in a normal store directory.Ludovic Courtès2014-09-08
| | | | | | | | | | | | | | | | * gnu/system/linux-initrd.scm (expression->initrd): Remove #:linux and #:linux-modules parameters. Remove call to 'float-linux-module-directory'. (base-initrd): Add call to 'float-linux-module-directory'. Use it in #:linux-modules argument in the gexp. Remove #:linux and #:linux-modules arguments to 'expression->initrd'. * gnu/build/linux-initrd.scm (build-initrd): Remove #:linux-module-directory parameter. Don't create 'modules' sub-directory. * gnu/build/linux-boot.scm (boot-system): Mentin that LINUX-MODULES is a list of absolute file names. Don't prepend "/modules/" to LINUX-MODULES. * doc/guix.texi (Initial RAM Disk): Adjust accordingly.
* linux-initrd: Remove #:to-copy argument of 'expression->initrd'.Ludovic Courtès2014-09-08
| | | | | | | | * gnu/system/linux-initrd.scm (expression->initrd): Remove #:to-copy parameter. Remove 'graph-files', and adjust #:references-graphs arguments to just list INIT. (base-initrd): Remove #:to-copy argument. * doc/guix.texi (Initial RAM Disk): Adjust accordingly.
* linux-initrd: Move initrd creation code to (guix build linux-initrd).Ludovic Courtès2014-09-08
| | | | | | | * gnu/build/linux-initrd.scm (cache-compiled-file-name, compile-to-cache, build-initrd): New procedures. * gnu/system/linux-initrd.scm (expression->initrd)[builder]: Remove code now moved above. Use 'build-initrd'.
* linux-initrd: Copy all the script's closure to the initrd.Ludovic Courtès2014-09-08
| | | | | | | | | | | | | * gnu/system/linux-initrd.scm (expression->initrd): Remove calls to 'imported-modules' and 'compiled-modules'. Use 'gexp->script' with EXP. Add the result to TO-COPY. Make /init a symlink to that script, and copy its closure into the "contents" directory. Add fake /proc/self/exe symlink. * gnu/build/linux-boot.scm (load-linux-module*): Add comment about mmap. * gnu/system/vm.scm (system-qemu-image/shared-store-script): Add "-m 256". This turns out to be needed for initrds containing things like e2fsck and several modules; with the default of 128 MiB, loading libahci.ko may fail with -1.
* linux-initrd: Populate the initrd's store with complete closures.Ludovic Courtès2014-09-06
| | | | | | * gnu/system/linux-initrd.scm (expression->initrd): Add 'graph-files'. Use (guix build store-copy) and 'populate-store' instead of local hack. Pass #:references-graphs to 'gexp->derivation'.
* linux-initrd: Move Linux module tree flattening to another derivation.Ludovic Courtès2014-09-04
| | | | | | | | * gnu/system/linux-initrd.scm (expression->initrd)[string->regexp]: Remove. Use 'flat-linux-module-directory'. Remove the equivalent logic from 'builder'. (flat-linux-module-directory): New procedure.
* linux-initrd: Factorize cpio archive creation.Ludovic Courtès2014-09-03
| | | | | | | * gnu/build/linux-initrd.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. * gnu/system/linux-initrd.scm (expression->initrd): Use (gnu build linux-initrd) and 'write-cpio-archive' instead of the inlined code.
* Move part of (gnu build linux-boot) to (gnu build file-systems).Ludovic Courtès2014-09-03
| | | | | | | | | | | | | | | | | | * gnu/build/linux-boot.scm (%ext2-endianness, %ext2-sblock-magic, %ext2-sblock-creator-os, %ext2-sblock-uuid, %ext2-sblock-volume-name, read-ext2-superblock, ext2-superblock-uuid, ext2-superblock-volume-name, disk-partitions, partition-label-predicate, find-partition-by-label, canonicalize-device-spec, MS_RDONLY, MS_NOSUID, MS_NODEV, MS_NOEXEC, MS_BIND, MS_MOVE, bind-mount, check-file-system, mount-flags->bit-mask, mount-file-system): Move to... * gnu/build/file-systems.scm: ... here. New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. * gnu/services/base.scm: Use (gnu build file-systems). * gnu/services/dmd.scm (dmd-configuration-file): Likewise. * gnu/system.scm (operating-system-activation-script): Likewise. * gnu/system/linux-initrd.scm (base-initrd): Likewise. * gnu/system/vm.scm (expression->derivation-in-linux-vm): Likewise.
* Rename (gnu build linux-initrd) to (gnu build linux-boot).Ludovic Courtès2014-09-03
| | | | | | | | | * gnu/build/linux-initrd.scm: Rename to... * gnu/build/linux-boot.scm: ... this. * gnu-system.am (GNU_SYSTEM_MODULES): Adjust accordingly. * gnu/build/activation.scm, gnu/build/vm.scm, gnu/services/base.scm, gnu/services/dmd.scm, gnu/system.scm, gnu/system/linux-initrd.scm, gnu/system/vm.scm: Adjust accordingly.
* Move operating system helpers from (guix build …) to (gnu build …).Ludovic Courtès2014-09-03
| | | | | | | | | | | | * guix/build/activation.scm, guix/build/install.scm, guix/build/linux-initrd.scm, guix/build/vm.scm: Move to... * gnu/build: ... here. * Makefile.am (MODULES): Remove the above guix/build/ files. * gnu-system.am (GNU_SYSTEM_MODULES): Add the above gnu/build/ files here. * gnu/services/base.scm, gnu/services/dmd.scm, gnu/system.scm, gnu/system/linux-initrd.scm, gnu/system/vm.scm, guix/scripts/system.scm: Adjust to the new module names.
* linux-initrd: Load fscache.ko before the 9p modules.Ludovic Courtès2014-08-15
| | | | | * gnu/system/linux-initrd.scm (base-initrd)[virtio-9p-modules]: Add "fscache.ko", required by Linux-libre 3.16.