[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#36477] [PATCH v3 48/48] wip: tools.
From: |
Mathieu Othacehe |
Subject: |
[bug#36477] [PATCH v3 48/48] wip: tools. |
Date: |
Mon, 02 Sep 2019 17:35:30 +0200 |
User-agent: |
mu4e 1.2.0; emacs 26.3 |
Not for review, sorry!
Mathieu
Mathieu Othacehe writes:
> ---
> build-sorted-ok-ko-packages.sh | 354 ++++++++++++++++++++++++
> deps.scm | 184 ++++++++++++
> gnu/system/examples/mini-beaglebone.scm | 61 ++++
> gnu/system/examples/mini.scm | 54 ++++
> 4 files changed, 653 insertions(+)
> create mode 100755 build-sorted-ok-ko-packages.sh
> create mode 100644 deps.scm
> create mode 100644 gnu/system/examples/mini-beaglebone.scm
> create mode 100644 gnu/system/examples/mini.scm
>
> diff --git a/build-sorted-ok-ko-packages.sh b/build-sorted-ok-ko-packages.sh
> new file mode 100755
> index 0000000000..a2a13dcdfc
> --- /dev/null
> +++ b/build-sorted-ok-ko-packages.sh
> @@ -0,0 +1,354 @@
> +#!/bin/bash -
> +
> +set -o nounset # Treat unset variables as an
> error
> +
> +mngt_dir()
> +{
> + local dirname=$1
> +
> + rm -rf ${dirname}.bk
> + if [ -e $dirname ]; then
> + mv $dirname ${dirname}.bk
> + fi
> + mkdir ${dirname}
> +}
> +
> +DEPENDENCIES_DIR="packages-dependencies"
> +KO_OUT_LOG_DIR="ko-out-log-dir"
> +OUT_FILE_NAME_BASE="packages-status"
> +OUT_FILE_NAME_EXT="wiki"
> +OUT_FILE_NAME=${OUT_FILE_NAME_BASE}.${OUT_FILE_NAME_EXT}
> +
> +rm -f ${OUT_FILE_NAME}.bk
> +if [ -e $OUT_FILE_NAME ]; then
> + mv $OUT_FILE_NAME ${OUT_FILE_NAME}.bk
> +fi
> +
> +mngt_dir ${DEPENDENCIES_DIR}
> +mngt_dir ${KO_OUT_LOG_DIR}
> +
> +NB_OK=0
> +NB_KO=0
> +NB_UNKNOWN=0
> +
> +file_header()
> +{
> + local title="Packages status"
> +
> + echo ""
> + echo "start file $OUT_FILE_NAME"
> + echo ""
> +
> + echo "" >> $OUT_FILE_NAME
> + echo "= $title =" >> $OUT_FILE_NAME
> + echo "" >> $OUT_FILE_NAME
> +}
> +
> +section_header()
> +{
> + local title=$1
> +
> + echo ""
> + echo ""
> + echo "start section \"$title\""
> +
> + echo "" >> $OUT_FILE_NAME
> + echo "== $title ==" >> $OUT_FILE_NAME
> + echo "" >> $OUT_FILE_NAME
> + echo "| package | status | nb dependencies |" >> $OUT_FILE_NAME
> +
> + NB_OK=0
> + NB_KO=0
> + NB_UNKNOWN=0
> +}
> +
> +section_footer()
> +{
> + echo "" >> $OUT_FILE_NAME
> + echo "nb packages OK in section: $NB_OK" >> $OUT_FILE_NAME
> + echo "" >> $OUT_FILE_NAME
> + echo "nb packages *KO* in section: $NB_KO" >> $OUT_FILE_NAME
> + echo "" >> $OUT_FILE_NAME
> + echo "nb packages UNKNOWN in section: $NB_UNKNOWN" >> $OUT_FILE_NAME
> + echo "" >> $OUT_FILE_NAME
> + echo "" >> $OUT_FILE_NAME
> +}
> +
> +add_package_status()
> +{
> + local package=$1
> + local status=$2
> + local nb_deps=$3
> +
> + if [ "$status" = "OK" ]; then
> + NB_OK=$(($NB_OK+1))
> + elif [ "$status" = "KO" ]; then
> + status="*KO*"
> + NB_KO=$(($NB_KO+1))
> + else
> + NB_UNKNOWN=$(($NB_UNKNOWN+1))
> + fi
> +
> + echo "| $package | $status | $nb_deps |" >> $OUT_FILE_NAME
> +}
> +
> +LIST_PACK_SUPPOSED_OK=""
> +
> +LIST_PACK_SUPPOSED_OK+=" xz"
> +LIST_PACK_SUPPOSED_OK+=" tk"
> +LIST_PACK_SUPPOSED_OK+=" m4"
> +LIST_PACK_SUPPOSED_OK+=" ed"
> +LIST_PACK_SUPPOSED_OK+=" bc"
> +LIST_PACK_SUPPOSED_OK+=" tcl"
> +LIST_PACK_SUPPOSED_OK+=" sed"
> +LIST_PACK_SUPPOSED_OK+=" mpc"
> +LIST_PACK_SUPPOSED_OK+=" lzo"
> +LIST_PACK_SUPPOSED_OK+=" isl"
> +LIST_PACK_SUPPOSED_OK+=" gss"
> +LIST_PACK_SUPPOSED_OK+=" gmp"
> +LIST_PACK_SUPPOSED_OK+=" bdb"
> +LIST_PACK_SUPPOSED_OK+=" acl"
> +LIST_PACK_SUPPOSED_OK+=" zlib"
> +LIST_PACK_SUPPOSED_OK+=" sudo"
> +LIST_PACK_SUPPOSED_OK+=" perl"
> +LIST_PACK_SUPPOSED_OK+=" pcre"
> +LIST_PACK_SUPPOSED_OK+=" mpfr"
> +LIST_PACK_SUPPOSED_OK+=" make"
> +LIST_PACK_SUPPOSED_OK+=" lzip"
> +LIST_PACK_SUPPOSED_OK+=" gzip"
> +LIST_PACK_SUPPOSED_OK+=" grep"
> +LIST_PACK_SUPPOSED_OK+=" gdbm"
> +LIST_PACK_SUPPOSED_OK+=" gawk"
> +LIST_PACK_SUPPOSED_OK+=" fuse"
> +LIST_PACK_SUPPOSED_OK+=" flex"
> +LIST_PACK_SUPPOSED_OK+=" flac"
> +LIST_PACK_SUPPOSED_OK+=" file"
> +LIST_PACK_SUPPOSED_OK+=" fftw"
> +LIST_PACK_SUPPOSED_OK+=" bash"
> +LIST_PACK_SUPPOSED_OK+=" attr"
> +LIST_PACK_SUPPOSED_OK+=" which"
> +LIST_PACK_SUPPOSED_OK+=" unzip"
> +LIST_PACK_SUPPOSED_OK+=" rhash"
> +LIST_PACK_SUPPOSED_OK+=" libuv"
> +LIST_PACK_SUPPOSED_OK+=" libgc"
> +LIST_PACK_SUPPOSED_OK+=" libev"
> +LIST_PACK_SUPPOSED_OK+=" guile"
> +LIST_PACK_SUPPOSED_OK+=" groff"
> +LIST_PACK_SUPPOSED_OK+=" gperf"
> +LIST_PACK_SUPPOSED_OK+=" glibc"
> +LIST_PACK_SUPPOSED_OK+=" expat"
> +LIST_PACK_SUPPOSED_OK+=" bzip2"
> +LIST_PACK_SUPPOSED_OK+=" bison"
> +LIST_PACK_SUPPOSED_OK+=" xtrans"
> +LIST_PACK_SUPPOSED_OK+=" tzdata"
> +LIST_PACK_SUPPOSED_OK+=" sqlite"
> +LIST_PACK_SUPPOSED_OK+=" shishi"
> +LIST_PACK_SUPPOSED_OK+=" shadow"
> +LIST_PACK_SUPPOSED_OK+=" python"
> +LIST_PACK_SUPPOSED_OK+=" nettle"
> +LIST_PACK_SUPPOSED_OK+=" libxft"
> +LIST_PACK_SUPPOSED_OK+=" libxcb"
> +LIST_PACK_SUPPOSED_OK+=" libxau"
> +LIST_PACK_SUPPOSED_OK+=" libx11"
> +LIST_PACK_SUPPOSED_OK+=" libpng"
> +LIST_PACK_SUPPOSED_OK+=" libogg"
> +LIST_PACK_SUPPOSED_OK+=" libidn"
> +LIST_PACK_SUPPOSED_OK+=" libffi"
> +LIST_PACK_SUPPOSED_OK+=" libelf"
> +LIST_PACK_SUPPOSED_OK+=" libcap"
> +LIST_PACK_SUPPOSED_OK+=" libbsd"
> +LIST_PACK_SUPPOSED_OK+=" indent"
> +LIST_PACK_SUPPOSED_OK+=" gnutls"
> +LIST_PACK_SUPPOSED_OK+=" c-ares"
> +LIST_PACK_SUPPOSED_OK+=" texinfo"
> +LIST_PACK_SUPPOSED_OK+=" python2"
> +LIST_PACK_SUPPOSED_OK+=" psutils"
> +LIST_PACK_SUPPOSED_OK+=" ncurses"
> +LIST_PACK_SUPPOSED_OK+=" libxslt"
> +LIST_PACK_SUPPOSED_OK+=" libxml2"
> +LIST_PACK_SUPPOSED_OK+=" libxext"
> +LIST_PACK_SUPPOSED_OK+=" libtool"
> +LIST_PACK_SUPPOSED_OK+=" libtiff"
> +LIST_PACK_SUPPOSED_OK+=" libssh2"
> +LIST_PACK_SUPPOSED_OK+=" libltdl"
> +LIST_PACK_SUPPOSED_OK+=" libjpeg"
> +LIST_PACK_SUPPOSED_OK+=" libidn2"
> +LIST_PACK_SUPPOSED_OK+=" jansson"
> +LIST_PACK_SUPPOSED_OK+=" shepherd"
> +LIST_PACK_SUPPOSED_OK+=" net-base"
> +LIST_PACK_SUPPOSED_OK+=" libxdmcp"
> +LIST_PACK_SUPPOSED_OK+=" libtasn1"
> +LIST_PACK_SUPPOSED_OK+=" libpaper"
> +LIST_PACK_SUPPOSED_OK+=" jemalloc"
> +LIST_PACK_SUPPOSED_OK+=" jbig2dec"
> +LIST_PACK_SUPPOSED_OK+=" gs-fonts"
> +LIST_PACK_SUPPOSED_OK+=" freetype"
> +LIST_PACK_SUPPOSED_OK+=" elfutils"
> +LIST_PACK_SUPPOSED_OK+=" binutils"
> +LIST_PACK_SUPPOSED_OK+=" automake"
> +LIST_PACK_SUPPOSED_OK+=" autoconf"
> +LIST_PACK_SUPPOSED_OK+=" alsa-lib"
> +LIST_PACK_SUPPOSED_OK+=" xorgproto"
> +LIST_PACK_SUPPOSED_OK+=" xcb-proto"
> +LIST_PACK_SUPPOSED_OK+=" linux-pam"
> +LIST_PACK_SUPPOSED_OK+=" libvorbis"
> +LIST_PACK_SUPPOSED_OK+=" libgcrypt"
> +LIST_PACK_SUPPOSED_OK+=" inetutils"
> +LIST_PACK_SUPPOSED_OK+=" findutils"
> +LIST_PACK_SUPPOSED_OK+=" e2fsprogs"
> +LIST_PACK_SUPPOSED_OK+=" diffutils"
> +LIST_PACK_SUPPOSED_OK+=" coreutils"
> +LIST_PACK_SUPPOSED_OK+=" util-linux"
> +LIST_PACK_SUPPOSED_OK+=" libxrender"
> +LIST_PACK_SUPPOSED_OK+=" libsndfile"
> +LIST_PACK_SUPPOSED_OK+=" libsigsegv"
> +LIST_PACK_SUPPOSED_OK+=" libfontenc"
> +LIST_PACK_SUPPOSED_OK+=" guile-json"
> +LIST_PACK_SUPPOSED_OK+=" fontconfig"
> +LIST_PACK_SUPPOSED_OK+=" util-macros"
> +LIST_PACK_SUPPOSED_OK+=" mkfontscale"
> +LIST_PACK_SUPPOSED_OK+=" linux-libre"
> +LIST_PACK_SUPPOSED_OK+=" ghostscript"
> +LIST_PACK_SUPPOSED_OK+=" docbook-xsl"
> +LIST_PACK_SUPPOSED_OK+=" docbook-xml"
> +LIST_PACK_SUPPOSED_OK+=" bash-static"
> +LIST_PACK_SUPPOSED_OK+=" libunistring"
> +LIST_PACK_SUPPOSED_OK+=" libgpg-error"
> +LIST_PACK_SUPPOSED_OK+=" bash-minimal"
> +LIST_PACK_SUPPOSED_OK+=" libsamplerate"
> +LIST_PACK_SUPPOSED_OK+=" libatomic-ops"
> +LIST_PACK_SUPPOSED_OK+=" e2fsck-static"
> +LIST_PACK_SUPPOSED_OK+=" wireless-regdb"
> +LIST_PACK_SUPPOSED_OK+=" python-wrapper"
> +LIST_PACK_SUPPOSED_OK+=" python-minimal"
> +LIST_PACK_SUPPOSED_OK+=" guile-readline"
> +LIST_PACK_SUPPOSED_OK+=" guile-gdbm-ffi"
> +LIST_PACK_SUPPOSED_OK+=" gettext-minimal"
> +LIST_PACK_SUPPOSED_OK+=" libpthread-stubs"
> +LIST_PACK_SUPPOSED_OK+=" openfwwf-firmware"
> +LIST_PACK_SUPPOSED_OK+=" glibc-utf8-locales"
> +LIST_PACK_SUPPOSED_OK+=" ath9k-htc-firmware"
> +LIST_PACK_SUPPOSED_OK+=" linux-libre-headers"
> +LIST_PACK_SUPPOSED_OK+=" guile-static-stripped"
> +LIST_PACK_SUPPOSED_OK+=" python-minimal-wrapper"
> +LIST_PACK_SUPPOSED_OK+=" pkg-config"
> +LIST_PACK_SUPPOSED_OK+=" libarchive"
> +LIST_PACK_SUPPOSED_OK+=" cyrus-sasl"
> +LIST_PACK_SUPPOSED_OK+=" tcsh"
> +LIST_PACK_SUPPOSED_OK+=" xmlto"
> +LIST_PACK_SUPPOSED_OK+=" icu4c" # ?
> +LIST_PACK_SUPPOSED_OK+=" mit-krb5" # ok ?
> +LIST_PACK_SUPPOSED_OK+=" help2man"
> +LIST_PACK_SUPPOSED_OK+=" mkfontdir"
> +LIST_PACK_SUPPOSED_OK+=" lvm2"
> +LIST_PACK_SUPPOSED_OK+=" eudev"
> +LIST_PACK_SUPPOSED_OK+=" procps"
> +LIST_PACK_SUPPOSED_OK+=" alsa-utils"
> +LIST_PACK_SUPPOSED_OK+=" boost"
> +LIST_PACK_SUPPOSED_OK+=" swig"
> +LIST_PACK_SUPPOSED_OK+=" doxygen"
> +LIST_PACK_SUPPOSED_OK+=" curl"
> +LIST_PACK_SUPPOSED_OK+=" nghttp2"
> +LIST_PACK_SUPPOSED_OK+=" openldap"
> +LIST_PACK_SUPPOSED_OK+=" git-minimal"
> +
> +
> +LIST_PACK_SUPPOSED_KO=""
> +
> +LIST_PACK_SUPPOSED_KO+=" libnl"
> +LIST_PACK_SUPPOSED_KO+=" crda" # depends on libnl
> +LIST_PACK_SUPPOSED_KO+=" cmake"
> +LIST_PACK_SUPPOSED_KO+=" guile-wm"
> +LIST_PACK_SUPPOSED_KO+=" guile-xcb"
> +
> +count_dependencies()
> +{
> + local pack="$1"
> + local depsfile="$DEPENDENCIES_DIR/${pack}.dot"
> + guix graph -t bag-emerged $pack > $depsfile
> + count=$(cat $depsfile | grep "\->" | wc -l)
> + echo $count
> +}
> +
> +build_pack()
> +{
> + local pack="$1"
> + local out_file=$(mktemp /tmp/test-guix.XXXXX)
> + local result=0
> +
> + ./pre-inst-env guix build --target=aarch64-linux-gnu $pack > $out_file
> 2>&1
> + result=$?
> +
> + if [ $result -eq 0 ]; then
> + rm -f $out_file
> + else
> + mv $out_file ${KO_OUT_LOG_DIR}/${pack}.log
> + fi
> +
> + return $result
> +}
> +
> +build_all_in_list()
> +{
> + local list_pack="$@"
> + local status=unknown
> +
> + for pack in $list_pack; do
> + echo ""
> + echo ""
> + echo "--------------- package $pack ---------------"
> + echo ""
> + build_pack $pack
> + if [ $? -eq 0 ]; then
> + status="OK"
> + else
> + status="KO"
> + fi
> +
> + nb_deps="$(count_dependencies $pack)"
> + echo " package $pack is $status (and has $nb_deps dependencies)"
> + echo ""
> + echo ""
> +
> + add_package_status $pack $status $nb_deps
> + done
> +}
> +
> +if [ $# -ge 1 ]; then
> + EXEC_SUPPOSED_OK=0
> + EXEC_SUPPOSED_KO=0
> + while [ $# -ge 1 ]; do
> + case "$1" in
> + "--ok")
> + EXEC_SUPPOSED_OK=1
> + ;;
> + "--ko")
> + EXEC_SUPPOSED_KO=1
> + ;;
> + *)
> + echo "Unknown argument $1"
> + exit 1
> + ;;
> + esac
> + shift
> + done
> +else
> + EXEC_SUPPOSED_OK=1
> + EXEC_SUPPOSED_KO=1
> +fi
> +
> +file_header
> +
> +if [ $EXEC_SUPPOSED_OK -eq 1 ]; then
> + section_header "Supposed OK Packages"
> + build_all_in_list $LIST_PACK_SUPPOSED_OK
> + section_footer
> +fi
> +
> +if [ $EXEC_SUPPOSED_KO -eq 1 ]; then
> + section_header "Supposed KO Packages"
> + build_all_in_list $LIST_PACK_SUPPOSED_KO
> + section_footer
> +fi
> +
> +
> diff --git a/deps.scm b/deps.scm
> new file mode 100644
> index 0000000000..75e8f106fe
> --- /dev/null
> +++ b/deps.scm
> @@ -0,0 +1,184 @@
> +(use-modules (guix)
> + (guix scripts build)
> + (gnu)
> + (ice-9 receive))
> +
> +(define deps
> + '("sudo"
> + "guile-xcb"
> + "guile-wm"
> + "tzdata"
> + "guile-gdbm-ffi"
> + "gzip"
> + "expat"
> + "attr"
> + "gettext-minimal"
> + "m4"
> + "perl"
> + "gmp"
> + "acl"
> + "libcap"
> + "libsigsegv"
> + "pkg-config"
> + "zlib"
> + "libffi"
> + "glibc"
> + "bash-static"
> + "bison"
> + "texinfo"
> + "lzip"
> + "ed"
> + "libatomic-ops"
> + "libltdl"
> + "libunistring"
> + "libgc"
> + "linux-libre-headers"
> + "bzip2"
> + "bash-minimal"
> + "diffutils"
> + "binutils"
> + "findutils"
> + "guile"
> + "sed"
> + "make"
> + "gawk"
> + "xz"
> + "grep"
> + "file"
> + "coreutils"
> + "glibc-utf8-locales"
> + "libpng"
> + "freetype"
> + "libfontenc"
> + "mkfontdir"
> + "mkfontscale"
> + "guile-readline"
> + "lzo"
> + "rhash"
> + "libuv"
> + "libarchive"
> + "cmake"
> + "ath9k-htc-firmware"
> + "openfwwf-firmware"
> + "inetutils"
> + "tcsh"
> + "pcre"
> + "boost"
> + "swig"
> + "libnl"
> + "wireless-regdb"
> + "flac"
> + "libsndfile"
> + "libvorbis"
> + "libogg"
> + "xmlto"
> + "fftw"
> + "alsa-lib"
> + "alsa-utils"
> + "libsamplerate"
> + "lvm2"
> + "fuse"
> + "crda"
> + "which"
> + "help2man"
> + "indent"
> + "flex"
> + "gdbm"
> + "mit-krb5"
> + "openldap"
> + "cyrus-sasl"
> + "curl"
> + "icu4c"
> + "bdb"
> + "libev"
> + "jemalloc"
> + "jansson"
> + "c-ares"
> + "linux-pam"
> + "shishi"
> + "xtrans"
> + "libbsd"
> + "python-minimal-wrapper"
> + "xcb-proto"
> + "python-minimal"
> + "gs-fonts"
> + "fontconfig"
> + "libxrender"
> + "libxft"
> + "tk"
> + "xorgproto"
> + "libpthread-stubs"
> + "util-macros"
> + "libxau"
> + "libxext"
> + "libxcb"
> + "sqlite"
> + "libxdmcp"
> + "libx11"
> + "libpaper"
> + "jbig2dec"
> + "tcl"
> + "libjpeg"
> + "libtiff"
> + "psutils"
> + "ghostscript"
> + "groff"
> + "libgpg-error"
> + "libtasn1"
> + "libssh2"
> + "python2"
> + "gss"
> + "libgcrypt"
> + "nettle"
> + "libidn"
> + "nghttp2"
> + "libidn2"
> + "git-minimal"
> + "gnutls"
> + "guile-json"
> + "unzip"
> + "autoconf"
> + "automake"
> + "docbook-xml"
> + "libtool"
> + "python"
> + "python-wrapper"
> + "libxslt"
> + "libxml2"
> + "docbook-xsl"
> + "gperf"
> + "eudev"
> + "shadow"
> + "bash"
> + "shepherd"
> + "isl"
> + "net-base"
> + "procps"
> + "util-linux"
> + "e2fsprogs"
> + "e2fsck-static"
> + "guile-static-stripped"
> + "libelf"
> + "ncurses"
> + "mpc"
> + "bc"
> + "elfutils"
> + "mpfr"
> + "linux-libre"))
> +
> +(define store (open-connection))
> +
> +(define arguments
> + (map (lambda (spec)
> + `(argument . ,spec))
> + deps))
> +
> +(run-with-store store
> + (mlet %store-monad
> + ((derivations ->
> + ((@@ (guix scripts build) options->derivations)
> + store
> + `((target . "aarch64-linux-gnu")
> + ,@arguments))))
> + (mbegin %store-monad
> + (built-derivations derivations))))
> diff --git a/gnu/system/examples/mini-beaglebone.scm
> b/gnu/system/examples/mini-beaglebone.scm
> new file mode 100644
> index 0000000000..6ce0ab1b1c
> --- /dev/null
> +++ b/gnu/system/examples/mini-beaglebone.scm
> @@ -0,0 +1,61 @@
> +;; This is an operating system configuration template
> +;; for a "bare bones" setup, with no X11 display server.
> +
> +(use-modules (gnu) (gnu bootloader u-boot))
> +(use-service-modules networking ssh)
> +(use-package-modules bootloaders linux screen)
> +
> +(operating-system
> + (host-name "komputilo")
> + (timezone "Europe/Berlin")
> + (locale "en_US.utf8")
> +
> + ;; Boot in "legacy" BIOS mode, assuming /dev/sdX is the
> + ;; target hard disk, and "my-root" is the label of the target
> + ;; root file system.
> + (bootloader (bootloader-configuration
> + (bootloader u-boot-beaglebone-black-bootloader)
> + (target "/dev/vda")))
> +
> + (kernel linux-libre-arm-omap2plus)
> +
> + ;; This module is required to mount the SD card.
> + (initrd-modules (cons "omap_hsmmc" %base-initrd-modules))
> +
> + (file-systems (cons (file-system
> + (device (file-system-label "my-root"))
> + (mount-point "/")
> + (type "ext4"))
> + %base-file-systems))
> +
> + ;; This is where user accounts are specified. The "root"
> + ;; account is implicit, and is initially created with the
> + ;; empty password.
> + (users (cons (user-account
> + (name "alice")
> + (comment "Bob's sister")
> + (group "users")
> +
> + ;; Adding the account to the "wheel" group
> + ;; makes it a sudoer. Adding it to "audio"
> + ;; and "video" allows the user to play sound
> + ;; and access the webcam.
> + (supplementary-groups '("wheel"
> + "audio" "video")))
> + %base-user-accounts))
> +
> + ;; Globally-installed packages.
> + (packages '())
> +
> + ;; Add services to the baseline: a DHCP client and
> + ;; an SSH server.
> + (services (list
> + (service udev-service-type
> + (udev-configuration
> + (rules (list lvm2 fuse alsa-utils crda))))
> + (agetty-service
> + (agetty-configuration
> + (extra-options '("-L"))
> + (baud-rate "115200")
> + (term "vt100")
> + (tty "ttyO0"))))))
> diff --git a/gnu/system/examples/mini.scm b/gnu/system/examples/mini.scm
> new file mode 100644
> index 0000000000..f7c7b63308
> --- /dev/null
> +++ b/gnu/system/examples/mini.scm
> @@ -0,0 +1,54 @@
> +;; This is an operating system configuration template
> +;; for a "bare bones" setup, with no X11 display server.
> +
> +(use-modules (gnu))
> +(use-service-modules networking ssh)
> +(use-package-modules linux screen)
> +
> +(define dummy-bootloader
> + (bootloader
> + (inherit grub-bootloader)
> + (installer #f)))
> +
> +(operating-system
> + (host-name "komputilo")
> + (timezone "Europe/Berlin")
> + (locale "en_US.utf8")
> +
> + ;; Boot in "legacy" BIOS mode, assuming /dev/sdX is the
> + ;; target hard disk, and "my-root" is the label of the target
> + ;; root file system.
> + (bootloader (bootloader-configuration
> + (bootloader dummy-bootloader)
> + (target "/dev/sdX")))
> + (file-systems (cons (file-system
> + (device (file-system-label "my-root"))
> + (mount-point "/")
> + (type "ext4"))
> + %base-file-systems))
> +
> + ;; This is where user accounts are specified. The "root"
> + ;; account is implicit, and is initially created with the
> + ;; empty password.
> + (users (cons (user-account
> + (name "alice")
> + (comment "Bob's sister")
> + (group "users")
> +
> + ;; Adding the account to the "wheel" group
> + ;; makes it a sudoer. Adding it to "audio"
> + ;; and "video" allows the user to play sound
> + ;; and access the webcam.
> + (supplementary-groups '("wheel"
> + "audio" "video")))
> + %base-user-accounts))
> +
> + ;; Globally-installed packages.
> + (packages '())
> +
> + ;; Add services to the baseline: a DHCP client and
> + ;; an SSH server.
> + (services (list
> + (service udev-service-type
> + (udev-configuration
> + (rules (list lvm2 fuse alsa-utils crda)))))))
- [bug#36477] [PATCH v3 40/48] gnu: linux-libre: Enable built-in ext4 support., (continued)
[bug#36477] [PATCH v3 27/48] gnu: guile-gcrypt: Fix cross-compilation., Mathieu Othacehe, 2019/09/02
[bug#36477] [PATCH v3 39/48] linux-initrd: Use native gzip., Mathieu Othacehe, 2019/09/02
[bug#36477] [PATCH v3 41/48] gexp: Use cross extensions when cross-compiling., Mathieu Othacehe, 2019/09/02
[bug#36477] [PATCH v3 45/48] system: vm: Add arm64 support., Mathieu Othacehe, 2019/09/02
[bug#36477] [PATCH v3 48/48] wip: tools., Mathieu Othacehe, 2019/09/02
- [bug#36477] [PATCH v3 48/48] wip: tools.,
Mathieu Othacehe <=
[bug#36477] [PATCH v3 47/48] scripts: system: Add --target option., Mathieu Othacehe, 2019/09/02