From 644890069cad4977f9d9cfa15703d74906560cc6 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Wed, 5 Nov 2014 09:45:29 +0100 Subject: mklive: install vpkg conf file to the system virtualpkg directory instead. --- data/void-vpkgs.conf | 4 +++- mklive.sh.in | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/data/void-vpkgs.conf b/data/void-vpkgs.conf index c1e8a89..75b56ac 100644 --- a/data/void-vpkgs.conf +++ b/data/void-vpkgs.conf @@ -1,7 +1,9 @@ # Default void configuration # -# - gawk as default awk +# - gawk as default awk(1) +# - libressl-openssl as default openssl(1) # - openbsd-man as default man(1) # virtualpkg=awk-0_1:gawk +virtualpkg=openssl-1.0_1:libressl-openssl virtualpkg=man-0_1:openbsd-man diff --git a/mklive.sh.in b/mklive.sh.in index 8700075..8e4cd43 100644 --- a/mklive.sh.in +++ b/mklive.sh.in @@ -75,7 +75,7 @@ copy_void_keys() { cp keys/*.plist "$1"/var/db/xbps/keys } copy_void_conf() { - install -Dm644 data/void-vpkgs.conf "$1"/etc/xbps/virtualpkg.d/void.conf + install -Dm644 data/void-vpkgs.conf "$1"/usr/share/xbps/virtualpkg.d/void.conf } install_prereqs() { -- cgit 1.4.1 From 972734f8023c29af1f1dc10f9170b8b57316b4b3 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Fri, 14 Nov 2014 18:27:26 +0100 Subject: Update copyright. --- COPYING | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/COPYING b/COPYING index 03cf7ef..706bd2b 100644 --- a/COPYING +++ b/COPYING @@ -1,4 +1,4 @@ -# Copyright (c) 2009-2013 Juan Romero Pardines +# Copyright (c) 2009-2014 Juan RP # Copyright (c) 2012 Dave Elusive # All rights reserved. # -- cgit 1.4.1 From c4efb3d95ec69064a0da2c4e3710fa593fd4b88a Mon Sep 17 00:00:00 2001 From: Juan RP Date: Sat, 29 Nov 2014 18:16:50 +0100 Subject: mkimage: if root fstype is ext[34] disable the journal. --- mkimage.sh.in | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/mkimage.sh.in b/mkimage.sh.in index 493f359..11e1362 100644 --- a/mkimage.sh.in +++ b/mkimage.sh.in @@ -151,7 +151,11 @@ parted $FILENAME toggle 1 boot LOOPDEV=$(losetup --show --find $FILENAME) partx -a $LOOPDEV mkfs.${BOOT_FSTYPE} $_args ${LOOPDEV}p1 >/dev/null -mkfs.${ROOT_FSTYPE} ${LOOPDEV}p2 >/dev/null 2>&1 + +case "$ROOT_FSTYPE" in + ext[34]) disable_journal="-O ^has_journal";; +esac +mkfs.${ROOT_FSTYPE} $disable_journal ${LOOPDEV}p2 >/dev/null 2>&1 info_msg "Unpacking rootfs tarball ..." ROOTFSDIR=$(mktemp -d) -- cgit 1.4.1 From a30890cffc5fce967396353c8ecaabf871e57ad8 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Tue, 2 Dec 2014 19:53:04 +0100 Subject: dracut/adduser: autologin if live.autologin is set in the kernel cmdline. --- dracut/adduser.sh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/dracut/adduser.sh b/dracut/adduser.sh index 6d0142c..68b6bd4 100644 --- a/dracut/adduser.sh +++ b/dracut/adduser.sh @@ -6,8 +6,10 @@ type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh echo void-live > ${NEWROOT}/etc/hostname +AUTOLOGIN=$(getarg live.autologin) USERNAME=$(getarg live.user) USERSHELL=$(getarg live.shell) + [ -z "$USERNAME" ] && USERNAME=anon [ -x $NEWROOT/bin/bash -a -z "$USERSHELL" ] && USERSHELL=/bin/bash [ -z "$USERSHELL" ] && USERSHELL=/bin/sh @@ -48,3 +50,7 @@ polkit.addRule(function(action, subject) { _EOF chroot ${NEWROOT} chown polkitd:polkitd /etc/polkit-1/rules.d/void-live.rules fi + +if [ -n "$AUTOLOGIN" ]; then + sed -i "s,GETTY_ARGS=\"--noclear\",GETTY_ARGS=\"--noclear -a $USERNAME\",g" ${NEWROOT}/etc/sv/agetty-tty1/run +fi -- cgit 1.4.1 From 6847c606fb8a027c7f93c69846f27d5146904b5c Mon Sep 17 00:00:00 2001 From: Juan RP Date: Tue, 2 Dec 2014 21:03:41 +0100 Subject: .gitignore: don't forbit *.sh, obviously :-) --- .gitignore | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitignore b/.gitignore index c97f963..e69de29 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +0,0 @@ -*.sh -- cgit 1.4.1 From ca99f9f5bb66a4e160ac3404253d5fb7a79559eb Mon Sep 17 00:00:00 2001 From: Juan RP Date: Tue, 2 Dec 2014 21:03:58 +0100 Subject: New dracut module helper to enable runit services. --- dracut/module-setup.sh | 1 + dracut/services.sh | 29 +++++++++++++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 dracut/services.sh diff --git a/dracut/module-setup.sh b/dracut/module-setup.sh index a44efd2..765f41f 100644 --- a/dracut/module-setup.sh +++ b/dracut/module-setup.sh @@ -18,4 +18,5 @@ install() { inst_hook pre-pivot 02 "$moddir/display-manager-autologin.sh" inst_hook pre-pivot 03 "$moddir/copy-initramfs.sh" inst_hook pre-pivot 04 "$moddir/locale.sh" + inst_hook pre-pivot 05 "$moddir/services.sh" } diff --git a/dracut/services.sh b/dracut/services.sh new file mode 100644 index 0000000..c26ba19 --- /dev/null +++ b/dracut/services.sh @@ -0,0 +1,29 @@ +#!/bin/sh +# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- +# ex: ts=8 sw=4 sts=4 et filetype=sh + +type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh + +SERVICEDIR=$NEWROOT/etc/sv/ +SERVICES="$(getarg live.services)" + +for f in ${SERVICES}; do + ln -s /etc/sv/$f $NEWROOT/etc/runit/runsvdir/default/ +done + +dhcpcd=1 +for f in connmand NetworkManager wicd; do + if [ -e $SERVICEDIR/$f ]; then + unset dhcpcd + fi +done + +# Enable all services by default... with some exceptions. +for f in $SERVICEDIR/*; do + _service=${f##*/} + case "${_service}" in + agetty-console|sulogin|dhcpcd-*) ;; # ignored + dhcpcd) [ -n "$dhcpcd" ] && ln -sf ${f##$NEWROOT} $NEWROOT/etc/runit/runsvdir/default/;; + *) ln -sf ${f##$NEWROOT} $NEWROOT/etc/runit/runsvdir/default/;; + esac +done -- cgit 1.4.1 From 32e9d6e04a4298955283c49a5eb9bba823328dc6 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Tue, 2 Dec 2014 21:19:12 +0100 Subject: dracut/services: do not auto enable ip{,6}tables. --- dracut/services.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dracut/services.sh b/dracut/services.sh index c26ba19..8ebe8c7 100644 --- a/dracut/services.sh +++ b/dracut/services.sh @@ -22,7 +22,7 @@ done for f in $SERVICEDIR/*; do _service=${f##*/} case "${_service}" in - agetty-console|sulogin|dhcpcd-*) ;; # ignored + agetty-console|sulogin|dhcpcd-*|iptables|ip6tables) ;; # ignored dhcpcd) [ -n "$dhcpcd" ] && ln -sf ${f##$NEWROOT} $NEWROOT/etc/runit/runsvdir/default/;; *) ln -sf ${f##$NEWROOT} $NEWROOT/etc/runit/runsvdir/default/;; esac -- cgit 1.4.1 From ef1c3e67661a055704baa413f515aaeb5e8beea2 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Wed, 3 Dec 2014 09:15:43 +0100 Subject: dracut/display-manager-autologin: start xfce4 if startxfce4 exists. --- dracut/display-manager-autologin.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dracut/display-manager-autologin.sh b/dracut/display-manager-autologin.sh index c667e21..9fc99fd 100644 --- a/dracut/display-manager-autologin.sh +++ b/dracut/display-manager-autologin.sh @@ -34,5 +34,7 @@ if [ -r ${NEWROOT}/etc/lxdm/lxdm.conf ]; then sed -e "s,.*autologin.*=.*,autologin=$USERNAME," -i ${NEWROOT}/etc/lxdm/lxdm.conf if [ -x ${NEWROOT}/usr/bin/enlightenment_start ]; then sed -e "s,.*session.*=.*,session=/usr/bin/enlightenment_start," -i ${NEWROOT}/etc/lxdm/lxdm.conf + elif [ -x ${NEWROOT}/usr/bin/startxfce4 ]; then + sed -e "s,.*session.*=.*,session=/usr/bin/startxfce4," -i ${NEWROOT}/etc/lxdm/lxdm.conf fi fi -- cgit 1.4.1 From ee37a611e923425569dba70d0b91345a0ba64424 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Wed, 3 Dec 2014 11:29:43 +0100 Subject: dracut/display-manager-autologin: autostart mate via lxdm if mate-session exists. --- dracut/display-manager-autologin.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dracut/display-manager-autologin.sh b/dracut/display-manager-autologin.sh index 9fc99fd..d497188 100644 --- a/dracut/display-manager-autologin.sh +++ b/dracut/display-manager-autologin.sh @@ -36,5 +36,7 @@ if [ -r ${NEWROOT}/etc/lxdm/lxdm.conf ]; then sed -e "s,.*session.*=.*,session=/usr/bin/enlightenment_start," -i ${NEWROOT}/etc/lxdm/lxdm.conf elif [ -x ${NEWROOT}/usr/bin/startxfce4 ]; then sed -e "s,.*session.*=.*,session=/usr/bin/startxfce4," -i ${NEWROOT}/etc/lxdm/lxdm.conf + elif [ -x ${NEWROOT}/usr/bin/mate-session ]; then + sed -e "s,.*session.*=.*,session=/usr/bin/mate-session," -i ${NEWROOT}/etc/lxdm/lxdm.conf fi fi -- cgit 1.4.1 From 1eefc4e505df0857b6810493ec9e5e29a951485d Mon Sep 17 00:00:00 2001 From: Juan RP Date: Wed, 3 Dec 2014 11:32:01 +0100 Subject: New script to generate 4 x86 images: base, enlightenment, xfce and mate. --- build-x86-images.sh.in | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 build-x86-images.sh.in diff --git a/build-x86-images.sh.in b/build-x86-images.sh.in new file mode 100644 index 0000000..9fd91fe --- /dev/null +++ b/build-x86-images.sh.in @@ -0,0 +1,30 @@ +#!/bin/sh + +readonly ARCH=$(uname -m) +readonly DATE=$(date +%Y%m%d) +readonly BASE_IMG=void-live-${ARCH}-${DATE}.iso +readonly E_IMG=void-live-${ARCH}-${DATE}-enlightenment.iso +readonly XFCE_IMG=void-live-${ARCH}-${DATE}-xfce.iso +readonly MATE_IMG=void-live-${ARCH}-${DATE}-mate.iso + +readonly BASE_PKGS="dialog" +readonly X_PKGS="xorg-minimal lxdm setxkbmap xauth xorg-video-drivers" +readonly E_PKGS="$X_PKGS cantarell-fonts enlightenment terminology econnman udisks2 firefox" +readonly XFCE_PKGS="$X_PKGS xfce4 cantarell-fonts midori network-manager-applet gvfs-afc gvfs-mtp gvfs-smb udisks2" +readonly MATE_PKGS="$X_PKGS mate mate-extra cantarell-fonts midori network-manager-applet gvfs-afc gvfs-mtp gvfs-smb udisks2" + +[ ! -x mklive.sh ] && exit 0 + +if [ ! -e $BASE_IMG ]; then + ./mklive.sh -o $BASE_IMG -p "$BASE_PKGS" +fi +if [ ! -e $E_IMG ]; then + ./mklive.sh -o $E_IMG -p "$E_PKGS" +fi +if [ ! -e $XFCE_IMG ]; then + ./mklive.sh -o $XFCE_IMG -p "$XFCE_PKGS" +fi +if [ ! -e $MATE_IMG ]; then + ./mklive.sh -o $MATE_IMG -p "$MATE_PKGS" +fi + -- cgit 1.4.1 From 65f74724dfa9ccd80c4bf4fc6403518ddc1c2cf0 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Wed, 3 Dec 2014 13:32:49 +0100 Subject: build-x86-images: add xorg-input-drivers and firefox in all images. --- build-x86-images.sh.in | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build-x86-images.sh.in b/build-x86-images.sh.in index 9fd91fe..e0a5fe4 100644 --- a/build-x86-images.sh.in +++ b/build-x86-images.sh.in @@ -8,10 +8,10 @@ readonly XFCE_IMG=void-live-${ARCH}-${DATE}-xfce.iso readonly MATE_IMG=void-live-${ARCH}-${DATE}-mate.iso readonly BASE_PKGS="dialog" -readonly X_PKGS="xorg-minimal lxdm setxkbmap xauth xorg-video-drivers" +readonly X_PKGS="xorg-minimal xorg-input-drivers xorg-video-drivers lxdm setxkbmap xauth" readonly E_PKGS="$X_PKGS cantarell-fonts enlightenment terminology econnman udisks2 firefox" -readonly XFCE_PKGS="$X_PKGS xfce4 cantarell-fonts midori network-manager-applet gvfs-afc gvfs-mtp gvfs-smb udisks2" -readonly MATE_PKGS="$X_PKGS mate mate-extra cantarell-fonts midori network-manager-applet gvfs-afc gvfs-mtp gvfs-smb udisks2" +readonly XFCE_PKGS="$X_PKGS xfce4 cantarell-fonts firefox network-manager-applet gvfs-afc gvfs-mtp gvfs-smb udisks2" +readonly MATE_PKGS="$X_PKGS mate mate-extra cantarell-fonts firefox network-manager-applet gvfs-afc gvfs-mtp gvfs-smb udisks2" [ ! -x mklive.sh ] && exit 0 -- cgit 1.4.1 From 8f2cc01d1825ad92f7d5467987029e182e4fcd04 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Wed, 3 Dec 2014 14:13:42 +0100 Subject: mklive: force reconfiguration of util-linux to make sure uuidd is created. --- mklive.sh.in | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mklive.sh.in b/mklive.sh.in index 8e4cd43..9059407 100644 --- a/mklive.sh.in +++ b/mklive.sh.in @@ -108,6 +108,8 @@ install_packages() { sed -e "s/\#\(${LOCALE}.*\)/\1/g" -i $ROOTFS/etc/default/libc-locales xbps-uchroot $ROOTFS xbps-reconfigure -f glibc-locales >>$LOGFILE 2>&1 fi + # reconfigure util-linux just to be safe + xbps-uchroot $ROOTFS xbps-reconfigure -f util-linux >>$LOGFILE 2>&1 if [ -x installer.sh ]; then install -Dm755 installer.sh $ROOTFS/usr/sbin/void-installer -- cgit 1.4.1 From bfd7188589052c318ad002c465073fd80838c454 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Thu, 4 Dec 2014 10:08:13 +0100 Subject: dracut/service: do not enable agetty-generic; misc tweaks. --- dracut/services.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/dracut/services.sh b/dracut/services.sh index 8ebe8c7..9f9df65 100644 --- a/dracut/services.sh +++ b/dracut/services.sh @@ -4,11 +4,11 @@ type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh -SERVICEDIR=$NEWROOT/etc/sv/ +SERVICEDIR=$NEWROOT/etc/sv SERVICES="$(getarg live.services)" for f in ${SERVICES}; do - ln -s /etc/sv/$f $NEWROOT/etc/runit/runsvdir/default/ + ln -sf /etc/sv/$f $NEWROOT/etc/runit/runsvdir/default/ done dhcpcd=1 @@ -22,7 +22,7 @@ done for f in $SERVICEDIR/*; do _service=${f##*/} case "${_service}" in - agetty-console|sulogin|dhcpcd-*|iptables|ip6tables) ;; # ignored + agetty-console|agetty-generic|sulogin|dhcpcd-*|iptables|ip6tables) ;; # ignored dhcpcd) [ -n "$dhcpcd" ] && ln -sf ${f##$NEWROOT} $NEWROOT/etc/runit/runsvdir/default/;; *) ln -sf ${f##$NEWROOT} $NEWROOT/etc/runit/runsvdir/default/;; esac -- cgit 1.4.1 From 15c2b8e9b2d93b1363718e515e7f74c11a2cba60 Mon Sep 17 00:00:00 2001 From: Enno Boland Date: Fri, 5 Dec 2014 02:17:57 +0100 Subject: build-x86-images.sh.in: grub and dialog should be part of all live CDs. --- build-x86-images.sh.in | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/build-x86-images.sh.in b/build-x86-images.sh.in index e0a5fe4..65d7dc8 100644 --- a/build-x86-images.sh.in +++ b/build-x86-images.sh.in @@ -7,8 +7,13 @@ readonly E_IMG=void-live-${ARCH}-${DATE}-enlightenment.iso readonly XFCE_IMG=void-live-${ARCH}-${DATE}-xfce.iso readonly MATE_IMG=void-live-${ARCH}-${DATE}-mate.iso -readonly BASE_PKGS="dialog" -readonly X_PKGS="xorg-minimal xorg-input-drivers xorg-video-drivers lxdm setxkbmap xauth" +case "$ARCH" in + i686) GRUB="grub";; + x86_64) GRUB="grub-x86_64-efi";; +esac + +readonly BASE_PKGS="dialog $GRUB" +readonly X_PKGS="$BASE_PKGS xorg-minimal xorg-input-drivers xorg-video-drivers lxdm setxkbmap xauth" readonly E_PKGS="$X_PKGS cantarell-fonts enlightenment terminology econnman udisks2 firefox" readonly XFCE_PKGS="$X_PKGS xfce4 cantarell-fonts firefox network-manager-applet gvfs-afc gvfs-mtp gvfs-smb udisks2" readonly MATE_PKGS="$X_PKGS mate mate-extra cantarell-fonts firefox network-manager-applet gvfs-afc gvfs-mtp gvfs-smb udisks2" -- cgit 1.4.1 From 1c603437d3765477a16863752e4813974e53db95 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Fri, 5 Dec 2014 05:46:05 +0100 Subject: mk{image,rootfs}: add beaglebone platform support. --- mkimage.sh.in | 11 +++++++---- mkrootfs.sh.in | 3 ++- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/mkimage.sh.in b/mkimage.sh.in index 11e1362..89a0f62 100644 --- a/mkimage.sh.in +++ b/mkimage.sh.in @@ -119,7 +119,7 @@ fi # double check PLATFORM is supported... case "$PLATFORM" in - cubieboard2|odroid-u2|rpi);; + beaglebone|cubieboard2|odroid-u2|rpi);; *) die "The $PLATFORM is not supported, exiting..." esac @@ -157,24 +157,27 @@ case "$ROOT_FSTYPE" in esac mkfs.${ROOT_FSTYPE} $disable_journal ${LOOPDEV}p2 >/dev/null 2>&1 -info_msg "Unpacking rootfs tarball ..." ROOTFSDIR=$(mktemp -d) mount ${LOOPDEV}p2 $ROOTFSDIR mkdir -p ${ROOTFSDIR}/boot mount ${LOOPDEV}p1 ${ROOTFSDIR}/boot +if [ "$PLATFORM" = "beaglebone" ]; then + dd if=${ROOTFSDIR}/boot/MLO of=${LOOPDEV}p1 >/dev/null 2>&1 +fi + +info_msg "Unpacking rootfs tarball ..." tar xfp $ROOTFS_TARBALL -C $ROOTFSDIR BOOT_UUID=$(blkid -o value -s UUID ${LOOPDEV}p1) ROOT_UUID=$(blkid -o value -s UUID ${LOOPDEV}p2) -echo "UUID=$BOOT_UUID /boot $BOOT_FSTYPE defaults 0 0" >> ${ROOTFSDIR}/etc/fstab echo "UUID=$ROOT_UUID / $ROOT_FSTYPE defaults 0 1" >> ${ROOTFSDIR}/etc/fstab +echo "UUID=$BOOT_UUID /boot $BOOT_FSTYPE defaults 0 2" >> ${ROOTFSDIR}/etc/fstab if [ -s ${ROOTFSDIR}/boot/cmdline.txt ]; then sed -e "s,rootfstype=ext4,rootfstype=${ROOT_FSTYPE}," -i ${ROOTFSDIR}/boot/cmdline.txt fi -# For cubieboard we need to flash u-boot to the image. if [ "$PLATFORM" = "cubieboard2" ]; then dd if=${ROOTFSDIR}/boot/u-boot-sunxi-with-spl.bin of=${LOOPDEV} bs=1024 seek=8 >/dev/null 2>&1 elif [ "$PLATFORM" = "odroid-u2" ]; then diff --git a/mkrootfs.sh.in b/mkrootfs.sh.in index acfb58f..d8c1821 100644 --- a/mkrootfs.sh.in +++ b/mkrootfs.sh.in @@ -45,7 +45,7 @@ usage() { cat <<_EOF Usage: $PROGNAME [options] -Supported platforms: cubieboard2, odroid-u2, rpi +Supported platforms: beaglebone, cubieboard2, odroid-u2, rpi Options -b Set an alternative base-system package (defaults to base-system) @@ -125,6 +125,7 @@ if [ -z "$PLATFORM" ]; then fi case "$PLATFORM" in + beaglebone) _ARCH="armv7l"; QEMU_BIN=qemu-arm-static;; cubieboard2) _ARCH="armv7l"; QEMU_BIN=qemu-arm-static;; odroid-u2) _ARCH="armv7l"; QEMU_BIN=qemu-arm-static;; rpi) _ARCH="armv6l"; QEMU_BIN=qemu-arm-static;; -- cgit 1.4.1 From 2bb83b4c3ac3e9fd0027cdffb085365dc780a1e3 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Fri, 5 Dec 2014 06:09:16 +0100 Subject: .gitignore: ignore .sh files in topdir. --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index e69de29..01d0e3c 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/*.sh -- cgit 1.4.1 From 4aaaa89d1c5566eb112754c358a37cfcbf76d792 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Fri, 5 Dec 2014 06:22:16 +0100 Subject: mkrootfs: mount binfmt_misc and use pixz if available. --- mkrootfs.sh.in | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/mkrootfs.sh.in b/mkrootfs.sh.in index d8c1821..af85c1a 100644 --- a/mkrootfs.sh.in +++ b/mkrootfs.sh.in @@ -87,6 +87,7 @@ register_binfmt() { if [ "$ARCH" = "${_ARCH}" ]; then return 0 fi + mountpoint -q /proc/sys/fs/binfmt_misc || modprobe -q binfmt_misc; mount -t binfmt_misc binfmt_misc /proc/sys/fs/binfmt_misc case "${_ARCH}" in armv?l) echo ':arm:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-arm-static:' > /proc/sys/fs/binfmt_misc/register @@ -144,7 +145,11 @@ for f in chroot tar xbps-install xbps-reconfigure xbps-query; do die "$f binary is missing in your system, exiting." fi done - +if type pixz >/dev/null 2>&1; then + XZ=pixz +else + XZ=xz +fi # # Check if package base-system is available. # @@ -213,7 +218,7 @@ fi tarball=void-${PLATFORM}-rootfs-$(date '+%Y%m%d').tar.xz -run_cmd "tar cp -C $rootfs . | xz -9 > $tarball" +run_cmd "tar cp -C $rootfs . | $XZ -9 > $tarball" rm -rf $rootfs info_msg "Successfully created $tarball ($PLATFORM)" -- cgit 1.4.1 From b6ca6f80277714b87b5a423ec0c0fb82ae7c7b6f Mon Sep 17 00:00:00 2001 From: Juan RP Date: Fri, 5 Dec 2014 07:06:39 +0100 Subject: mkrootfs: put /boot/MLO at the head on beaglebone. This file must be in the first sectors of the /boot FAT partition on the image. --- mkrootfs.sh.in | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/mkrootfs.sh.in b/mkrootfs.sh.in index af85c1a..ca4d1dd 100644 --- a/mkrootfs.sh.in +++ b/mkrootfs.sh.in @@ -218,7 +218,13 @@ fi tarball=void-${PLATFORM}-rootfs-$(date '+%Y%m%d').tar.xz -run_cmd "tar cp -C $rootfs . | $XZ -9 > $tarball" +if [ "$PLATFORM" = "beaglebone" ]; then + # On Beaglebone make sure that boot/MLO is at the head. + run_cmd "tar -cp --posix -C $rootfs ./boot/MLO . | $XZ -9 > $tarball" +else + run_cmd "tar -cp --posix -C $rootfs . | $XZ -9 > $tarball " +fi + rm -rf $rootfs info_msg "Successfully created $tarball ($PLATFORM)" -- cgit 1.4.1 From b7a3926c5b9a92d715f84f186b08bc16d6ee3a79 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Fri, 5 Dec 2014 07:09:36 +0100 Subject: mkimage: remove unnecessary beaglebone workaround. --- mkimage.sh.in | 4 ---- 1 file changed, 4 deletions(-) diff --git a/mkimage.sh.in b/mkimage.sh.in index 89a0f62..1c06422 100644 --- a/mkimage.sh.in +++ b/mkimage.sh.in @@ -162,10 +162,6 @@ mount ${LOOPDEV}p2 $ROOTFSDIR mkdir -p ${ROOTFSDIR}/boot mount ${LOOPDEV}p1 ${ROOTFSDIR}/boot -if [ "$PLATFORM" = "beaglebone" ]; then - dd if=${ROOTFSDIR}/boot/MLO of=${LOOPDEV}p1 >/dev/null 2>&1 -fi - info_msg "Unpacking rootfs tarball ..." tar xfp $ROOTFS_TARBALL -C $ROOTFSDIR -- cgit 1.4.1 From 3818e6d4253ddca523c71d5cbcfb42bdd3ca2400 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Fri, 5 Dec 2014 11:06:39 +0100 Subject: mk{image,rootfs}: misc tweaks for beaglebone. --- mkimage.sh.in | 21 +++++++++++---------- mkrootfs.sh.in | 8 +------- 2 files changed, 12 insertions(+), 17 deletions(-) diff --git a/mkimage.sh.in b/mkimage.sh.in index 1c06422..f1b267f 100644 --- a/mkimage.sh.in +++ b/mkimage.sh.in @@ -102,13 +102,7 @@ if [ "$(id -u)" -ne 0 ]; then die "need root perms to continue, exiting." fi -IMGSIZE="$2" -if [ -z "$IMGSIZE" ]; then - IMGSIZE="2G" -else - IMGSIZE="${2}G" -fi - +: ${IMGSIZE:=2G} : ${BOOT_FSTYPE:=vfat} : ${BOOT_FSSIZE:=64M} : ${ROOT_FSTYPE:=ext4} @@ -143,7 +137,7 @@ info_msg "Creating disk image partitions/filesystems ..." parted $FILENAME mktable msdos if [ "$BOOT_FSTYPE" = "vfat" ]; then _btype="fat32" - _args="-I" + _args="-I -F16" fi parted $FILENAME mkpart primary ${_btype} 4096s ${BOOT_FSSIZE} parted $FILENAME mkpart primary ext2 ${BOOT_FSSIZE} 100% @@ -163,12 +157,19 @@ mkdir -p ${ROOTFSDIR}/boot mount ${LOOPDEV}p1 ${ROOTFSDIR}/boot info_msg "Unpacking rootfs tarball ..." +if [ "$PLATFORM" = "beaglebone" ]; then + fstab_args=",noauto" + tar xfp $ROOTFS_TARBALL -C $ROOTFSDIR ./boot/MLO + tar xfp $ROOTFS_TARBALL -C $ROOTFSDIR ./boot/u-boot.img + touch $ROOTFSDIR/boot/uEnv.txt + umount $ROOTFSDIR/boot +fi tar xfp $ROOTFS_TARBALL -C $ROOTFSDIR BOOT_UUID=$(blkid -o value -s UUID ${LOOPDEV}p1) ROOT_UUID=$(blkid -o value -s UUID ${LOOPDEV}p2) echo "UUID=$ROOT_UUID / $ROOT_FSTYPE defaults 0 1" >> ${ROOTFSDIR}/etc/fstab -echo "UUID=$BOOT_UUID /boot $BOOT_FSTYPE defaults 0 2" >> ${ROOTFSDIR}/etc/fstab +echo "UUID=$BOOT_UUID /boot $BOOT_FSTYPE defaults${fstab_args} 0 2" >> ${ROOTFSDIR}/etc/fstab if [ -s ${ROOTFSDIR}/boot/cmdline.txt ]; then sed -e "s,rootfstype=ext4,rootfstype=${ROOT_FSTYPE}," -i ${ROOTFSDIR}/boot/cmdline.txt @@ -183,7 +184,7 @@ elif [ "$PLATFORM" = "odroid-u2" ]; then dd if=${ROOTFSDIR}/boot/E4412_S.tzsw.signed.bin of=${LOOPDEV} seek=2111 >/dev/null 2>&1 fi -umount ${ROOTFSDIR}/boot +mountpoint -q ${ROOTFSDIR}/boot || umount ${ROOTFSDIR}/boot umount $ROOTFSDIR partx -d $LOOPDEV losetup -d $LOOPDEV diff --git a/mkrootfs.sh.in b/mkrootfs.sh.in index ca4d1dd..0509158 100644 --- a/mkrootfs.sh.in +++ b/mkrootfs.sh.in @@ -217,13 +217,7 @@ if [ -n "${_ARCH}" ]; then fi tarball=void-${PLATFORM}-rootfs-$(date '+%Y%m%d').tar.xz - -if [ "$PLATFORM" = "beaglebone" ]; then - # On Beaglebone make sure that boot/MLO is at the head. - run_cmd "tar -cp --posix -C $rootfs ./boot/MLO . | $XZ -9 > $tarball" -else - run_cmd "tar -cp --posix -C $rootfs . | $XZ -9 > $tarball " -fi +run_cmd "tar -cp --posix -C $rootfs . | $XZ -9 > $tarball " rm -rf $rootfs -- cgit 1.4.1 From f5af7c32bdb27a66864214b6cf983fb91b17f088 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Fri, 5 Dec 2014 12:45:43 +0100 Subject: mklive.sh: dont error out if loop module cannot be loaded. --- mklive.sh.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mklive.sh.in b/mklive.sh.in index 9059407..c1ee998 100644 --- a/mklive.sh.in +++ b/mklive.sh.in @@ -177,7 +177,7 @@ generate_grub_efi_boot() { -e "s|@@BOOT_CMDLINE@@|${BOOT_CMDLINE}|" \ -e "s|@@LOCALE@@|${LOCALE}|" $GRUB_DIR/grub_void.cfg - modprobe -q loop + modprobe -q loop || : # Create EFI vfat image. dd if=/dev/zero of=$GRUB_DIR/efiboot.img bs=1024 count=4096 >>$LOGFILE 2>&1 -- cgit 1.4.1 From a3675d092fb53a60304ce63cfaf6910df2b13b79 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Fri, 5 Dec 2014 12:58:19 +0100 Subject: mkimage: umount boot only in !beaglebone. --- mkimage.sh.in | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/mkimage.sh.in b/mkimage.sh.in index f1b267f..91096e9 100644 --- a/mkimage.sh.in +++ b/mkimage.sh.in @@ -184,7 +184,9 @@ elif [ "$PLATFORM" = "odroid-u2" ]; then dd if=${ROOTFSDIR}/boot/E4412_S.tzsw.signed.bin of=${LOOPDEV} seek=2111 >/dev/null 2>&1 fi -mountpoint -q ${ROOTFSDIR}/boot || umount ${ROOTFSDIR}/boot +if [ "$PLATFORM" != "beaglebone" ]; then + umount ${ROOTFSDIR}/boot +fi umount $ROOTFSDIR partx -d $LOOPDEV losetup -d $LOOPDEV -- cgit 1.4.1 From a7c809c6b0b30eac257b52100476b4981023b70d Mon Sep 17 00:00:00 2001 From: Juan RP Date: Fri, 5 Dec 2014 15:31:27 +0100 Subject: mkimage: use losetup --partscan rather than partx. --- mkimage.sh.in | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/mkimage.sh.in b/mkimage.sh.in index 91096e9..e244ea0 100644 --- a/mkimage.sh.in +++ b/mkimage.sh.in @@ -142,8 +142,7 @@ fi parted $FILENAME mkpart primary ${_btype} 4096s ${BOOT_FSSIZE} parted $FILENAME mkpart primary ext2 ${BOOT_FSSIZE} 100% parted $FILENAME toggle 1 boot -LOOPDEV=$(losetup --show --find $FILENAME) -partx -a $LOOPDEV +LOOPDEV=$(losetup --show --find --partscan $FILENAME) mkfs.${BOOT_FSTYPE} $_args ${LOOPDEV}p1 >/dev/null case "$ROOT_FSTYPE" in -- cgit 1.4.1 From 8939262303d6876b94b48820081e4bc908ab7f5a Mon Sep 17 00:00:00 2001 From: Juan RP Date: Sat, 6 Dec 2014 09:41:49 +0100 Subject: mkimage: get rid of partx completely. --- mkimage.sh.in | 1 - 1 file changed, 1 deletion(-) diff --git a/mkimage.sh.in b/mkimage.sh.in index e244ea0..c154666 100644 --- a/mkimage.sh.in +++ b/mkimage.sh.in @@ -187,7 +187,6 @@ if [ "$PLATFORM" != "beaglebone" ]; then umount ${ROOTFSDIR}/boot fi umount $ROOTFSDIR -partx -d $LOOPDEV losetup -d $LOOPDEV rmdir $ROOTFSDIR -- cgit 1.4.1 From f3dea549e8420b9dd583c9148e59587d81fc5038 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Sat, 6 Dec 2014 09:42:17 +0100 Subject: mkimage: simplify. --- mkimage.sh.in | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/mkimage.sh.in b/mkimage.sh.in index c154666..ded9b7d 100644 --- a/mkimage.sh.in +++ b/mkimage.sh.in @@ -183,9 +183,7 @@ elif [ "$PLATFORM" = "odroid-u2" ]; then dd if=${ROOTFSDIR}/boot/E4412_S.tzsw.signed.bin of=${LOOPDEV} seek=2111 >/dev/null 2>&1 fi -if [ "$PLATFORM" != "beaglebone" ]; then - umount ${ROOTFSDIR}/boot -fi +umount ${ROOTFSDIR}/boot || : umount $ROOTFSDIR losetup -d $LOOPDEV rmdir $ROOTFSDIR -- cgit 1.4.1 From 8e0080b720e92225bc6aa035cb803b75cffedb20 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Mon, 15 Dec 2014 19:27:48 +0100 Subject: installer: redirect debug msgs to /dev/tty8. /dev/tty7 might be used by the X server. --- installer.sh.in | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/installer.sh.in b/installer.sh.in index 6f5a00a..4260922 100644 --- a/installer.sh.in +++ b/installer.sh.in @@ -39,7 +39,7 @@ FILESYSTEMS_DONE= SYSTEMD_INIT= TARGETDIR=/mnt/target -LOG=/dev/tty7 +LOG=/dev/tty8 CONF_FILE=/tmp/.void-installer.conf if [ ! -f $CONF_FILE ]; then touch -f $CONF_FILE @@ -767,7 +767,7 @@ umount_filesystems() { } copy_rootfs() { - DIALOG --title "Check /dev/tty7 for details" \ + DIALOG --title "Check $LOG for details" \ --infobox "Copying live image to target rootfs, please wait ..." 4 60 LANG=C cp -axvnu / $TARGETDIR >$LOG 2>&1 if [ $? -ne 0 ]; then @@ -846,11 +846,11 @@ ${BOLD}Do you want to continue?${RESET}" 20 80 || return # Remove live user. echo "Removing $USERNAME live user from targetdir ..." >$LOG chroot $TARGETDIR userdel -r $USERNAME >$LOG 2>&1 - DIALOG --title "Check /dev/tty7 for details" \ + DIALOG --title "Check $LOG for details" \ --infobox "Rebuilding initramfs for target ..." 4 60 echo "Rebuilding initramfs for target ..." >$LOG chroot $TARGETDIR dracut --force >>$LOG 2>&1 - DIALOG --title "Check /dev/tty7 for details" \ + DIALOG --title "Check $LOG for details" \ --infobox "Removing temporary packages from target ..." 4 60 echo "Removing temporary packages from target ..." >$LOG xbps-remove -r $TARGETDIR -Ry dialog >>$LOG 2>&1 -- cgit 1.4.1 From 41cf1e06d070fa59a492b1d309ab80948067805d Mon Sep 17 00:00:00 2001 From: Juan RP Date: Mon, 15 Dec 2014 19:28:57 +0100 Subject: New script to build ARM rootfs/images. --- build-arm-images.sh.in | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 build-arm-images.sh.in diff --git a/build-arm-images.sh.in b/build-arm-images.sh.in new file mode 100644 index 0000000..399baf2 --- /dev/null +++ b/build-arm-images.sh.in @@ -0,0 +1,11 @@ +#!/bin/sh + +set -e + +date=$(date '+%Y%m%d') + +for f in beaglebone cubieboard2 odroid-u2 rpi; do + ./mkrootfs.sh $f + ./mkimage.sh void-${f}-rootfs-${date}.tar.xz + pixz -9 void-${f}-${date}.img +done -- cgit 1.4.1 From c204ab1f5f2b3e7b7237b932e0adf37dfc19c372 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Tue, 16 Dec 2014 15:24:06 +0100 Subject: installer: swap is not mandatory. --- installer.sh.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/installer.sh.in b/installer.sh.in index 4260922..3b8fa3e 100644 --- a/installer.sh.in +++ b/installer.sh.in @@ -252,7 +252,7 @@ ${BOLD}NOTE: you don't need this on EFI systems.${RESET}\n\n For EFI systems GPT is mandatory and a FAT32 partition with at least\n 100MB must be created with the TOGGLE \`boot', this will be used as\n EFI System Partition. This partition must have mountpoint as \`/boot/efi'.\n\n -At least 2 partitions are required: swap and rootfs (/).\n +At least 1 partitions is required for the rootfs (/).\n For swap, RAM*2 must be really enough. For / 600MB are required.\n\n ${BOLD}WARNING: /usr is not supported as a separate partition.${RESET}\n ${RESET}\n" 18 80 @@ -598,7 +598,7 @@ menu_network() { } validate_filesystems() { - local mnts dev size fstype mntpt mkfs rootfound swapfound fmt + local mnts dev size fstype mntpt mkfs rootfound fmt local usrfound efi_system_partition unset TARGETFS -- cgit 1.4.1 From 4ab914cdf7cc7a42b9880d72b16417020839c280 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Wed, 17 Dec 2014 18:26:28 +0100 Subject: mklive: multiple improvements and fixes. - Does not need bash anymore, a POSIX shell is enough. - Avoid installing base-system twice to generate the initramfs. - Reconfigure some pkgs in the rootfs... otherwise some system users won't be created. - Added -K opt to not remove builddir. --- README.md | 1 - mklive.sh.in | 163 ++++++++++++++++++++++++++--------------------------------- 2 files changed, 72 insertions(+), 92 deletions(-) diff --git a/README.md b/README.md index 89e4ea7..598f596 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,6 @@ This repository contains utilities for Void Linux: #### Dependencies * xbps>=0.35 - * GNU bash * parted (for mkimage) * qemu-user-static binaries (for mkrootfs) diff --git a/mklive.sh.in b/mklive.sh.in index c1ee998..14d7c68 100644 --- a/mklive.sh.in +++ b/mklive.sh.in @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh # # vim: set ts=4 sw=4 et: # @@ -26,27 +26,27 @@ # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #- -set -E -trap "echo; error_out $LINENO $?" INT TERM HUP ERR +trap "error_out $LINENO $?" INT TERM 0 -readonly REQUIRED_PKGS="base-files syslinux grub-x86_64-efi squashfs-tools xorriso" +readonly REQUIRED_PKGS="base-files dash coreutils sed tar gawk syslinux grub-x86_64-efi squashfs-tools xorriso" +readonly INITRAMFS_PKGS="binutils xz device-mapper" readonly PROGNAME=$(basename $0) info_msg() { printf "\033[1m$@\n\033[m" } - +die() { + info_msg "ERROR: $@" + error_out 1 +} error_out() { - info_msg "There was an error in line $1 ... cleaning up $BUILDDIR, exiting." - - [ -d "$BUILDDIR" ] && rm -rf "$BUILDDIR" - - exit 1 + [ -d "$BUILDDIR" -a -z "$KEEP_BUILDDIR" ] && rm -rf "$BUILDDIR" + exit ${1:=0} } usage() { cat <<_EOF -Usage: $(basename $0) [options] +Usage: $PROGNAME [options] Options: -a Set XBPS_ARCH (do not use it unless you know what it is) @@ -63,8 +63,9 @@ Options: -C "cmdline args" Add additional kernel command line arguments. -T "title" Modify the bootloader title. + -K Do not remove builddir. -The $(basename $0) script generates a live image of the Void Linux distribution. +The $PROGNAME script generates a live image of the Void Linux distribution. This ISO image can be written to a CD/DVD-ROM or any USB stick. _EOF exit 1 @@ -74,17 +75,20 @@ copy_void_keys() { mkdir -p "$1"/var/db/xbps/keys cp keys/*.plist "$1"/var/db/xbps/keys } + copy_void_conf() { install -Dm644 data/void-vpkgs.conf "$1"/usr/share/xbps/virtualpkg.d/void.conf } +copy_dracut_files() { + mkdir -p $1/usr/lib/dracut/modules.d/01vmklive + cp dracut/*.sh $1/usr/lib/dracut/modules.d/01vmklive/ +} + install_prereqs() { copy_void_conf $VOIDHOSTDIR - $XBPS_INSTALL_CMD -r $VOIDHOSTDIR $XBPS_REPOSITORY $XBPS_CACHEDIR -y ${REQUIRED_PKGS} >> $LOGFILE 2>&1 - if [ $? -ne 0 ]; then - info_msg "Failed to install required software, exiting..." - error_out - fi + $XBPS_INSTALL_CMD -r $VOIDHOSTDIR $XBPS_REPOSITORY $XBPS_CACHEDIR -y ${REQUIRED_PKGS} + [ $? -ne 0 ] && die "Failed to install required software, exiting..." } install_packages() { @@ -93,23 +97,19 @@ install_packages() { fi copy_void_conf $ROOTFS # Check that all pkgs are reachable. - ${XBPS_INSTALL_CMD} -r $ROOTFS $XBPS_REPOSITORY $XBPS_CACHEDIR -yn ${PACKAGE_LIST} >>$LOGFILE 2>&1 - if [ $? -ne 0 ]; then - info_msg "Missing required binary packages, exiting..." - error_out - fi + ${XBPS_INSTALL_CMD} -r $ROOTFS $XBPS_REPOSITORY $XBPS_CACHEDIR -yn ${PACKAGE_LIST} ${INITRAMFS_PKGS} + [ $? -ne 0 ] && die "Missing required binary packages, exiting..." - ${XBPS_INSTALL_CMD} -r $ROOTFS $XBPS_REPOSITORY $XBPS_CACHEDIR -y ${PACKAGE_LIST} >>$LOGFILE 2>&1 - ${XBPS_INSTALL_CMD} -r $ROOTFS $XBPS_REPOSITORY $XBPS_CACHEDIR -yu >>$LOGFILE 2>&1 - ${XBPS_REMOVE_CMD} -r $ROOTFS $XBPS_CACHEDIR -o >>$LOGFILE 2>&1 + ${XBPS_INSTALL_CMD} -r $ROOTFS $XBPS_REPOSITORY $XBPS_CACHEDIR -y ${PACKAGE_LIST} ${INITRAMFS_PKGS} + [ $? -ne 0 ] && die "Failed to install $PACKAGE_LIST" # Enable choosen UTF-8 locale and generate it into the target rootfs. if [ -f $ROOTFS/etc/default/libc-locales ]; then sed -e "s/\#\(${LOCALE}.*\)/\1/g" -i $ROOTFS/etc/default/libc-locales - xbps-uchroot $ROOTFS xbps-reconfigure -f glibc-locales >>$LOGFILE 2>&1 + xbps-reconfigure -r $ROOTFS -f glibc-locales || die "Failed to reconfigure glibc-locales" + # reconfigure util-linux just to be safe + xbps-reconfigure -r $ROOTFS -f util-linux || die "Failed to reconfigure util-linux" fi - # reconfigure util-linux just to be safe - xbps-uchroot $ROOTFS xbps-reconfigure -f util-linux >>$LOGFILE 2>&1 if [ -x installer.sh ]; then install -Dm755 installer.sh $ROOTFS/usr/sbin/void-installer @@ -122,28 +122,26 @@ install_packages() { unset XBPS_ARCH } -copy_dracut_files() { - mkdir -p $1/usr/lib/dracut/modules.d/01vmklive - cp dracut/*.sh $1/usr/lib/dracut/modules.d/01vmklive/ -} - generate_initramfs() { - # Install required pkgs in a temporary rootdir to create - # the initramfs and to copy required files. - copy_dracut_files $VOIDHOSTDIR - copy_void_conf $VOIDHOSTDIR - $XBPS_INSTALL_CMD -r $VOIDHOSTDIR $XBPS_REPOSITORY $XBPS_CACHEDIR -y base-system xz lz4 >>$LOGFILE 2>&1 - + copy_dracut_files $ROOTFS if [ "$BASE_SYSTEM_PKG" = "base-system-systemd" ]; then _args="--add systemd" else _args="--omit systemd" fi - xbps-uchroot $VOIDHOSTDIR /usr/bin/dracut --${INITRAMFS_COMPRESSION} \ - --force-add "vmklive" ${_args} "/boot/initrd" $KERNELVERSION >>$LOGFILE 2>&1 + xbps-uchroot $ROOTFS env -i /usr/bin/dracut --${INITRAMFS_COMPRESSION} \ + --force-add "vmklive" ${_args} "/boot/initrd" $KERNELVERSION + [ $? -ne 0 ] && die "Failed to generate the initramfs" + + mv $ROOTFS/boot/initrd $BOOT_DIR + cp $ROOTFS/boot/vmlinuz-$KERNELVERSION $BOOT_DIR/vmlinuz +} - mv $VOIDHOSTDIR/boot/initrd $BOOT_DIR - cp $VOIDHOSTDIR/boot/vmlinuz-$KERNELVERSION $BOOT_DIR/vmlinuz +cleanup_rootfs() { + for f in ${INITRAMFS_PKGS}; do + xbps-remove -r $ROOTFS -Ry ${f} || die "Failed to remove $f from rootfs" + done + rm -r $ROOTFS/usr/lib/dracut/modules.d/01vmklive } generate_isolinux_boot() { @@ -176,22 +174,30 @@ generate_grub_efi_boot() { -e "s|@@BOOT_TITLE@@|${BOOT_TITLE}|" \ -e "s|@@BOOT_CMDLINE@@|${BOOT_CMDLINE}|" \ -e "s|@@LOCALE@@|${LOCALE}|" $GRUB_DIR/grub_void.cfg + mkdir -p $GRUB_DIR/fonts + cp -f $GRUB_DATADIR/unicode.pf2 $GRUB_DIR/fonts modprobe -q loop || : # Create EFI vfat image. - dd if=/dev/zero of=$GRUB_DIR/efiboot.img bs=1024 count=4096 >>$LOGFILE 2>&1 - mkfs.vfat -F12 -S 512 -n "grub_uefi" "$GRUB_DIR/efiboot.img" >>$LOGFILE 2>&1 + dd if=/dev/zero of=$GRUB_DIR/efiboot.img bs=1024 count=4096 >/dev/null 2>&1 + mkfs.vfat -F12 -S 512 -n "grub_uefi" "$GRUB_DIR/efiboot.img" >/dev/null 2>&1 GRUB_EFI_TMPDIR="$(mktemp --tmpdir=$HOME -d)" LOOP_DEVICE="$(losetup --show --find ${GRUB_DIR}/efiboot.img)" - mount -o rw,flush -t vfat "${LOOP_DEVICE}" "${GRUB_EFI_TMPDIR}" >>$LOGFILE 2>&1 + mount -o rw,flush -t vfat "${LOOP_DEVICE}" "${GRUB_EFI_TMPDIR}" >/dev/null 2>&1 cp -a $IMAGEDIR/boot $VOIDHOSTDIR - xbps-uchroot $VOIDHOSTDIR grub-mkstandalone --directory="/usr/lib/grub/x86_64-efi" \ + xbps-uchroot $VOIDHOSTDIR grub-mkstandalone \ + --directory="/usr/lib/grub/x86_64-efi" \ --format="x86_64-efi" \ --compression="xz" --output="/tmp/bootx64.efi" \ - "boot/grub/grub.cfg" >>$LOGFILE 2>&1 + "boot/grub/grub.cfg" + if [ $? -ne 0 ]; then + umount "$GRUB_EFI_TMPDIR" + losetup --detach "${LOOP_DEVICE}" + die "Failed to generate EFI loader" + fi mkdir -p ${GRUB_EFI_TMPDIR}/EFI/boot cp -f $VOIDHOSTDIR/tmp/bootx64.efi ${GRUB_EFI_TMPDIR}/EFI/boot/ umount "$GRUB_EFI_TMPDIR" @@ -207,16 +213,16 @@ generate_squashfs() { fi mkdir -p "$BUILDDIR/tmp/LiveOS" dd if=/dev/zero of="$BUILDDIR/tmp/LiveOS/ext3fs.img" \ - bs="$((ROOTFS_SIZE+ROOTFS_FREESIZE))M" count=1 >>$LOGFILE 2>&1 + bs="$((ROOTFS_SIZE+ROOTFS_FREESIZE))M" count=1 >/dev/null 2>&1 mkdir -p "$BUILDDIR/tmp-rootfs" - mkfs.ext3 -F -m1 "$BUILDDIR/tmp/LiveOS/ext3fs.img" >>$LOGFILE 2>&1 + mkfs.ext3 -F -m1 "$BUILDDIR/tmp/LiveOS/ext3fs.img" >/dev/null 2>&1 mount -o loop "$BUILDDIR/tmp/LiveOS/ext3fs.img" "$BUILDDIR/tmp-rootfs" cp -a $ROOTFS/* $BUILDDIR/tmp-rootfs/ umount -f "$BUILDDIR/tmp-rootfs" mkdir -p "$IMAGEDIR/LiveOS" mksquashfs "$BUILDDIR/tmp" "$IMAGEDIR/LiveOS/squashfs.img" \ - -comp ${SQUASHFS_COMPRESSION} >>$LOGFILE 2>&1 + -comp ${SQUASHFS_COMPRESSION} || die "Failed to generate squashfs image" chmod 444 "$IMAGEDIR/LiveOS/squashfs.img" # Remove rootfs and temporary dirs, we don't need them anymore. rm -rf "$ROOTFS" "$BUILDDIR/tmp-rootfs" "$BUILDDIR/tmp" @@ -233,18 +239,19 @@ generate_iso_image() { -no-emul-boot -boot-load-size 4 -boot-info-table \ -eltorito-alt-boot -e boot/grub/efiboot.img -isohybrid-gpt-basdat -no-emul-boot \ -isohybrid-mbr $SYSLINUX_DATADIR/isohdpfx.bin \ - -output "$CURDIR/$OUTPUT_FILE" "$IMAGEDIR" >>$LOGFILE 2>&1 + -output "$CURDIR/$OUTPUT_FILE" "$IMAGEDIR" || die "Failed to generate ISO image" } # # main() # -while getopts "a:b:r:c:C:T:k:l:i:s:S:o:p:h" opt; do +while getopts "a:b:r:c:C:T:Kk:l:i:s:S:o:p:h" opt; do case $opt in a) BASE_ARCH="$OPTARG";; b) BASE_SYSTEM_PKG="$OPTARG";; r) XBPS_REPOSITORY+="--repository=$OPTARG ";; c) XBPS_CACHEDIR="--cachedir=$OPTARG";; + K) readonly KEEP_BUILDDIR=1;; k) KEYMAP="$OPTARG";; l) LOCALE="$OPTARG";; i) INITRAMFS_COMPRESSION="$OPTARG";; @@ -257,7 +264,7 @@ while getopts "a:b:r:c:C:T:k:l:i:s:S:o:p:h" opt; do h) usage;; esac done -shift $(($OPTIND - 1)) +shift $((OPTIND - 1)) # Set defaults : ${XBPS_CACHEDIR:=--cachedir=/var/cache/xbps} @@ -271,12 +278,9 @@ shift $(($OPTIND - 1)) # Required packages in the image for a working system. PACKAGE_LIST="$BASE_SYSTEM_PKG $PACKAGE_LIST" -LOGFILE="$(mktemp -t vmklive-XXXXXXXXXX.log)" - # Check for root permissions. if [ "$(id -u)" -ne 0 ]; then - echo "Must be run as root, exiting..." - exit 1 + die "Must be run as root, exiting..." fi readonly CURDIR="$PWD" @@ -298,6 +302,7 @@ ISOLINUX_CFG="$ISOLINUX_DIR/isolinux.cfg" : ${XBPS_REPOSITORY:=--repository=http://repo.voidlinux.eu/current} : ${SYSLINUX_DATADIR:=$VOIDHOSTDIR/usr/share/syslinux} +: ${GRUB_DATADIR:=$VOIDHOSTDIR/usr/share/grub} : ${SPLASH_IMAGE:=data/splash.png} : ${XBPS_INSTALL_CMD:=xbps-install} : ${XBPS_REMOVE_CMD:=xbps-remove} @@ -308,9 +313,7 @@ ISOLINUX_CFG="$ISOLINUX_DIR/isolinux.cfg" mkdir -p $ROOTFS $VOIDHOSTDIR $ISOLINUX_DIR $GRUB_DIR -info_msg "Redirecting stdout/stderr to $LOGFILE ..." -info_msg "[1/9] Synchronizing XBPS repository data..." -# Sync index for remote repos first. +info_msg "[1/8] Synchronizing XBPS repository data..." copy_void_keys $ROOTFS $XBPS_INSTALL_CMD -r $ROOTFS ${XBPS_REPOSITORY} -S cp -a $ROOTFS/* $VOIDHOSTDIR @@ -321,15 +324,9 @@ KERNELVERSION=$($XBPS_UHELPER_CMD getpkgversion $KERNELVERSION) : ${OUTPUT_FILE="void-live-$(uname -m)-${KERNELVERSION}-$(date +%Y%m%d).iso"} -# -# Install required packages to generate the image. -# info_msg "[2/9] Installing software to generate the image: ${REQUIRED_PKGS} ..." install_prereqs -# -# Install live system and specified packages. -# mkdir -p "$ROOTFS"/etc [ -s data/motd ] && cp data/motd $ROOTFS/etc [ -s data/issue ] && cp data/issue $ROOTFS/etc @@ -337,42 +334,26 @@ mkdir -p "$ROOTFS"/etc info_msg "[3/9] Installing void pkgs into the rootfs: ${PACKAGE_LIST} ..." install_packages -export PATH=$VOIDHOSTDIR/usr/bin:$VOIDHOSTDIR/usr/sbin:$PATH -export LD_LIBRARY_PATH=$VOIDHOSTDIR/usr/lib -# -# Generate the initramfs. -# +export PATH=$VOIDHOSTDIR/usr/bin:$VOIDHOSTDIR/usr/sbin:$ROOTFS/usr/bin:$ROOTFS/usr/sbin:$PATH +export LD_LIBRARY_PATH=$ROOTFS/usr/lib + info_msg "[4/9] Generating initramfs image ($INITRAMFS_COMPRESSION)..." generate_initramfs -# -# Generate the isolinux boot. -# info_msg "[5/9] Generating isolinux support for PC-BIOS systems..." generate_isolinux_boot -# -# Generate the GRUB EFI boot. -# info_msg "[6/9] Generating GRUB support for EFI systems..." generate_grub_efi_boot -# -# Generate the squashfs image from rootfs. -# -info_msg "[7/9] Generating squashfs image ($SQUASHFS_COMPRESSION) from rootfs..." +info_msg "[7/9] Cleaning up rootfs..." +cleanup_rootfs + +info_msg "[8/9] Generating squashfs image ($SQUASHFS_COMPRESSION) from rootfs..." generate_squashfs -# -# Generate the ISO image. -# -info_msg "[8/9] Generating ISO image..." +info_msg "[9/9] Generating ISO image..." generate_iso_image -info_msg "[9/9] Removing build directory..." -rm -rf "$BUILDDIR" - hsize=$(du -sh "$CURDIR/$OUTPUT_FILE"|awk '{print $1}') info_msg "Created $(readlink -f $CURDIR/$OUTPUT_FILE) ($hsize) successfully." - -exit 0 -- cgit 1.4.1 From 7f49ee579c84b4ef2fa4bf7e704e686fe1e3d9be Mon Sep 17 00:00:00 2001 From: Juan RP Date: Wed, 17 Dec 2014 18:54:43 +0100 Subject: mklive: only remove unnecessary pkgs if don't have revdeps. ... otherwise switch them to automatic installation mode. --- mklive.sh.in | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/mklive.sh.in b/mklive.sh.in index 14d7c68..09c6f6b 100644 --- a/mklive.sh.in +++ b/mklive.sh.in @@ -139,7 +139,12 @@ generate_initramfs() { cleanup_rootfs() { for f in ${INITRAMFS_PKGS}; do - xbps-remove -r $ROOTFS -Ry ${f} || die "Failed to remove $f from rootfs" + revdeps=$(xbps-query -r $ROOTFS -X $f) + if [ -n "$revdeps" ]; then + xbps-pkgdb -r $ROOTFS -m auto $f + else + xbps-remove -r $ROOTFS -Ry ${f} >/dev/null 2>&1 + fi done rm -r $ROOTFS/usr/lib/dracut/modules.d/01vmklive } -- cgit 1.4.1 From 653f1d2ad9c2865a9435b1aa9bff8cb1c68c4957 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Mon, 29 Dec 2014 09:50:29 +0100 Subject: mklive: misc fixes to generate successful musl images. --- mklive.sh.in | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/mklive.sh.in b/mklive.sh.in index 09c6f6b..2294faa 100644 --- a/mklive.sh.in +++ b/mklive.sh.in @@ -92,9 +92,6 @@ install_prereqs() { } install_packages() { - if [ -n "$BASE_ARCH" ]; then - export XBPS_ARCH="$BASE_ARCH" - fi copy_void_conf $ROOTFS # Check that all pkgs are reachable. ${XBPS_INSTALL_CMD} -r $ROOTFS $XBPS_REPOSITORY $XBPS_CACHEDIR -yn ${PACKAGE_LIST} ${INITRAMFS_PKGS} @@ -118,11 +115,11 @@ install_packages() { fi # Cleanup and remove useless stuff. rm -rf $ROOTFS/var/cache/* $ROOTFS/run/* $ROOTFS/var/run/* - - unset XBPS_ARCH } generate_initramfs() { + local _args + copy_dracut_files $ROOTFS if [ "$BASE_SYSTEM_PKG" = "base-system-systemd" ]; then _args="--add systemd" @@ -254,7 +251,7 @@ while getopts "a:b:r:c:C:T:Kk:l:i:s:S:o:p:h" opt; do case $opt in a) BASE_ARCH="$OPTARG";; b) BASE_SYSTEM_PKG="$OPTARG";; - r) XBPS_REPOSITORY+="--repository=$OPTARG ";; + r) XBPS_REPOSITORY="--repository=$OPTARG";; c) XBPS_CACHEDIR="--cachedir=$OPTARG";; K) readonly KEEP_BUILDDIR=1;; k) KEYMAP="$OPTARG";; @@ -318,6 +315,10 @@ ISOLINUX_CFG="$ISOLINUX_DIR/isolinux.cfg" mkdir -p $ROOTFS $VOIDHOSTDIR $ISOLINUX_DIR $GRUB_DIR +if [ -n "$BASE_ARCH" ]; then + export XBPS_ARCH="$BASE_ARCH" +fi + info_msg "[1/8] Synchronizing XBPS repository data..." copy_void_keys $ROOTFS $XBPS_INSTALL_CMD -r $ROOTFS ${XBPS_REPOSITORY} -S @@ -340,7 +341,7 @@ info_msg "[3/9] Installing void pkgs into the rootfs: ${PACKAGE_LIST} ..." install_packages export PATH=$VOIDHOSTDIR/usr/bin:$VOIDHOSTDIR/usr/sbin:$ROOTFS/usr/bin:$ROOTFS/usr/sbin:$PATH -export LD_LIBRARY_PATH=$ROOTFS/usr/lib +export LD_LIBRARY_PATH=$ROOTFS/usr/lib:$VOIDHOSTDIR/usr/lib info_msg "[4/9] Generating initramfs image ($INITRAMFS_COMPRESSION)..." generate_initramfs -- cgit 1.4.1 From 8134257155f517f218c797375cf70357b934c034 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Mon, 29 Dec 2014 11:26:55 +0100 Subject: mklive: more fixes for musl images. - Reconfigure util-linux only if it's installed in rootdir. - dracut: force add the ahci kernel module and build a non hostonly image. --- mklive.sh.in | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/mklive.sh.in b/mklive.sh.in index 2294faa..38cf04b 100644 --- a/mklive.sh.in +++ b/mklive.sh.in @@ -104,8 +104,10 @@ install_packages() { if [ -f $ROOTFS/etc/default/libc-locales ]; then sed -e "s/\#\(${LOCALE}.*\)/\1/g" -i $ROOTFS/etc/default/libc-locales xbps-reconfigure -r $ROOTFS -f glibc-locales || die "Failed to reconfigure glibc-locales" + fi + if xbps-query -r $ROOTFS util-linux >/dev/null 2>&1; then # reconfigure util-linux just to be safe - xbps-reconfigure -r $ROOTFS -f util-linux || die "Failed to reconfigure util-linux" + xbps-reconfigure -r $ROOTFS -f util-linux fi if [ -x installer.sh ]; then @@ -126,8 +128,8 @@ generate_initramfs() { else _args="--omit systemd" fi - xbps-uchroot $ROOTFS env -i /usr/bin/dracut --${INITRAMFS_COMPRESSION} \ - --force-add "vmklive" ${_args} "/boot/initrd" $KERNELVERSION + xbps-uchroot $ROOTFS env -i /usr/bin/dracut -N --${INITRAMFS_COMPRESSION} \ + --add-drivers "ahci" --force-add "vmklive" ${_args} "/boot/initrd" $KERNELVERSION [ $? -ne 0 ] && die "Failed to generate the initramfs" mv $ROOTFS/boot/initrd $BOOT_DIR -- cgit 1.4.1 From da528e772f3662a8a0dc316ccc05202ae2918c26 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Mon, 5 Jan 2015 17:55:52 +0100 Subject: mklive: declare vpkgs unversioned and update path for xbps>=0.43. --- data/void-vpkgs.conf | 6 +++--- mklive.sh.in | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/data/void-vpkgs.conf b/data/void-vpkgs.conf index 75b56ac..9d3b98c 100644 --- a/data/void-vpkgs.conf +++ b/data/void-vpkgs.conf @@ -4,6 +4,6 @@ # - libressl-openssl as default openssl(1) # - openbsd-man as default man(1) # -virtualpkg=awk-0_1:gawk -virtualpkg=openssl-1.0_1:libressl-openssl -virtualpkg=man-0_1:openbsd-man +virtualpkg=awk:gawk +virtualpkg=openssl:libressl-openssl +virtualpkg=man:openbsd-man diff --git a/mklive.sh.in b/mklive.sh.in index 38cf04b..2a9d70a 100644 --- a/mklive.sh.in +++ b/mklive.sh.in @@ -77,7 +77,7 @@ copy_void_keys() { } copy_void_conf() { - install -Dm644 data/void-vpkgs.conf "$1"/usr/share/xbps/virtualpkg.d/void.conf + install -Dm644 data/void-vpkgs.conf "$1"/usr/share/xbps.d/void-virtualpkgs.conf } copy_dracut_files() { -- cgit 1.4.1 From ce35908f35cd106eb15c907ce742e23cce02eced Mon Sep 17 00:00:00 2001 From: Juan RP Date: Mon, 5 Jan 2015 17:56:21 +0100 Subject: installer: generate a non hostonly initramfs; force-add ahci just in case. --- installer.sh.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/installer.sh.in b/installer.sh.in index 3b8fa3e..5ae0fda 100644 --- a/installer.sh.in +++ b/installer.sh.in @@ -849,7 +849,7 @@ ${BOLD}Do you want to continue?${RESET}" 20 80 || return DIALOG --title "Check $LOG for details" \ --infobox "Rebuilding initramfs for target ..." 4 60 echo "Rebuilding initramfs for target ..." >$LOG - chroot $TARGETDIR dracut --force >>$LOG 2>&1 + chroot $TARGETDIR dracut --no-hostonly --add-drivers "ahci" --force >>$LOG 2>&1 DIALOG --title "Check $LOG for details" \ --infobox "Removing temporary packages from target ..." 4 60 echo "Removing temporary packages from target ..." >$LOG -- cgit 1.4.1 From 422bdf640ca7420b2befd62520f35f6b0bea8b90 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Sat, 10 Jan 2015 06:42:19 +0100 Subject: data/void-vpkgs.conf: add some more default pkgs. --- data/void-vpkgs.conf | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/data/void-vpkgs.conf b/data/void-vpkgs.conf index 9d3b98c..e3cf52a 100644 --- a/data/void-vpkgs.conf +++ b/data/void-vpkgs.conf @@ -1,9 +1,10 @@ # Default void configuration # -# - gawk as default awk(1) -# - libressl-openssl as default openssl(1) -# - openbsd-man as default man(1) -# virtualpkg=awk:gawk -virtualpkg=openssl:libressl-openssl +virtualpkg=cron-daemon:dcron +virtualpkg=editor:nvi virtualpkg=man:openbsd-man +virtualpkg=ntp-daemon:openntpd +virtualpkg=openssl:libressl-openssl +virtualpkg=shell:dash +virtualpkg=smtp-server:opensmtpd -- cgit 1.4.1 From 289592a0f65ae9673bf3ad42d9fa7efbcbdcd319 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Thu, 15 Jan 2015 14:40:35 +0100 Subject: installer: mount pseudofs to regenerate the initramfs. This fixes the last issue with musl! --- installer.sh.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/installer.sh.in b/installer.sh.in index 5ae0fda..e881e25 100644 --- a/installer.sh.in +++ b/installer.sh.in @@ -849,14 +849,14 @@ ${BOLD}Do you want to continue?${RESET}" 20 80 || return DIALOG --title "Check $LOG for details" \ --infobox "Rebuilding initramfs for target ..." 4 60 echo "Rebuilding initramfs for target ..." >$LOG + # mount required fs + mount_filesystems chroot $TARGETDIR dracut --no-hostonly --add-drivers "ahci" --force >>$LOG 2>&1 DIALOG --title "Check $LOG for details" \ --infobox "Removing temporary packages from target ..." 4 60 echo "Removing temporary packages from target ..." >$LOG xbps-remove -r $TARGETDIR -Ry dialog >>$LOG 2>&1 rmdir $TARGETDIR/mnt/target - # mount required fs - mount_filesystems else # mount required fs mount_filesystems -- cgit 1.4.1 From 1c1251c50643585128525158dd94b7ad3be8a661 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Sat, 17 Jan 2015 11:31:10 +0100 Subject: mkimage: disable fsck on rootfs if it's f2fs; it does not work in the rpi. --- mkimage.sh.in | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/mkimage.sh.in b/mkimage.sh.in index ded9b7d..cc0c57a 100644 --- a/mkimage.sh.in +++ b/mkimage.sh.in @@ -167,7 +167,12 @@ tar xfp $ROOTFS_TARBALL -C $ROOTFSDIR BOOT_UUID=$(blkid -o value -s UUID ${LOOPDEV}p1) ROOT_UUID=$(blkid -o value -s UUID ${LOOPDEV}p2) -echo "UUID=$ROOT_UUID / $ROOT_FSTYPE defaults 0 1" >> ${ROOTFSDIR}/etc/fstab + +fspassno="1" +if [ "$ROOT_FSTYPE" = "f2fs" ]; then + fspassno="0" +fi +echo "UUID=$ROOT_UUID / $ROOT_FSTYPE defaults 0 ${fspassno}" >> ${ROOTFSDIR}/etc/fstab echo "UUID=$BOOT_UUID /boot $BOOT_FSTYPE defaults${fstab_args} 0 2" >> ${ROOTFSDIR}/etc/fstab if [ -s ${ROOTFSDIR}/boot/cmdline.txt ]; then -- cgit 1.4.1 From c2a95e625f03a1498630807f832f89dd7f1412e1 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Mon, 19 Jan 2015 15:07:53 +0100 Subject: mkrootfs: add 'bananapi' platform. --- mkrootfs.sh.in | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/mkrootfs.sh.in b/mkrootfs.sh.in index 0509158..3eb1197 100644 --- a/mkrootfs.sh.in +++ b/mkrootfs.sh.in @@ -1,6 +1,6 @@ #!/bin/sh #- -# Copyright (c) 2013-2014 Juan Romero Pardines. +# Copyright (c) 2013-2015 Juan Romero Pardines. # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -45,7 +45,7 @@ usage() { cat <<_EOF Usage: $PROGNAME [options] -Supported platforms: beaglebone, cubieboard2, odroid-u2, rpi +Supported platforms: bananapi, beaglebone, cubieboard2, odroid-u2, rpi Options -b Set an alternative base-system package (defaults to base-system) @@ -126,6 +126,7 @@ if [ -z "$PLATFORM" ]; then fi case "$PLATFORM" in + bananapi) _ARCH="armv7l"; QEMU_BIN=qemu-arm-static;; beaglebone) _ARCH="armv7l"; QEMU_BIN=qemu-arm-static;; cubieboard2) _ARCH="armv7l"; QEMU_BIN=qemu-arm-static;; odroid-u2) _ARCH="armv7l"; QEMU_BIN=qemu-arm-static;; -- cgit 1.4.1 From 7dff7059c0ac2c6e303bbe3425c046f885ebb8ba Mon Sep 17 00:00:00 2001 From: Juan RP Date: Mon, 19 Jan 2015 15:49:59 +0100 Subject: mkimage: added bananapi platform. --- mkimage.sh.in | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mkimage.sh.in b/mkimage.sh.in index cc0c57a..6e39a10 100644 --- a/mkimage.sh.in +++ b/mkimage.sh.in @@ -1,6 +1,6 @@ #!/bin/sh #- -# Copyright (c) 2013 Juan Romero Pardines. +# Copyright (c) 2013-2015 Juan Romero Pardines. # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -113,7 +113,7 @@ fi # double check PLATFORM is supported... case "$PLATFORM" in - beaglebone|cubieboard2|odroid-u2|rpi);; + bananapi|beaglebone|cubieboard2|odroid-u2|rpi);; *) die "The $PLATFORM is not supported, exiting..." esac @@ -179,7 +179,7 @@ if [ -s ${ROOTFSDIR}/boot/cmdline.txt ]; then sed -e "s,rootfstype=ext4,rootfstype=${ROOT_FSTYPE}," -i ${ROOTFSDIR}/boot/cmdline.txt fi -if [ "$PLATFORM" = "cubieboard2" ]; then +if [ "$PLATFORM" = "cubieboard2" -o "$PLATFORM" = "bananapi" ]; then dd if=${ROOTFSDIR}/boot/u-boot-sunxi-with-spl.bin of=${LOOPDEV} bs=1024 seek=8 >/dev/null 2>&1 elif [ "$PLATFORM" = "odroid-u2" ]; then dd if=${ROOTFSDIR}/boot/E4412_S.bl1.HardKernel.bin of=${LOOPDEV} seek=1 >/dev/null 2>&1 -- cgit 1.4.1 From 289136e02ee20247fbb2b6a1a8d07c331e86fd1a Mon Sep 17 00:00:00 2001 From: Juan RP Date: Sun, 25 Jan 2015 08:38:18 +0100 Subject: dracut/services: do not enable agetty-serial. --- dracut/services.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dracut/services.sh b/dracut/services.sh index 9f9df65..bf6c55c 100644 --- a/dracut/services.sh +++ b/dracut/services.sh @@ -22,7 +22,7 @@ done for f in $SERVICEDIR/*; do _service=${f##*/} case "${_service}" in - agetty-console|agetty-generic|sulogin|dhcpcd-*|iptables|ip6tables) ;; # ignored + agetty-console|agetty-generic|agetty-serial|sulogin|dhcpcd-*|iptables|ip6tables) ;; # ignored dhcpcd) [ -n "$dhcpcd" ] && ln -sf ${f##$NEWROOT} $NEWROOT/etc/runit/runsvdir/default/;; *) ln -sf ${f##$NEWROOT} $NEWROOT/etc/runit/runsvdir/default/;; esac -- cgit 1.4.1 From 8de43b1f994f82ce5bb104d85d328a03ee08b052 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Sun, 25 Jan 2015 08:38:38 +0100 Subject: dracut/display-manager-autologin: autostart cinnamon if found. --- dracut/display-manager-autologin.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dracut/display-manager-autologin.sh b/dracut/display-manager-autologin.sh index d497188..f294d9b 100644 --- a/dracut/display-manager-autologin.sh +++ b/dracut/display-manager-autologin.sh @@ -38,5 +38,7 @@ if [ -r ${NEWROOT}/etc/lxdm/lxdm.conf ]; then sed -e "s,.*session.*=.*,session=/usr/bin/startxfce4," -i ${NEWROOT}/etc/lxdm/lxdm.conf elif [ -x ${NEWROOT}/usr/bin/mate-session ]; then sed -e "s,.*session.*=.*,session=/usr/bin/mate-session," -i ${NEWROOT}/etc/lxdm/lxdm.conf + elif [ -x ${NEWROOT}/usr/bin/cinnamon-session ]; then + sed -e "s,.*session.*=.*,session=/usr/bin/cinnamon-session," -i ${NEWROOT}/etc/lxdm/lxdm.conf fi fi -- cgit 1.4.1 From 371941a8f1158fcfe8ef75e3145d83c5e1551bfe Mon Sep 17 00:00:00 2001 From: Juan RP Date: Sun, 25 Jan 2015 08:47:25 +0100 Subject: build-x86-images: generate image with cinnamon. --- build-x86-images.sh.in | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/build-x86-images.sh.in b/build-x86-images.sh.in index 65d7dc8..3ed0aad 100644 --- a/build-x86-images.sh.in +++ b/build-x86-images.sh.in @@ -6,6 +6,7 @@ readonly BASE_IMG=void-live-${ARCH}-${DATE}.iso readonly E_IMG=void-live-${ARCH}-${DATE}-enlightenment.iso readonly XFCE_IMG=void-live-${ARCH}-${DATE}-xfce.iso readonly MATE_IMG=void-live-${ARCH}-${DATE}-mate.iso +readonly MATE_IMG=void-live-${ARCH}-${DATE}-cinnamon.iso case "$ARCH" in i686) GRUB="grub";; @@ -13,10 +14,11 @@ case "$ARCH" in esac readonly BASE_PKGS="dialog $GRUB" -readonly X_PKGS="$BASE_PKGS xorg-minimal xorg-input-drivers xorg-video-drivers lxdm setxkbmap xauth" -readonly E_PKGS="$X_PKGS cantarell-fonts enlightenment terminology econnman udisks2 firefox" -readonly XFCE_PKGS="$X_PKGS xfce4 cantarell-fonts firefox network-manager-applet gvfs-afc gvfs-mtp gvfs-smb udisks2" -readonly MATE_PKGS="$X_PKGS mate mate-extra cantarell-fonts firefox network-manager-applet gvfs-afc gvfs-mtp gvfs-smb udisks2" +readonly X_PKGS="$BASE_PKGS xorg-minimal xorg-input-drivers xorg-video-drivers lxdm setxkbmap xauth cantarell-fonts" +readonly E_PKGS="$X_PKGS enlightenment terminology econnman udisks2 firefox" +readonly XFCE_PKGS="$X_PKGS xfce4 firefox network-manager-applet gvfs-afc gvfs-mtp gvfs-smb udisks2" +readonly MATE_PKGS="$X_PKGS mate mate-extra firefox network-manager-applet gvfs-afc gvfs-mtp gvfs-smb udisks2" +readonly CINNAMON_PKGS="$X_PKGS cinnamon firefox udisks2" [ ! -x mklive.sh ] && exit 0 @@ -32,4 +34,7 @@ fi if [ ! -e $MATE_IMG ]; then ./mklive.sh -o $MATE_IMG -p "$MATE_PKGS" fi +if [ ! -e $CINNAMON_IMG ]; then + ./mklive.sh -o $CINNAMON_IMG -p "$CINNAMON_PKGS" +fi -- cgit 1.4.1 From 0ea1f53ed98e02dd6272cd85994fefd52211aa2f Mon Sep 17 00:00:00 2001 From: Juan RP Date: Sun, 25 Jan 2015 08:51:39 +0100 Subject: build-x86-images: by popular demand add cryptsetup/lvm2/mdadm to all images. --- build-x86-images.sh.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-x86-images.sh.in b/build-x86-images.sh.in index 3ed0aad..efe75c1 100644 --- a/build-x86-images.sh.in +++ b/build-x86-images.sh.in @@ -13,7 +13,7 @@ case "$ARCH" in x86_64) GRUB="grub-x86_64-efi";; esac -readonly BASE_PKGS="dialog $GRUB" +readonly BASE_PKGS="dialog cryptsetup lvm2 mdadm $GRUB" readonly X_PKGS="$BASE_PKGS xorg-minimal xorg-input-drivers xorg-video-drivers lxdm setxkbmap xauth cantarell-fonts" readonly E_PKGS="$X_PKGS enlightenment terminology econnman udisks2 firefox" readonly XFCE_PKGS="$X_PKGS xfce4 firefox network-manager-applet gvfs-afc gvfs-mtp gvfs-smb udisks2" -- cgit 1.4.1 From c2fdc9e505bd64050995a5bd6c84db021bda8b3f Mon Sep 17 00:00:00 2001 From: Juan RP Date: Sun, 25 Jan 2015 11:49:38 +0100 Subject: build-x86-images: fix cinnamon image; add gnome-terminal and gvfs. --- build-x86-images.sh.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build-x86-images.sh.in b/build-x86-images.sh.in index efe75c1..cc10394 100644 --- a/build-x86-images.sh.in +++ b/build-x86-images.sh.in @@ -6,7 +6,7 @@ readonly BASE_IMG=void-live-${ARCH}-${DATE}.iso readonly E_IMG=void-live-${ARCH}-${DATE}-enlightenment.iso readonly XFCE_IMG=void-live-${ARCH}-${DATE}-xfce.iso readonly MATE_IMG=void-live-${ARCH}-${DATE}-mate.iso -readonly MATE_IMG=void-live-${ARCH}-${DATE}-cinnamon.iso +readonly CINNAMON_IMG=void-live-${ARCH}-${DATE}-cinnamon.iso case "$ARCH" in i686) GRUB="grub";; @@ -18,7 +18,7 @@ readonly X_PKGS="$BASE_PKGS xorg-minimal xorg-input-drivers xorg-video-drivers l readonly E_PKGS="$X_PKGS enlightenment terminology econnman udisks2 firefox" readonly XFCE_PKGS="$X_PKGS xfce4 firefox network-manager-applet gvfs-afc gvfs-mtp gvfs-smb udisks2" readonly MATE_PKGS="$X_PKGS mate mate-extra firefox network-manager-applet gvfs-afc gvfs-mtp gvfs-smb udisks2" -readonly CINNAMON_PKGS="$X_PKGS cinnamon firefox udisks2" +readonly CINNAMON_PKGS="$X_PKGS cinnamon firefox gnome-terminal gvfs-afc gvfs-mtp gvfs-smb udisks2" [ ! -x mklive.sh ] && exit 0 -- cgit 1.4.1 From 690ffec05cb2889f33b773db7a4268769360a24c Mon Sep 17 00:00:00 2001 From: Juan RP Date: Sat, 31 Jan 2015 10:00:05 +0100 Subject: mklive: unbreak setting multiple repos via -r (close #17) --- mklive.sh.in | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/mklive.sh.in b/mklive.sh.in index 2a9d70a..dcd1e75 100644 --- a/mklive.sh.in +++ b/mklive.sh.in @@ -3,7 +3,7 @@ # vim: set ts=4 sw=4 et: # #- -# Copyright (c) 2009-2014 Juan Romero Pardines. +# Copyright (c) 2009-2015 Juan Romero Pardines. # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -246,6 +246,7 @@ generate_iso_image() { -output "$CURDIR/$OUTPUT_FILE" "$IMAGEDIR" || die "Failed to generate ISO image" } +XBPS_REPOSITORY= # # main() # @@ -253,7 +254,7 @@ while getopts "a:b:r:c:C:T:Kk:l:i:s:S:o:p:h" opt; do case $opt in a) BASE_ARCH="$OPTARG";; b) BASE_SYSTEM_PKG="$OPTARG";; - r) XBPS_REPOSITORY="--repository=$OPTARG";; + r) XBPS_REPOSITORY="$XBPS_REPOSITORY --repository=$OPTARG ";; c) XBPS_CACHEDIR="--cachedir=$OPTARG";; K) readonly KEEP_BUILDDIR=1;; k) KEYMAP="$OPTARG";; -- cgit 1.4.1 From 5331b55e396bedbf076578bdad87cfa5ef411973 Mon Sep 17 00:00:00 2001 From: Christian Neukirchen Date: Sat, 31 Jan 2015 14:40:39 +0100 Subject: mkrootfs: use parallel xz. --- mkrootfs.sh.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mkrootfs.sh.in b/mkrootfs.sh.in index 3eb1197..d664ec0 100644 --- a/mkrootfs.sh.in +++ b/mkrootfs.sh.in @@ -149,7 +149,7 @@ done if type pixz >/dev/null 2>&1; then XZ=pixz else - XZ=xz + XZ="xz -T0" fi # # Check if package base-system is available. -- cgit 1.4.1 From 0b9c6f01607afcf77a8e84bd861c601020a912a9 Mon Sep 17 00:00:00 2001 From: Christian Neukirchen Date: Sat, 31 Jan 2015 14:42:36 +0100 Subject: mkrootfs: support i686/x86_64. --- mkrootfs.sh.in | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/mkrootfs.sh.in b/mkrootfs.sh.in index d664ec0..57c32b1 100644 --- a/mkrootfs.sh.in +++ b/mkrootfs.sh.in @@ -45,7 +45,8 @@ usage() { cat <<_EOF Usage: $PROGNAME [options] -Supported platforms: bananapi, beaglebone, cubieboard2, odroid-u2, rpi +Supported platforms: i686, i686-musl, x86_64, x86_64-musl, + bananapi, beaglebone, cubieboard2, odroid-u2, rpi Options -b Set an alternative base-system package (defaults to base-system) @@ -129,8 +130,12 @@ case "$PLATFORM" in bananapi) _ARCH="armv7l"; QEMU_BIN=qemu-arm-static;; beaglebone) _ARCH="armv7l"; QEMU_BIN=qemu-arm-static;; cubieboard2) _ARCH="armv7l"; QEMU_BIN=qemu-arm-static;; + i686) _ARCH="i686"; QEMU_BIN=qemu-i386-static;; + i686-musl) _ARCH="i686-musl"; QEMU_BIN=qemu-i386-static;; odroid-u2) _ARCH="armv7l"; QEMU_BIN=qemu-arm-static;; rpi) _ARCH="armv6l"; QEMU_BIN=qemu-arm-static;; + x86_64) _ARCH="x86_64"; QEMU_BIN=qemu-x86_64-static;; + x86_64-musl) _ARCH="x86_64-musl"; QEMU_BIN=qemu-x86_64-static;; *) die "$PROGNAME: invalid platform!";; esac @@ -163,7 +168,10 @@ run_cmd_target "xbps-query -R -r $rootfs $XBPS_CONFFILE $XBPS_CACHEDIR $XBPS_REP chmod 755 $rootfs -PKGS="${PKGBASE} ${PLATFORM}-base" +case "$PLATFORM" in + i686*|x86_64*) PKGS="${PKGBASE} grub" ;; + *) PKGS="${PKGBASE} ${PLATFORM}-base" ;; +esac [ -n "$EXTRA_PKGS" ] && PKGS="${PKGS} ${EXTRA_PKGS}" mount_pseudofs @@ -182,15 +190,22 @@ sed -e "s/\#\(${LOCALE}.*\)/\1/g" -i $rootfs/etc/default/libc-locales # if [ -n "${_ARCH}" ]; then info_msg "Reconfiguring packages for ${_ARCH} ..." - register_binfmt - run_cmd "xbps-reconfigure -r $rootfs base-directories" + case "$PLATFORM" in + i686*|x86_64*) + run_cmd "XBPS_ARCH=$_ARCH xbps-reconfigure -r $rootfs base-directories" + ;; + *) + register_binfmt + run_cmd "xbps-reconfigure -r $rootfs base-directories" + rmdir $rootfs/usr/lib32 + rm -f $rootfs/lib32 $rootfs/lib64 $rootfs/usr/lib64 + ;; + esac run_cmd "chroot $rootfs xbps-reconfigure shadow" if [ "$PKGBASE" = "base-system-systemd" ]; then run_cmd "chroot $rootfs xbps-reconfigure systemd" fi run_cmd "chroot $rootfs xbps-reconfigure -a" - rmdir $rootfs/usr/lib32 - rm -f $rootfs/lib32 $rootfs/lib64 $rootfs/usr/lib64 else if [ "$PKGBASE" = "base-system-systemd" ]; then run_cmd "chroot $rootfs xbps-reconfigure systemd" -- cgit 1.4.1 From e52f493f15b2e9303be90253d1956fa392315481 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Fri, 6 Feb 2015 11:29:49 +0100 Subject: mk{image,rootfs}: add support for the rpi2 platform (armv7). --- mkimage.sh.in | 2 +- mkrootfs.sh.in | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/mkimage.sh.in b/mkimage.sh.in index 6e39a10..518ca78 100644 --- a/mkimage.sh.in +++ b/mkimage.sh.in @@ -113,7 +113,7 @@ fi # double check PLATFORM is supported... case "$PLATFORM" in - bananapi|beaglebone|cubieboard2|odroid-u2|rpi);; + bananapi|beaglebone|cubieboard2|odroid-u2|rpi|rpi2);; *) die "The $PLATFORM is not supported, exiting..." esac diff --git a/mkrootfs.sh.in b/mkrootfs.sh.in index 57c32b1..340c27b 100644 --- a/mkrootfs.sh.in +++ b/mkrootfs.sh.in @@ -46,7 +46,8 @@ usage() { Usage: $PROGNAME [options] Supported platforms: i686, i686-musl, x86_64, x86_64-musl, - bananapi, beaglebone, cubieboard2, odroid-u2, rpi + bananapi, beaglebone, cubieboard2, odroid-u2, + rpi, rpi2 (armv7) Options -b Set an alternative base-system package (defaults to base-system) @@ -134,6 +135,7 @@ case "$PLATFORM" in i686-musl) _ARCH="i686-musl"; QEMU_BIN=qemu-i386-static;; odroid-u2) _ARCH="armv7l"; QEMU_BIN=qemu-arm-static;; rpi) _ARCH="armv6l"; QEMU_BIN=qemu-arm-static;; + rpi2) _ARCH="armv7l"; QEMU_BIN=qemu-arm-static;; x86_64) _ARCH="x86_64"; QEMU_BIN=qemu-x86_64-static;; x86_64-musl) _ARCH="x86_64-musl"; QEMU_BIN=qemu-x86_64-static;; *) die "$PROGNAME: invalid platform!";; -- cgit 1.4.1 From cf8654694e43230c6fcf185228492db49dd73ff5 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Fri, 6 Feb 2015 11:50:37 +0100 Subject: build-arm-images: build the rpi2 image. --- build-arm-images.sh.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-arm-images.sh.in b/build-arm-images.sh.in index 399baf2..463eae7 100644 --- a/build-arm-images.sh.in +++ b/build-arm-images.sh.in @@ -4,7 +4,7 @@ set -e date=$(date '+%Y%m%d') -for f in beaglebone cubieboard2 odroid-u2 rpi; do +for f in beaglebone cubieboard2 odroid-u2 rpi rpi2; do ./mkrootfs.sh $f ./mkimage.sh void-${f}-rootfs-${date}.tar.xz pixz -9 void-${f}-${date}.img -- cgit 1.4.1 From 6a68e5c87586ede4ee43cd1da0f0d648f9fc73bc Mon Sep 17 00:00:00 2001 From: Juan RP Date: Fri, 6 Feb 2015 12:16:14 +0100 Subject: mkrootfs: override PLATFORM for rpi; we do use the same platform pkg. --- mkrootfs.sh.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mkrootfs.sh.in b/mkrootfs.sh.in index 340c27b..7f1a20d 100644 --- a/mkrootfs.sh.in +++ b/mkrootfs.sh.in @@ -135,7 +135,7 @@ case "$PLATFORM" in i686-musl) _ARCH="i686-musl"; QEMU_BIN=qemu-i386-static;; odroid-u2) _ARCH="armv7l"; QEMU_BIN=qemu-arm-static;; rpi) _ARCH="armv6l"; QEMU_BIN=qemu-arm-static;; - rpi2) _ARCH="armv7l"; QEMU_BIN=qemu-arm-static;; + rpi2) PLATFORM="rpi"; _ARCH="armv7l"; QEMU_BIN=qemu-arm-static;; x86_64) _ARCH="x86_64"; QEMU_BIN=qemu-x86_64-static;; x86_64-musl) _ARCH="x86_64-musl"; QEMU_BIN=qemu-x86_64-static;; *) die "$PROGNAME: invalid platform!";; -- cgit 1.4.1 From 5684607fceb8069658a276543da48bc8e37b6dcd Mon Sep 17 00:00:00 2001 From: Juan RP Date: Fri, 6 Feb 2015 14:00:15 +0100 Subject: mkrootfs: generate rpi2 tarballs with a proper name. --- mkrootfs.sh.in | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/mkrootfs.sh.in b/mkrootfs.sh.in index 7f1a20d..2300283 100644 --- a/mkrootfs.sh.in +++ b/mkrootfs.sh.in @@ -121,12 +121,14 @@ done shift $(($OPTIND - 1)) PLATFORM="$1" +SUBPLATFORM=$PLATFORM if [ -z "$PLATFORM" ]; then echo "$PROGNAME: platform was not set!" usage; exit 1 fi + case "$PLATFORM" in bananapi) _ARCH="armv7l"; QEMU_BIN=qemu-arm-static;; beaglebone) _ARCH="armv7l"; QEMU_BIN=qemu-arm-static;; @@ -135,7 +137,7 @@ case "$PLATFORM" in i686-musl) _ARCH="i686-musl"; QEMU_BIN=qemu-i386-static;; odroid-u2) _ARCH="armv7l"; QEMU_BIN=qemu-arm-static;; rpi) _ARCH="armv6l"; QEMU_BIN=qemu-arm-static;; - rpi2) PLATFORM="rpi"; _ARCH="armv7l"; QEMU_BIN=qemu-arm-static;; + rpi2) SUBPLATFORM="rpi"; _ARCH="armv7l"; QEMU_BIN=qemu-arm-static;; x86_64) _ARCH="x86_64"; QEMU_BIN=qemu-x86_64-static;; x86_64-musl) _ARCH="x86_64-musl"; QEMU_BIN=qemu-x86_64-static;; *) die "$PROGNAME: invalid platform!";; @@ -172,7 +174,7 @@ chmod 755 $rootfs case "$PLATFORM" in i686*|x86_64*) PKGS="${PKGBASE} grub" ;; - *) PKGS="${PKGBASE} ${PLATFORM}-base" ;; + *) PKGS="${PKGBASE} ${SUBPLATFORM}-base" ;; esac [ -n "$EXTRA_PKGS" ] && PKGS="${PKGS} ${EXTRA_PKGS}" -- cgit 1.4.1 From 9b00e0b1fe74fd90853cd0ddefc6cae33ab9acc4 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Tue, 10 Feb 2015 18:43:38 +0100 Subject: mkimage: do not touch rootfstype from cmdline, it's unnecessary. --- mkimage.sh.in | 4 ---- 1 file changed, 4 deletions(-) diff --git a/mkimage.sh.in b/mkimage.sh.in index 518ca78..38ad5c2 100644 --- a/mkimage.sh.in +++ b/mkimage.sh.in @@ -175,10 +175,6 @@ fi echo "UUID=$ROOT_UUID / $ROOT_FSTYPE defaults 0 ${fspassno}" >> ${ROOTFSDIR}/etc/fstab echo "UUID=$BOOT_UUID /boot $BOOT_FSTYPE defaults${fstab_args} 0 2" >> ${ROOTFSDIR}/etc/fstab -if [ -s ${ROOTFSDIR}/boot/cmdline.txt ]; then - sed -e "s,rootfstype=ext4,rootfstype=${ROOT_FSTYPE}," -i ${ROOTFSDIR}/boot/cmdline.txt -fi - if [ "$PLATFORM" = "cubieboard2" -o "$PLATFORM" = "bananapi" ]; then dd if=${ROOTFSDIR}/boot/u-boot-sunxi-with-spl.bin of=${LOOPDEV} bs=1024 seek=8 >/dev/null 2>&1 elif [ "$PLATFORM" = "odroid-u2" ]; then -- cgit 1.4.1 From a7ed58c4fb2140c0c3306d3dcc45e5a03c764315 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Wed, 11 Feb 2015 08:34:35 +0100 Subject: mklive: force C locale to install base pkgs to silence dracut. --- mklive.sh.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mklive.sh.in b/mklive.sh.in index dcd1e75..01131b9 100644 --- a/mklive.sh.in +++ b/mklive.sh.in @@ -97,7 +97,7 @@ install_packages() { ${XBPS_INSTALL_CMD} -r $ROOTFS $XBPS_REPOSITORY $XBPS_CACHEDIR -yn ${PACKAGE_LIST} ${INITRAMFS_PKGS} [ $? -ne 0 ] && die "Missing required binary packages, exiting..." - ${XBPS_INSTALL_CMD} -r $ROOTFS $XBPS_REPOSITORY $XBPS_CACHEDIR -y ${PACKAGE_LIST} ${INITRAMFS_PKGS} + LANG=C ${XBPS_INSTALL_CMD} -r $ROOTFS $XBPS_REPOSITORY $XBPS_CACHEDIR -y ${PACKAGE_LIST} ${INITRAMFS_PKGS} [ $? -ne 0 ] && die "Failed to install $PACKAGE_LIST" # Enable choosen UTF-8 locale and generate it into the target rootfs. -- cgit 1.4.1 From c332eae7819948a3b94062647a9539dd1a9f5087 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Thu, 12 Feb 2015 09:14:22 +0100 Subject: mkrootfs: die if $QEMU_BIN is not in PATH. --- mkrootfs.sh.in | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mkrootfs.sh.in b/mkrootfs.sh.in index 2300283..d082ba2 100644 --- a/mkrootfs.sh.in +++ b/mkrootfs.sh.in @@ -155,6 +155,9 @@ for f in chroot tar xbps-install xbps-reconfigure xbps-query; do die "$f binary is missing in your system, exiting." fi done +if ! $QEMU_BIN -version >/dev/null 2>&1; then + die "$QEMU_BIN binary is missing in your system, exiting." +fi if type pixz >/dev/null 2>&1; then XZ=pixz else -- cgit 1.4.1 From 45ea7a94e3ec6d0ad2f94f5c08fa1a705fe89be6 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Sat, 14 Feb 2015 11:40:57 +0100 Subject: dracut/services: do not enable agetty on serial by default. --- dracut/services.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dracut/services.sh b/dracut/services.sh index bf6c55c..f0f1eef 100644 --- a/dracut/services.sh +++ b/dracut/services.sh @@ -22,7 +22,7 @@ done for f in $SERVICEDIR/*; do _service=${f##*/} case "${_service}" in - agetty-console|agetty-generic|agetty-serial|sulogin|dhcpcd-*|iptables|ip6tables) ;; # ignored + agetty-console|agetty-generic|agetty-serial|agetty-tty[SAU]*|sulogin|dhcpcd-*|iptables|ip6tables) ;; # ignored dhcpcd) [ -n "$dhcpcd" ] && ln -sf ${f##$NEWROOT} $NEWROOT/etc/runit/runsvdir/default/;; *) ln -sf ${f##$NEWROOT} $NEWROOT/etc/runit/runsvdir/default/;; esac -- cgit 1.4.1 From a0a774efab01b4203e62ca7d8c3e42c012203857 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Sat, 14 Feb 2015 12:34:56 +0100 Subject: build-x86-images: add gnome-themes-standard for gtk[23] apps. --- build-x86-images.sh.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-x86-images.sh.in b/build-x86-images.sh.in index cc10394..ee9332a 100644 --- a/build-x86-images.sh.in +++ b/build-x86-images.sh.in @@ -14,7 +14,7 @@ case "$ARCH" in esac readonly BASE_PKGS="dialog cryptsetup lvm2 mdadm $GRUB" -readonly X_PKGS="$BASE_PKGS xorg-minimal xorg-input-drivers xorg-video-drivers lxdm setxkbmap xauth cantarell-fonts" +readonly X_PKGS="$BASE_PKGS xorg-minimal xorg-input-drivers xorg-video-drivers lxdm setxkbmap xauth cantarell-fonts gnome-themes-standard" readonly E_PKGS="$X_PKGS enlightenment terminology econnman udisks2 firefox" readonly XFCE_PKGS="$X_PKGS xfce4 firefox network-manager-applet gvfs-afc gvfs-mtp gvfs-smb udisks2" readonly MATE_PKGS="$X_PKGS mate mate-extra firefox network-manager-applet gvfs-afc gvfs-mtp gvfs-smb udisks2" -- cgit 1.4.1 From ca8d1ff70bbd4ffbb3538c919e17642927f571b4 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Sat, 14 Feb 2015 12:44:10 +0100 Subject: dracut/adduser: add user to the audio/video groups. --- dracut/adduser.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dracut/adduser.sh b/dracut/adduser.sh index 68b6bd4..f006424 100644 --- a/dracut/adduser.sh +++ b/dracut/adduser.sh @@ -23,7 +23,7 @@ if ! grep -q ${USERSHELL} ${NEWROOT}/etc/shells ; then fi # Create new user and remove password. We'll use autologin by default. -chroot ${NEWROOT} useradd -m -c $USERNAME -G wheel -s $USERSHELL $USERNAME +chroot ${NEWROOT} useradd -m -c $USERNAME -G audio,video,wheel -s $USERSHELL $USERNAME chroot ${NEWROOT} passwd -d $USERNAME >/dev/null 2>&1 # Setup default root/user password (voidlinux). -- cgit 1.4.1 From 03b9a7b424dafa0a7f3e6c026155bccbe2d7105e Mon Sep 17 00:00:00 2001 From: Stefan Mühlinghaus Date: Fri, 20 Feb 2015 22:12:18 +0100 Subject: Option not to install a bootloader --- installer.sh.in | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/installer.sh.in b/installer.sh.in index e881e25..13fa55b 100644 --- a/installer.sh.in +++ b/installer.sh.in @@ -419,7 +419,7 @@ set_rootpassword() { menu_bootloader() { while true; do DIALOG --title " Select the disk to install the bootloader" \ - --menu "$MENULABEL" ${MENUSIZE} $(show_disks) + --menu "$MENULABEL" ${MENUSIZE} $(show_disks) none "Manage bootloader otherwise" if [ $? -eq 0 ]; then set_option BOOTLOADER "$(cat $ANSWER)" BOOTLOADER_DONE=1 @@ -433,6 +433,8 @@ menu_bootloader() { set_bootloader() { local dev=$(get_option BOOTLOADER) grub_args= + if [ "$dev" = "none" ]; then return; fi + # Check if it's an EFI system via efivars module. if [ -n "$EFI_SYSTEM" ]; then grub_args="--target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=void_grub --recheck" -- cgit 1.4.1 From 77da56c24aa82d172550bb8f9110102db5eb7fd8 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Sat, 21 Feb 2015 17:31:01 +0100 Subject: build-x86-images: pass additional args to mklive. --- build-x86-images.sh.in | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/build-x86-images.sh.in b/build-x86-images.sh.in index ee9332a..10a96cb 100644 --- a/build-x86-images.sh.in +++ b/build-x86-images.sh.in @@ -23,18 +23,18 @@ readonly CINNAMON_PKGS="$X_PKGS cinnamon firefox gnome-terminal gvfs-afc gvfs-mt [ ! -x mklive.sh ] && exit 0 if [ ! -e $BASE_IMG ]; then - ./mklive.sh -o $BASE_IMG -p "$BASE_PKGS" + ./mklive.sh -o $BASE_IMG -p "$BASE_PKGS" $@ fi if [ ! -e $E_IMG ]; then - ./mklive.sh -o $E_IMG -p "$E_PKGS" + ./mklive.sh -o $E_IMG -p "$E_PKGS" $@ fi if [ ! -e $XFCE_IMG ]; then - ./mklive.sh -o $XFCE_IMG -p "$XFCE_PKGS" + ./mklive.sh -o $XFCE_IMG -p "$XFCE_PKGS" $@ fi if [ ! -e $MATE_IMG ]; then - ./mklive.sh -o $MATE_IMG -p "$MATE_PKGS" + ./mklive.sh -o $MATE_IMG -p "$MATE_PKGS" $@ fi if [ ! -e $CINNAMON_IMG ]; then - ./mklive.sh -o $CINNAMON_IMG -p "$CINNAMON_PKGS" + ./mklive.sh -o $CINNAMON_IMG -p "$CINNAMON_PKGS" $@ fi -- cgit 1.4.1 From 69bcb88aa1d5771a463b524f7f6385ad3575a7dc Mon Sep 17 00:00:00 2001 From: Juan RP Date: Sat, 21 Feb 2015 18:25:14 +0100 Subject: mklive: add libgcc to required pkgs; glibc's pthread_cancel needs it :/ --- mklive.sh.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mklive.sh.in b/mklive.sh.in index 01131b9..95c39e4 100644 --- a/mklive.sh.in +++ b/mklive.sh.in @@ -28,7 +28,7 @@ #- trap "error_out $LINENO $?" INT TERM 0 -readonly REQUIRED_PKGS="base-files dash coreutils sed tar gawk syslinux grub-x86_64-efi squashfs-tools xorriso" +readonly REQUIRED_PKGS="base-files libgcc dash coreutils sed tar gawk syslinux grub-x86_64-efi squashfs-tools xorriso" readonly INITRAMFS_PKGS="binutils xz device-mapper" readonly PROGNAME=$(basename $0) -- cgit 1.4.1 From 3d30dbb7a66ccd894c286948e1c1214dfc0f0e40 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Sun, 22 Feb 2015 09:39:47 +0100 Subject: mkimage: misc cosmetic tweaks; umount rootfs/boot only if it's mounted. --- mkimage.sh.in | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mkimage.sh.in b/mkimage.sh.in index 38ad5c2..96199fa 100644 --- a/mkimage.sh.in +++ b/mkimage.sh.in @@ -41,7 +41,7 @@ cleanup() { } info_msg() { - printf "\033[1m$@\n\033[m" + printf "\033[1m[${PLATFORM}] $@\n\033[m" } die() { @@ -184,12 +184,12 @@ elif [ "$PLATFORM" = "odroid-u2" ]; then dd if=${ROOTFSDIR}/boot/E4412_S.tzsw.signed.bin of=${LOOPDEV} seek=2111 >/dev/null 2>&1 fi -umount ${ROOTFSDIR}/boot || : +mountpoint -q ${ROOTFSDIR}/boot && umount ${ROOTFSDIR}/boot umount $ROOTFSDIR losetup -d $LOOPDEV rmdir $ROOTFSDIR chmod 644 $FILENAME -info_msg "Successfully created $FILENAME ($PLATFORM) image." +info_msg "Successfully created $FILENAME image." # vim: set ts=4 sw=4 et: -- cgit 1.4.1 From 6755fa69c4ac53601c383ba00414adea4d5d5525 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Sun, 22 Feb 2015 09:40:25 +0100 Subject: build-arm-images: only build the images, the rootfs must be available. --- build-arm-images.sh.in | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/build-arm-images.sh.in b/build-arm-images.sh.in index 463eae7..c1f02a9 100644 --- a/build-arm-images.sh.in +++ b/build-arm-images.sh.in @@ -2,10 +2,10 @@ set -e -date=$(date '+%Y%m%d') +PLATFORMS="beaglebone cubieboard2 odroid-u2 rpi rpi2" +DATE=$(date '+%Y%m%d') -for f in beaglebone cubieboard2 odroid-u2 rpi rpi2; do - ./mkrootfs.sh $f - ./mkimage.sh void-${f}-rootfs-${date}.tar.xz - pixz -9 void-${f}-${date}.img +for f in ${PLATFORMS}; do + ./mkimage.sh void-${f}-rootfs-${DATE}.tar.xz + xz -T0 void-${f}-${DATE}.img done -- cgit 1.4.1 From 00b4452a2a4dacd9499ef1bcc08682d99f338d34 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Sun, 22 Feb 2015 09:40:53 +0100 Subject: build-rootfs: new script to build all rootfs tarballs. --- build-rootfs.sh.in | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 build-rootfs.sh.in diff --git a/build-rootfs.sh.in b/build-rootfs.sh.in new file mode 100644 index 0000000..135194f --- /dev/null +++ b/build-rootfs.sh.in @@ -0,0 +1,9 @@ +#!/bin/sh + +set -e + +PLATFORMS="beaglebone cubieboard2 odroid-u2 rpi rpi2" + +for f in ${PLATFORMS}; do + ./mkrootfs.sh $f $@ +done -- cgit 1.4.1 From 6bf0ef18f6443752534907418b5b423a1aa953ed Mon Sep 17 00:00:00 2001 From: Juan RP Date: Sun, 22 Feb 2015 09:46:05 +0100 Subject: build-rootfs: fix arg order. --- build-rootfs.sh.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-rootfs.sh.in b/build-rootfs.sh.in index 135194f..bfd6ff9 100644 --- a/build-rootfs.sh.in +++ b/build-rootfs.sh.in @@ -5,5 +5,5 @@ set -e PLATFORMS="beaglebone cubieboard2 odroid-u2 rpi rpi2" for f in ${PLATFORMS}; do - ./mkrootfs.sh $f $@ + ./mkrootfs.sh $@ $f done -- cgit 1.4.1 From 8ee6fd344b50b647af72e3fa92238cdacbf34122 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Tue, 7 Apr 2015 10:23:19 +0200 Subject: mklive: reconfigure base-files for the kvm group. --- mklive.sh.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mklive.sh.in b/mklive.sh.in index 95c39e4..882a0ae 100644 --- a/mklive.sh.in +++ b/mklive.sh.in @@ -107,7 +107,7 @@ install_packages() { fi if xbps-query -r $ROOTFS util-linux >/dev/null 2>&1; then # reconfigure util-linux just to be safe - xbps-reconfigure -r $ROOTFS -f util-linux + xbps-reconfigure -r $ROOTFS -f base-files util-linux fi if [ -x installer.sh ]; then -- cgit 1.4.1 From f0592dcd5e78dbffa8d853043a5d122a792310b5 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Tue, 7 Apr 2015 10:23:33 +0200 Subject: dracut/services: do not enable wpa_supplicant. --- dracut/services.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dracut/services.sh b/dracut/services.sh index f0f1eef..c5276b6 100644 --- a/dracut/services.sh +++ b/dracut/services.sh @@ -22,7 +22,7 @@ done for f in $SERVICEDIR/*; do _service=${f##*/} case "${_service}" in - agetty-console|agetty-generic|agetty-serial|agetty-tty[SAU]*|sulogin|dhcpcd-*|iptables|ip6tables) ;; # ignored + agetty-console|agetty-generic|agetty-serial|agetty-tty[SAU]*|sulogin|dhcpcd-*|iptables|ip6tables|wpa_supplicant) ;; # ignored dhcpcd) [ -n "$dhcpcd" ] && ln -sf ${f##$NEWROOT} $NEWROOT/etc/runit/runsvdir/default/;; *) ln -sf ${f##$NEWROOT} $NEWROOT/etc/runit/runsvdir/default/;; esac -- cgit 1.4.1 From 69f299c581afe3729020a289219eaa8fa52a526b Mon Sep 17 00:00:00 2001 From: Juan RP Date: Wed, 8 Apr 2015 10:02:15 +0200 Subject: build-x86-images.sh.in: improve the monospace fonts issue. --- build-x86-images.sh.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-x86-images.sh.in b/build-x86-images.sh.in index 10a96cb..f18f628 100644 --- a/build-x86-images.sh.in +++ b/build-x86-images.sh.in @@ -14,7 +14,7 @@ case "$ARCH" in esac readonly BASE_PKGS="dialog cryptsetup lvm2 mdadm $GRUB" -readonly X_PKGS="$BASE_PKGS xorg-minimal xorg-input-drivers xorg-video-drivers lxdm setxkbmap xauth cantarell-fonts gnome-themes-standard" +readonly X_PKGS="$BASE_PKGS xorg-minimal xorg-input-drivers xorg-video-drivers lxdm setxkbmap xauth font-misc-misc terminus-font cantarell-fonts gnome-themes-standard" readonly E_PKGS="$X_PKGS enlightenment terminology econnman udisks2 firefox" readonly XFCE_PKGS="$X_PKGS xfce4 firefox network-manager-applet gvfs-afc gvfs-mtp gvfs-smb udisks2" readonly MATE_PKGS="$X_PKGS mate mate-extra firefox network-manager-applet gvfs-afc gvfs-mtp gvfs-smb udisks2" -- cgit 1.4.1 From bc72a0b4cff83518b3d2a790f29ad84c2ba30e7f Mon Sep 17 00:00:00 2001 From: Juan RP Date: Wed, 15 Apr 2015 07:30:18 +0200 Subject: mklive: use $BASE_ARCH if set for the image filename. --- mklive.sh.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mklive.sh.in b/mklive.sh.in index 882a0ae..60e9248 100644 --- a/mklive.sh.in +++ b/mklive.sh.in @@ -331,7 +331,7 @@ _linux_series=$($XBPS_QUERY_CMD -r $ROOTFS ${XBPS_REPOSITORY:=-R} -x linux) KERNELVERSION=$($XBPS_QUERY_CMD -r $ROOTFS ${XBPS_REPOSITORY:=-R} -p pkgver ${_linux_series}) KERNELVERSION=$($XBPS_UHELPER_CMD getpkgversion $KERNELVERSION) -: ${OUTPUT_FILE="void-live-$(uname -m)-${KERNELVERSION}-$(date +%Y%m%d).iso"} +: ${OUTPUT_FILE="void-live-${BASE_ARCH:=$(uname -m)}-${KERNELVERSION}-$(date +%Y%m%d).iso"} info_msg "[2/9] Installing software to generate the image: ${REQUIRED_PKGS} ..." install_prereqs -- cgit 1.4.1 From ad1fb6c388038f6ed8913c692b5b6b12ea320032 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Wed, 15 Apr 2015 07:33:04 +0200 Subject: README: update mklive examples. --- README.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 598f596..41a6a5e 100644 --- a/README.md +++ b/README.md @@ -28,12 +28,16 @@ and then see the usage output: #### Examples -Build an x86 live image with runit and keyboard set to 'fr': +Build a native live image with runit and keyboard set to 'fr': # ./mklive.sh -k fr -Build an x86 live image with systemd and some optional packages: +Build an i686 (on x86\_64) live image with some additional packages: - # ./mklive.sh -b base-system-systemd -p 'vim rtorrent' + # ./mklive.sh -a i686 -p 'vim rtorrent' + +Build an x86\_64 musl live image with packages stored in a local repository: + + # ./mklive.sh -a x86_64-musl -r /path/to/host/binpkgs See the usage output for more information :-) -- cgit 1.4.1 From bc5f40d51f89b9af8229e7833355ba44aaa35e42 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Wed, 15 Apr 2015 07:33:47 +0200 Subject: COPYING: it's 2015. --- COPYING | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/COPYING b/COPYING index 706bd2b..b87022b 100644 --- a/COPYING +++ b/COPYING @@ -1,4 +1,4 @@ -# Copyright (c) 2009-2014 Juan RP +# Copyright (c) 2009-2015 Juan RP # Copyright (c) 2012 Dave Elusive # All rights reserved. # -- cgit 1.4.1 From 8b238fad3fab90fc6e2da5422082157bff747d33 Mon Sep 17 00:00:00 2001 From: Enno Boland Date: Tue, 28 Apr 2015 17:30:16 +0200 Subject: add platform support for USB armory --- build-arm-images.sh.in | 2 +- build-rootfs.sh.in | 2 +- mkimage.sh.in | 4 +++- mkrootfs.sh.in | 3 ++- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/build-arm-images.sh.in b/build-arm-images.sh.in index c1f02a9..4b01d5c 100644 --- a/build-arm-images.sh.in +++ b/build-arm-images.sh.in @@ -2,7 +2,7 @@ set -e -PLATFORMS="beaglebone cubieboard2 odroid-u2 rpi rpi2" +PLATFORMS="beaglebone cubieboard2 odroid-u2 rpi rpi2 usbarmory" DATE=$(date '+%Y%m%d') for f in ${PLATFORMS}; do diff --git a/build-rootfs.sh.in b/build-rootfs.sh.in index bfd6ff9..5d5644d 100644 --- a/build-rootfs.sh.in +++ b/build-rootfs.sh.in @@ -2,7 +2,7 @@ set -e -PLATFORMS="beaglebone cubieboard2 odroid-u2 rpi rpi2" +PLATFORMS="beaglebone cubieboard2 odroid-u2 rpi rpi2 usbarmory" for f in ${PLATFORMS}; do ./mkrootfs.sh $@ $f diff --git a/mkimage.sh.in b/mkimage.sh.in index 96199fa..a0359a7 100644 --- a/mkimage.sh.in +++ b/mkimage.sh.in @@ -113,7 +113,7 @@ fi # double check PLATFORM is supported... case "$PLATFORM" in - bananapi|beaglebone|cubieboard2|odroid-u2|rpi|rpi2);; + bananapi|beaglebone|cubieboard2|odroid-u2|rpi|rpi2|usbarmory);; *) die "The $PLATFORM is not supported, exiting..." esac @@ -182,6 +182,8 @@ elif [ "$PLATFORM" = "odroid-u2" ]; then dd if=${ROOTFSDIR}/boot/bl2.signed.bin of=${LOOPDEV} seek=31 >/dev/null 2>&1 dd if=${ROOTFSDIR}/boot/u-boot.bin of=${LOOPDEV} seek=63 >/dev/null 2>&1 dd if=${ROOTFSDIR}/boot/E4412_S.tzsw.signed.bin of=${LOOPDEV} seek=2111 >/dev/null 2>&1 +elif [ "$PLATFORM" = "usbarmory" ]; then + dd if=${ROOTFSDIR}/boot/u-boot.imx of=${LOOPDEV} bs=512 seek=2 conv=fsync fi mountpoint -q ${ROOTFSDIR}/boot && umount ${ROOTFSDIR}/boot diff --git a/mkrootfs.sh.in b/mkrootfs.sh.in index d082ba2..c112790 100644 --- a/mkrootfs.sh.in +++ b/mkrootfs.sh.in @@ -47,7 +47,7 @@ Usage: $PROGNAME [options] Supported platforms: i686, i686-musl, x86_64, x86_64-musl, bananapi, beaglebone, cubieboard2, odroid-u2, - rpi, rpi2 (armv7) + rpi, rpi2 (armv7), usbarmory Options -b Set an alternative base-system package (defaults to base-system) @@ -138,6 +138,7 @@ case "$PLATFORM" in odroid-u2) _ARCH="armv7l"; QEMU_BIN=qemu-arm-static;; rpi) _ARCH="armv6l"; QEMU_BIN=qemu-arm-static;; rpi2) SUBPLATFORM="rpi"; _ARCH="armv7l"; QEMU_BIN=qemu-arm-static;; + usbarmory) _ARCH="armv7l"; QEMU_BIN=qemu-arm-static;; x86_64) _ARCH="x86_64"; QEMU_BIN=qemu-x86_64-static;; x86_64-musl) _ARCH="x86_64-musl"; QEMU_BIN=qemu-x86_64-static;; *) die "$PROGNAME: invalid platform!";; -- cgit 1.4.1 From 749ed6c3c4fbd12ec3c33ca2f664562bf923acb9 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Wed, 29 Apr 2015 16:50:18 +0200 Subject: mklive: add a new entry to load image into RAM (grub, syslinux). --- grub/grub_void.cfg.in | 9 +++++++++ isolinux/isolinux.cfg.in | 4 ++++ 2 files changed, 13 insertions(+) diff --git a/grub/grub_void.cfg.in b/grub/grub_void.cfg.in index 4748284..a2cda85 100644 --- a/grub/grub_void.cfg.in +++ b/grub/grub_void.cfg.in @@ -34,4 +34,13 @@ if [ cpuid -l ]; then locale.LANG=@@LOCALE@@ @@BOOT_CMDLINE@@ initrd (${voidlive})/boot/initrd } + menuentry "@@BOOT_TITLE@@ @@KERNVER@@ (@@ARCH@@) (RAM)" { + set gfxpayload="keep" + linux (${voidlive})/boot/vmlinuz \ + root=live:CDLABEL=VOID_LIVE ro init=/sbin/init \ + rd.luks=0 rd.md=0 rd.dm=0 loglevel=4 gpt add_efi_memmap \ + vconsole.unicode=1 vconsole.keymap=@@KEYMAP@@ \ + locale.LANG=@@LOCALE@@ @@BOOT_CMDLINE@@ rd.live.ram + initrd (${voidlive})/boot/initrd + } fi diff --git a/isolinux/isolinux.cfg.in b/isolinux/isolinux.cfg.in index a026344..69de967 100644 --- a/isolinux/isolinux.cfg.in +++ b/isolinux/isolinux.cfg.in @@ -24,6 +24,10 @@ LABEL linux MENU LABEL @@BOOT_TITLE@@ @@KERNVER@@ @@ARCH@@ KERNEL /boot/vmlinuz APPEND initrd=/boot/initrd root=live:CDLABEL=VOID_LIVE init=/sbin/init ro rd.luks=0 rd.md=0 rd.dm=0 loglevel=4 vconsole.unicode=1 vconsole.keymap=@@KEYMAP@@ locale.LANG=@@LOCALE@@ @@BOOT_CMDLINE@@ +LABEL linuxram +MENU LABEL @@BOOT_TITLE@@ @@KERNVER@@ @@ARCH@@ (RAM) +KERNEL /boot/vmlinuz +APPEND initrd=/boot/initrd root=live:CDLABEL=VOID_LIVE init=/sbin/init ro rd.luks=0 rd.md=0 rd.dm=0 loglevel=4 vconsole.unicode=1 vconsole.keymap=@@KEYMAP@@ locale.LANG=@@LOCALE@@ @@BOOT_CMDLINE@@ rd.live.ram LABEL c MENU LABEL Boot first HD found by BIOS COM32 chain.c32 -- cgit 1.4.1 From 1c6321d1da4ff4c274803221eb0c2c217c0892ef Mon Sep 17 00:00:00 2001 From: Juan RP Date: Wed, 29 Apr 2015 17:17:48 +0200 Subject: dracut/services: do not enable the pulseaudio service. --- dracut/services.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dracut/services.sh b/dracut/services.sh index c5276b6..d761416 100644 --- a/dracut/services.sh +++ b/dracut/services.sh @@ -22,7 +22,7 @@ done for f in $SERVICEDIR/*; do _service=${f##*/} case "${_service}" in - agetty-console|agetty-generic|agetty-serial|agetty-tty[SAU]*|sulogin|dhcpcd-*|iptables|ip6tables|wpa_supplicant) ;; # ignored + agetty-console|agetty-generic|agetty-serial|agetty-tty[SAU]*|sulogin|dhcpcd-*|iptables|ip6tables|wpa_supplicant|pulseaudio) ;; # ignored dhcpcd) [ -n "$dhcpcd" ] && ln -sf ${f##$NEWROOT} $NEWROOT/etc/runit/runsvdir/default/;; *) ln -sf ${f##$NEWROOT} $NEWROOT/etc/runit/runsvdir/default/;; esac -- cgit 1.4.1 From f263a250f6dcd5c123238f7e651ad84397bdcbff Mon Sep 17 00:00:00 2001 From: Juan RP Date: Thu, 30 Apr 2015 10:44:33 +0200 Subject: build-x86-images: add firefox/pa to all DE flavours; add support to build X img. --- build-x86-images.sh.in | 43 +++++++++++++++++++++++++++---------------- 1 file changed, 27 insertions(+), 16 deletions(-) diff --git a/build-x86-images.sh.in b/build-x86-images.sh.in index f18f628..66d6656 100644 --- a/build-x86-images.sh.in +++ b/build-x86-images.sh.in @@ -1,5 +1,7 @@ #!/bin/sh +readonly TARGET="$1" + readonly ARCH=$(uname -m) readonly DATE=$(date +%Y%m%d) readonly BASE_IMG=void-live-${ARCH}-${DATE}.iso @@ -14,27 +16,36 @@ case "$ARCH" in esac readonly BASE_PKGS="dialog cryptsetup lvm2 mdadm $GRUB" -readonly X_PKGS="$BASE_PKGS xorg-minimal xorg-input-drivers xorg-video-drivers lxdm setxkbmap xauth font-misc-misc terminus-font cantarell-fonts gnome-themes-standard" -readonly E_PKGS="$X_PKGS enlightenment terminology econnman udisks2 firefox" -readonly XFCE_PKGS="$X_PKGS xfce4 firefox network-manager-applet gvfs-afc gvfs-mtp gvfs-smb udisks2" -readonly MATE_PKGS="$X_PKGS mate mate-extra firefox network-manager-applet gvfs-afc gvfs-mtp gvfs-smb udisks2" -readonly CINNAMON_PKGS="$X_PKGS cinnamon firefox gnome-terminal gvfs-afc gvfs-mtp gvfs-smb udisks2" +readonly X_PKGS="$BASE_PKGS xorg-minimal xorg-input-drivers xorg-video-drivers setxkbmap xauth font-misc-misc terminus-font cantarell-fonts gnome-themes-standard alsa-plugins-pulseaudio" +readonly E_PKGS="$X_PKGS lxdm enlightenment terminology econnman udisks2" +readonly XFCE_PKGS="$X_PKGS lxdm xfce4 network-manager-applet gvfs-afc gvfs-mtp gvfs-smb udisks2" +readonly MATE_PKGS="$X_PKGS lxdm mate mate-extra network-manager-applet gvfs-afc gvfs-mtp gvfs-smb udisks2" +readonly CINNAMON_PKGS="$X_PKGS lxdm cinnamon colord gnome-terminal gvfs-afc gvfs-mtp gvfs-smb udisks2" [ ! -x mklive.sh ] && exit 0 -if [ ! -e $BASE_IMG ]; then - ./mklive.sh -o $BASE_IMG -p "$BASE_PKGS" $@ +if [ -z "$TARGET" -o $TARGET = base ]; then + if [ ! -e $BASE_IMG ]; then + ./mklive.sh -o $BASE_IMG -p "$BASE_PKGS" $@ + fi fi -if [ ! -e $E_IMG ]; then - ./mklive.sh -o $E_IMG -p "$E_PKGS" $@ +if [ -z "$TARGET" -o $TARGET = e ]; then + if [ ! -e $E_IMG ]; then + ./mklive.sh -o $E_IMG -p "$E_PKGS" $@ + fi fi -if [ ! -e $XFCE_IMG ]; then - ./mklive.sh -o $XFCE_IMG -p "$XFCE_PKGS" $@ +if [ -z "$TARGET" -o $TARGET = xfce ]; then + if [ ! -e $XFCE_IMG ]; then + ./mklive.sh -o $XFCE_IMG -p "$XFCE_PKGS" $@ + fi fi -if [ ! -e $MATE_IMG ]; then - ./mklive.sh -o $MATE_IMG -p "$MATE_PKGS" $@ +if [ -z "$TARGET" -o $TARGET = mate ]; then + if [ ! -e $MATE_IMG ]; then + ./mklive.sh -o $MATE_IMG -p "$MATE_PKGS" $@ + fi fi -if [ ! -e $CINNAMON_IMG ]; then - ./mklive.sh -o $CINNAMON_IMG -p "$CINNAMON_PKGS" $@ +if [ -z "$TARGET" -o $TARGET = cinnamon ]; then + if [ ! -e $CINNAMON_IMG ]; then + ./mklive.sh -o $CINNAMON_IMG -p "$CINNAMON_PKGS" $@ + fi fi - -- cgit 1.4.1 From 41e3a6c9540aa61c78e5f17335fa3ffc1d29b6d0 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Thu, 30 Apr 2015 15:17:33 +0200 Subject: build-{arm-images,rootfs}: added support to build just one platform. --- build-arm-images.sh.in | 8 ++++++-- build-rootfs.sh.in | 6 +++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/build-arm-images.sh.in b/build-arm-images.sh.in index 4b01d5c..875d00e 100644 --- a/build-arm-images.sh.in +++ b/build-arm-images.sh.in @@ -1,11 +1,15 @@ #!/bin/sh +TARGET="$1" + set -e PLATFORMS="beaglebone cubieboard2 odroid-u2 rpi rpi2 usbarmory" DATE=$(date '+%Y%m%d') for f in ${PLATFORMS}; do - ./mkimage.sh void-${f}-rootfs-${DATE}.tar.xz - xz -T0 void-${f}-${DATE}.img + if [ -z "$TARGET" -o "$TARGET" = "$f" ]; then + ./mkimage.sh void-${f}-rootfs-${DATE}.tar.xz + xz -T0 void-${f}-${DATE}.img + fi done diff --git a/build-rootfs.sh.in b/build-rootfs.sh.in index 5d5644d..16ae5bf 100644 --- a/build-rootfs.sh.in +++ b/build-rootfs.sh.in @@ -2,8 +2,12 @@ set -e +TARGET="$1" + PLATFORMS="beaglebone cubieboard2 odroid-u2 rpi rpi2 usbarmory" for f in ${PLATFORMS}; do - ./mkrootfs.sh $@ $f + if [ -z "$TARGET" -o "$TARGET" = "$f" ]; then + ./mkrootfs.sh $@ $f + fi done -- cgit 1.4.1 From 1571ef8d4495c61f7061996d78c5f45db590930b Mon Sep 17 00:00:00 2001 From: Juan RP Date: Fri, 1 May 2015 10:10:03 +0200 Subject: installer: accept WPA passphrases up to 50 chars. --- installer.sh.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/installer.sh.in b/installer.sh.in index 13fa55b..8af7b1d 100644 --- a/installer.sh.in +++ b/installer.sh.in @@ -472,7 +472,7 @@ configure_wifi() { DIALOG --form "Wireless configuration for ${dev}\n(encryption type: wep or wpa)" 0 0 0 \ "SSID:" 1 1 "" 1 16 30 0 \ "Encryption:" 2 1 "" 2 16 3 0 \ - "Password:" 3 1 "" 3 16 30 0 || return 1 + "Password:" 3 1 "" 3 16 50 0 || return 1 set -- $(cat $ANSWER) ssid="$1"; enc="$2"; pass="$3"; -- cgit 1.4.1 From 929175a025254315fd0773d1af23943233616db8 Mon Sep 17 00:00:00 2001 From: Christian Neukirchen Date: Sat, 2 May 2015 01:01:17 +0200 Subject: Support for MEMDISK The .iso can now be booted using Grub (memdisk from Syslinux package): linux16 /memdisk initrd16 /path/to/iso As well as from Syslinux: LINUX memdisk INITRD path/to/iso --- dracut/59-mtd.rules | 8 ++++++++ dracut/61-mtd.rules | 20 ++++++++++++++++++++ dracut/module-setup.sh | 7 +++++++ dracut/mtd.sh | 7 +++++++ mklive.sh.in | 2 +- 5 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 dracut/59-mtd.rules create mode 100644 dracut/61-mtd.rules create mode 100755 dracut/mtd.sh diff --git a/dracut/59-mtd.rules b/dracut/59-mtd.rules new file mode 100644 index 0000000..d81a6ad --- /dev/null +++ b/dracut/59-mtd.rules @@ -0,0 +1,8 @@ +SUBSYSTEM!="block", GOTO="ps_end" +ACTION!="add|change", GOTO="ps_end" +# Also don't process disks that are slated to be a multipath device +ENV{DM_MULTIPATH_DEVICE_PATH}=="?*", GOTO="ps_end" + +KERNEL=="mtdblock[0-9]*", IMPORT BLKID + +LABEL="ps_end" diff --git a/dracut/61-mtd.rules b/dracut/61-mtd.rules new file mode 100644 index 0000000..0711d3a --- /dev/null +++ b/dracut/61-mtd.rules @@ -0,0 +1,20 @@ +SUBSYSTEM!="block", GOTO="pss_end" +ACTION!="add|change", GOTO="pss_end" +# Also don't process disks that are slated to be a multipath device +ENV{DM_MULTIPATH_DEVICE_PATH}=="?*", GOTO="pss_end" + +ACTION=="change", KERNEL=="dm-[0-9]*", ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}!="1", GOTO="do_pss" +KERNEL=="mtdblock*", GOTO="do_pss" + +GOTO="pss_end" + +LABEL="do_pss" +# by-path (parent device path) +ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="", DEVPATH!="*/virtual/*", IMPORT PATH_ID +ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="?*", SYMLINK+="disk/by-path/$env{ID_PATH}" +ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="?*", SYMLINK+="disk/by-path/$env{ID_PATH}-part%n" + +# by-label/by-uuid links (filesystem metadata) +ENV{ID_FS_USAGE}=="filesystem|other|crypto", ENV{ID_FS_UUID_ENC}=="?*", SYMLINK+="disk/by-uuid/$env{ID_FS_UUID_ENC}" +ENV{ID_FS_USAGE}=="filesystem|other", ENV{ID_FS_LABEL_ENC}=="?*", SYMLINK+="disk/by-label/$env{ID_FS_LABEL_ENC}" +LABEL="pss_end" diff --git a/dracut/module-setup.sh b/dracut/module-setup.sh index 765f41f..c6d1661 100644 --- a/dracut/module-setup.sh +++ b/dracut/module-setup.sh @@ -14,6 +14,13 @@ install() { inst /usr/bin/chroot inst /usr/bin/chmod inst /usr/bin/sed + + inst /usr/bin/memdiskfind + instmods mtdblock phram + inst_rules "$moddir/59-mtd.rules" "$moddir/61-mtd.rules" + prepare_udev_rules 59-mtd.rules 61-mtd.rules + inst_hook pre-udev 01 "$moddir/mtd.sh" + inst_hook pre-pivot 01 "$moddir/adduser.sh" inst_hook pre-pivot 02 "$moddir/display-manager-autologin.sh" inst_hook pre-pivot 03 "$moddir/copy-initramfs.sh" diff --git a/dracut/mtd.sh b/dracut/mtd.sh new file mode 100755 index 0000000..1d94a4e --- /dev/null +++ b/dracut/mtd.sh @@ -0,0 +1,7 @@ +#!/bin/sh +MEMDISK=$(memdiskfind) +if [ "$MEMDISK" ]; then + modprobe phram phram=memdisk,$MEMDISK + modprobe mtdblock + printf 'KERNEL=="mtdblock0", RUN+="/sbin/initqueue --settled --onetime --unique /sbin/dmsquash-live-root /dev/mtdblock0"\n' >> /etc/udev/rules.d/99-live-squash.rules +fi diff --git a/mklive.sh.in b/mklive.sh.in index 60e9248..9523c0c 100644 --- a/mklive.sh.in +++ b/mklive.sh.in @@ -82,7 +82,7 @@ copy_void_conf() { copy_dracut_files() { mkdir -p $1/usr/lib/dracut/modules.d/01vmklive - cp dracut/*.sh $1/usr/lib/dracut/modules.d/01vmklive/ + cp dracut/* $1/usr/lib/dracut/modules.d/01vmklive/ } install_prereqs() { -- cgit 1.4.1 From 944153192b98c6f2ba66d8e6a4a87602610ce626 Mon Sep 17 00:00:00 2001 From: jbu Date: Fri, 8 May 2015 07:06:26 +0200 Subject: void-mklive: Fixes for systems with md / lvm2 - Add quotes around $TARGET to allow for empty $1 in build-x86-images.sh - In installer.sh there was $part for md where it should have been $p - The list of md and lvm partitions should occur just once, thus move it out of the loop --- build-x86-images.sh.in | 10 +++++----- installer.sh.in | 25 +++++++++++++------------ 2 files changed, 18 insertions(+), 17 deletions(-) diff --git a/build-x86-images.sh.in b/build-x86-images.sh.in index 66d6656..b031a3d 100644 --- a/build-x86-images.sh.in +++ b/build-x86-images.sh.in @@ -24,27 +24,27 @@ readonly CINNAMON_PKGS="$X_PKGS lxdm cinnamon colord gnome-terminal gvfs-afc gvf [ ! -x mklive.sh ] && exit 0 -if [ -z "$TARGET" -o $TARGET = base ]; then +if [ -z "$TARGET" -o "$TARGET" = base ]; then if [ ! -e $BASE_IMG ]; then ./mklive.sh -o $BASE_IMG -p "$BASE_PKGS" $@ fi fi -if [ -z "$TARGET" -o $TARGET = e ]; then +if [ -z "$TARGET" -o "$TARGET" = e ]; then if [ ! -e $E_IMG ]; then ./mklive.sh -o $E_IMG -p "$E_PKGS" $@ fi fi -if [ -z "$TARGET" -o $TARGET = xfce ]; then +if [ -z "$TARGET" -o "$TARGET" = xfce ]; then if [ ! -e $XFCE_IMG ]; then ./mklive.sh -o $XFCE_IMG -p "$XFCE_PKGS" $@ fi fi -if [ -z "$TARGET" -o $TARGET = mate ]; then +if [ -z "$TARGET" -o "$TARGET" = mate ]; then if [ ! -e $MATE_IMG ]; then ./mklive.sh -o $MATE_IMG -p "$MATE_PKGS" $@ fi fi -if [ -z "$TARGET" -o $TARGET = cinnamon ]; then +if [ -z "$TARGET" -o "$TARGET" = cinnamon ]; then if [ ! -e $CINNAMON_IMG ]; then ./mklive.sh -o $CINNAMON_IMG -p "$CINNAMON_PKGS" $@ fi diff --git a/installer.sh.in b/installer.sh.in index 8af7b1d..9b84c9a 100644 --- a/installer.sh.in +++ b/installer.sh.in @@ -163,24 +163,25 @@ show_partitions() { echo "size:${fssize:-unknown};fstype:${fstype:-none}" fi done - # Software raid (md) - for p in $(ls -d /dev/md* 2>/dev/null|grep '[0-9]'); do - if cat /proc/mdstat|grep -qw $(echo $p|sed -e 's|/dev/||g'); then - fstype=$(lsblk -nfr /dev/$part|awk '{print $2}') - fssize=$(lsblk -nr /dev/$p|awk '{print $4}') - echo "$p" - echo "size:${fssize:-unknown};fstype:${fstype:-none}" - fi - done - if [ ! -e /sbin/lvs ]; then - continue + done + # Software raid (md) + for p in $(ls -d /dev/md* 2>/dev/null|grep '[0-9]'); do + if cat /proc/mdstat|grep -qw $(echo $p|sed -e 's|/dev/||g'); then + fstype=$(lsblk -nfr /dev/$p|awk '{print $2}') + [ "$fstype" = "crypto_LUKS" ] && continue + [ "$fstype" = "LVM2_member" ] && continue + fssize=$(lsblk -nr /dev/$p|awk '{print $4}') + echo "$p" + echo "size:${fssize:-unknown};fstype:${fstype:-none}" fi + done + if [ -e /sbin/lvs ]; then # LVM lvs --noheadings|while read lvname vgname perms size; do echo "/dev/mapper/${vgname}-${lvname}" echo "size:${size};fstype:lvm" done - done + fi } menu_filesystems() { -- cgit 1.4.1 From 037523d1d109020158b942c58ac40ae04ba6cbc7 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Fri, 8 May 2015 16:35:57 +0200 Subject: installer: detect /dev/mmcblkX devices. --- installer.sh.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/installer.sh.in b/installer.sh.in index 9b84c9a..aac3bee 100644 --- a/installer.sh.in +++ b/installer.sh.in @@ -134,7 +134,7 @@ show_disks() { fi done # SATA/SCSI and Virtual disks (virtio) - for dev in $(ls /sys/block|grep -E '^([sv]|xv)d'); do + for dev in $(ls /sys/block|grep -E '^([sv]|xv)d|mmcblk'); do echo "/dev/$dev" size=$(cat /sys/block/$dev/size) sectorsize=$(cat /sys/block/$dev/queue/hw_sector_size) -- cgit 1.4.1 From 30d9ebece4de59572c1c8c71950154faf4cb154b Mon Sep 17 00:00:00 2001 From: Juan RP Date: Fri, 8 May 2015 17:25:42 +0200 Subject: Added musl.voidlinux.net RSA pubkey. --- keys/3d:b9:c0:50:41:a7:68:4c:2e:2c:a9:a2:5a:04:b7:3f.plist | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 keys/3d:b9:c0:50:41:a7:68:4c:2e:2c:a9:a2:5a:04:b7:3f.plist diff --git a/keys/3d:b9:c0:50:41:a7:68:4c:2e:2c:a9:a2:5a:04:b7:3f.plist b/keys/3d:b9:c0:50:41:a7:68:4c:2e:2c:a9:a2:5a:04:b7:3f.plist new file mode 100644 index 0000000..41bc2cb --- /dev/null +++ b/keys/3d:b9:c0:50:41:a7:68:4c:2e:2c:a9:a2:5a:04:b7:3f.plist @@ -0,0 +1,12 @@ + + + + + public-key + LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUFvM1Nrc2p5N01PMmc4UWxsZjdCVQp1aXhFUWlqN3FOSVJrU0hrWWw4SGxxd1hOczFnK1FzbzhGV3dSbDNMbUpTVW5wT1BaOG1sdVdSajd4Y2pLbnVJCnhPRjBtQS8vM0lzTnVId2dYV2RLL0JiT29wNzFLZmt4aEE0WjhwK0hRbmhLMThxUkFPbG9xOGJ6WXZhaGI2NmEKemdWVTVFM1JzRDU4V0M2ZTFOUVdSSGpiMG1TM2h6M1NxVWVWZFVMT20zVzZBRTdYdWlVQVJOSEdyY1ljMXkyKwpxNjBKWHMrVk5sRlMwaGdDdnpqS3phMVg5cWtzQndzTmdaRlhBcXN1MGFKRndYSTEvM2R4ZWxBcUZFbnRMWVFSCjA4NHpaTDFmWDVRMWlacGNEaHVhTWZVREVZQjA4UzdKTTBYKytibkxxVnphVTZzc0RXdGtzbFJaNjNaVStISTUKemk5a0pyc25LcU5Pa3BKSnJTUkRyMGFvRjV2RDRwN20vYWdZKzdTRk5aaDZzOUJ5V0x3NDVFdytwalVVUmp5aQp6T01TSFhEM3YzczhFdzZkV29wbTVQTGUvUEgzZWFiMEVnbG9yVDZhYmRwaCtaVG4zaUxMWVVkSGNmQ1FDN01GCkNmVGl1TWt4SkJpaCtoOEhKaUlBdmpDZjVxdjZiaFpEUHpGRzAwbEpYRUZwNHRpbGp6eTFmbitiMkdLY3BDOWQKUUs4TEc3M0RFaXhacHBmU09IU09MMWYxVlBzZTBRdnl6d2RWc0xzR0dqV0FaZkw4WUdVZDl4Y20yeW5tVzFuNgpKTjl6NE9oZ3lRa21mNUFFUXpYSUxQR0d1MlREUVh5c05IRG0vUnRMMHJPN3cxbFVKSTVYOW1kbEZYd0xUWHI3ClYrU25aK3U5VCtFREg1NTV6WDJDZTgwQ0F3RUFBUT09Ci0tLS0tRU5EIFBVQkxJQyBLRVktLS0tLQo= + public-key-size + 4096 + signature-by + Void Linux + + -- cgit 1.4.1 From 0493378c0c2120979987b2ee64c5c5eb34a6fc7f Mon Sep 17 00:00:00 2001 From: Juan RP Date: Fri, 8 May 2015 17:55:36 +0200 Subject: dracut: only install memdisk stuff if /usr/bin/memdiskfind exists. --- dracut/module-setup.sh | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/dracut/module-setup.sh b/dracut/module-setup.sh index c6d1661..df148f5 100644 --- a/dracut/module-setup.sh +++ b/dracut/module-setup.sh @@ -15,11 +15,13 @@ install() { inst /usr/bin/chmod inst /usr/bin/sed - inst /usr/bin/memdiskfind - instmods mtdblock phram - inst_rules "$moddir/59-mtd.rules" "$moddir/61-mtd.rules" - prepare_udev_rules 59-mtd.rules 61-mtd.rules - inst_hook pre-udev 01 "$moddir/mtd.sh" + if [ -e /usr/bin/memdiskfind ]; then + inst /usr/bin/memdiskfind + instmods mtdblock phram + inst_rules "$moddir/59-mtd.rules" "$moddir/61-mtd.rules" + prepare_udev_rules 59-mtd.rules 61-mtd.rules + inst_hook pre-udev 01 "$moddir/mtd.sh" + fi inst_hook pre-pivot 01 "$moddir/adduser.sh" inst_hook pre-pivot 02 "$moddir/display-manager-autologin.sh" -- cgit 1.4.1 From 3f0dfe5832fab4422e69b46fd2234bdb0bdfddfd Mon Sep 17 00:00:00 2001 From: jbu Date: Thu, 14 May 2015 17:51:25 +0200 Subject: installer.sh.in: really fix the md parsing --- installer.sh.in | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/installer.sh.in b/installer.sh.in index aac3bee..70700b5 100644 --- a/installer.sh.in +++ b/installer.sh.in @@ -166,11 +166,12 @@ show_partitions() { done # Software raid (md) for p in $(ls -d /dev/md* 2>/dev/null|grep '[0-9]'); do - if cat /proc/mdstat|grep -qw $(echo $p|sed -e 's|/dev/||g'); then - fstype=$(lsblk -nfr /dev/$p|awk '{print $2}') + part=$(basename $p) + if cat /proc/mdstat|grep -qw $part; then + fstype=$(lsblk -nfr /dev/$part|awk '{print $2}') [ "$fstype" = "crypto_LUKS" ] && continue [ "$fstype" = "LVM2_member" ] && continue - fssize=$(lsblk -nr /dev/$p|awk '{print $4}') + fssize=$(lsblk -nr /dev/$part|awk '{print $4}') echo "$p" echo "size:${fssize:-unknown};fstype:${fstype:-none}" fi -- cgit 1.4.1 From 08b105b511bc994154d020c0464a99eebdf46025 Mon Sep 17 00:00:00 2001 From: jbu Date: Sat, 16 May 2015 19:42:47 +0200 Subject: build-arm-images.sh.in: add cubietruck --- build-arm-images.sh.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-arm-images.sh.in b/build-arm-images.sh.in index 875d00e..08ecf66 100644 --- a/build-arm-images.sh.in +++ b/build-arm-images.sh.in @@ -4,7 +4,7 @@ TARGET="$1" set -e -PLATFORMS="beaglebone cubieboard2 odroid-u2 rpi rpi2 usbarmory" +PLATFORMS="beaglebone cubieboard2 cubietruck odroid-u2 rpi rpi2 usbarmory" DATE=$(date '+%Y%m%d') for f in ${PLATFORMS}; do -- cgit 1.4.1 From ed2337f7c6e4e2923a3177853ea7a2936b34c158 Mon Sep 17 00:00:00 2001 From: jbu Date: Sat, 16 May 2015 19:45:51 +0200 Subject: build-rootfs.sh.in: add cubietruck --- build-rootfs.sh.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-rootfs.sh.in b/build-rootfs.sh.in index 16ae5bf..b4de345 100644 --- a/build-rootfs.sh.in +++ b/build-rootfs.sh.in @@ -4,7 +4,7 @@ set -e TARGET="$1" -PLATFORMS="beaglebone cubieboard2 odroid-u2 rpi rpi2 usbarmory" +PLATFORMS="beaglebone cubieboard2 cubietruck odroid-u2 rpi rpi2 usbarmory" for f in ${PLATFORMS}; do if [ -z "$TARGET" -o "$TARGET" = "$f" ]; then -- cgit 1.4.1 From f3b9e9d2e42f307634402e5ae85bde76a378cd3b Mon Sep 17 00:00:00 2001 From: jbu Date: Sat, 16 May 2015 20:16:32 +0200 Subject: mkimage.sh.in: add cubietruck --- mkimage.sh.in | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/mkimage.sh.in b/mkimage.sh.in index a0359a7..379a378 100644 --- a/mkimage.sh.in +++ b/mkimage.sh.in @@ -113,7 +113,7 @@ fi # double check PLATFORM is supported... case "$PLATFORM" in - bananapi|beaglebone|cubieboard2|odroid-u2|rpi|rpi2|usbarmory);; + bananapi|beaglebone|cubieboard2|cubietruck|odroid-u2|rpi|rpi2|usbarmory);; *) die "The $PLATFORM is not supported, exiting..." esac @@ -175,16 +175,20 @@ fi echo "UUID=$ROOT_UUID / $ROOT_FSTYPE defaults 0 ${fspassno}" >> ${ROOTFSDIR}/etc/fstab echo "UUID=$BOOT_UUID /boot $BOOT_FSTYPE defaults${fstab_args} 0 2" >> ${ROOTFSDIR}/etc/fstab -if [ "$PLATFORM" = "cubieboard2" -o "$PLATFORM" = "bananapi" ]; then +case "$PLATFORM" in +bananapi|cubieboard2|cubietruck) dd if=${ROOTFSDIR}/boot/u-boot-sunxi-with-spl.bin of=${LOOPDEV} bs=1024 seek=8 >/dev/null 2>&1 -elif [ "$PLATFORM" = "odroid-u2" ]; then + ;; +odroid-u2) dd if=${ROOTFSDIR}/boot/E4412_S.bl1.HardKernel.bin of=${LOOPDEV} seek=1 >/dev/null 2>&1 dd if=${ROOTFSDIR}/boot/bl2.signed.bin of=${LOOPDEV} seek=31 >/dev/null 2>&1 dd if=${ROOTFSDIR}/boot/u-boot.bin of=${LOOPDEV} seek=63 >/dev/null 2>&1 dd if=${ROOTFSDIR}/boot/E4412_S.tzsw.signed.bin of=${LOOPDEV} seek=2111 >/dev/null 2>&1 -elif [ "$PLATFORM" = "usbarmory" ]; then + ;; +usbarmory) dd if=${ROOTFSDIR}/boot/u-boot.imx of=${LOOPDEV} bs=512 seek=2 conv=fsync -fi + ;; +esac mountpoint -q ${ROOTFSDIR}/boot && umount ${ROOTFSDIR}/boot umount $ROOTFSDIR -- cgit 1.4.1 From b231ef76f510586d7196856f78a2c53fc76564e7 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Wed, 20 May 2015 10:49:20 +0200 Subject: installer: update for xbps>=0.43 (close #29). --- installer.sh.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/installer.sh.in b/installer.sh.in index aac3bee..b097ca6 100644 --- a/installer.sh.in +++ b/installer.sh.in @@ -789,8 +789,8 @@ install_packages() { _syspkg="base-system" - mkdir -p $TARGETDIR/var/db/xbps/keys $TARGETDIR/usr/share/xbps - cp -a /usr/share/xbps/repo.d $TARGETDIR/usr/share/xbps/ + mkdir -p $TARGETDIR/var/db/xbps/keys $TARGETDIR/usr/share + cp -a /usr/share/xbps.d $TARGETDIR/usr/share/ cp /var/db/xbps/keys/*.plist $TARGETDIR/var/db/xbps/keys mkdir -p $TARGETDIR/boot/grub stdbuf -oL xbps-install -r $TARGETDIR -Sy ${_syspkg} ${_grub} 2>&1 | \ -- cgit 1.4.1 From fc31e013a33b010654c6fbab8fdc3e39674f8cf7 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Wed, 20 May 2015 19:18:05 +0200 Subject: mkrootfs: fix -r order. --- mkrootfs.sh.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mkrootfs.sh.in b/mkrootfs.sh.in index c112790..afcd749 100644 --- a/mkrootfs.sh.in +++ b/mkrootfs.sh.in @@ -101,7 +101,6 @@ register_binfmt() { esac } -: ${XBPS_REPOSITORY:=--repository=http://repo.voidlinux.eu/current} : ${XBPS_CACHEDIR:=--cachedir=/var/cache/xbps} : ${PKGBASE:=base-system} # @@ -114,7 +113,7 @@ while getopts "b:C:c:hp:r:V" opt; do c) XBPS_CACHEDIR="--cachedir=$OPTARG";; h) usage; exit 0;; p) EXTRA_PKGS="$OPTARG";; - r) XBPS_REPOSITORY="--repository=$OPTARG $XBPS_REPOSITORY";; + r) XBPS_REPOSITORY="$XBPS_REPOSITORY --repository=$OPTARG";; V) echo "$PROGNAME @@MKLIVE_VERSION@@"; exit 0;; esac done @@ -122,6 +121,7 @@ shift $(($OPTIND - 1)) PLATFORM="$1" SUBPLATFORM=$PLATFORM +: ${XBPS_REPOSITORY:=--repository=http://repo.voidlinux.eu/current} if [ -z "$PLATFORM" ]; then echo "$PROGNAME: platform was not set!" -- cgit 1.4.1 From 1bd3d55b052c8d8b3f02bc132fbfd3cd78a561e5 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Thu, 21 May 2015 12:12:17 +0200 Subject: mkimage: on bpi, cubie{board2,truck} we don't need a FAT partition. --- mkimage.sh.in | 47 +++++++++++++++++++++++++++++------------------ 1 file changed, 29 insertions(+), 18 deletions(-) diff --git a/mkimage.sh.in b/mkimage.sh.in index 379a378..97d2d7e 100644 --- a/mkimage.sh.in +++ b/mkimage.sh.in @@ -133,27 +133,39 @@ esac info_msg "Creating disk image ($IMGSIZE) ..." dd if=/dev/zero of=$FILENAME bs=$IMGSIZE count=1 ${DD_SPARSE} >/dev/null 2>&1 +ROOTFSDIR=$(mktemp -d) + info_msg "Creating disk image partitions/filesystems ..." parted $FILENAME mktable msdos if [ "$BOOT_FSTYPE" = "vfat" ]; then _btype="fat32" _args="-I -F16" fi -parted $FILENAME mkpart primary ${_btype} 4096s ${BOOT_FSSIZE} -parted $FILENAME mkpart primary ext2 ${BOOT_FSSIZE} 100% -parted $FILENAME toggle 1 boot -LOOPDEV=$(losetup --show --find --partscan $FILENAME) -mkfs.${BOOT_FSTYPE} $_args ${LOOPDEV}p1 >/dev/null - -case "$ROOT_FSTYPE" in - ext[34]) disable_journal="-O ^has_journal";; +case "$PLATFORM" in +bananapi|cubieboard2|cubietruck) + parted $FILENAME mkpart primary ext2 2048s ${ROOT_FSSIZE} 100% + LOOPDEV=$(losetup --show --find --partscan $FILENAME) + mkfs.${ROOT_FSTYPE} $disable_journal ${LOOPDEV}p1 >/dev/null 2>&1 + mount ${LOOPDEV}p1 $ROOTFSDIR + ROOT_UUID=$(blkid -o value -s UUID ${LOOPDEV}p1) + ;; +*) + parted $FILENAME mkpart primary ${_btype} 2048s ${BOOT_FSSIZE} + parted $FILENAME mkpart primary ext2 ${ROOT_FSSIZE} 100% + parted $FILENAME toggle 1 boot + LOOPDEV=$(losetup --show --find --partscan $FILENAME) + mkfs.${BOOT_FSTYPE} $_args ${LOOPDEV}p1 >/dev/null + case "$ROOT_FSTYPE" in + ext[34]) disable_journal="-O ^has_journal";; + esac + mkfs.${ROOT_FSTYPE} $disable_journal ${LOOPDEV}p2 >/dev/null 2>&1 + mount ${LOOPDEV}p2 $ROOTFSDIR + mkdir -p ${ROOTFSDIR}/boot + mount ${LOOPDEV}p1 ${ROOTFSDIR}/boot + BOOT_UUID=$(blkid -o value -s UUID ${LOOPDEV}p1) + ROOT_UUID=$(blkid -o value -s UUID ${LOOPDEV}p2) + ;; esac -mkfs.${ROOT_FSTYPE} $disable_journal ${LOOPDEV}p2 >/dev/null 2>&1 - -ROOTFSDIR=$(mktemp -d) -mount ${LOOPDEV}p2 $ROOTFSDIR -mkdir -p ${ROOTFSDIR}/boot -mount ${LOOPDEV}p1 ${ROOTFSDIR}/boot info_msg "Unpacking rootfs tarball ..." if [ "$PLATFORM" = "beaglebone" ]; then @@ -165,15 +177,14 @@ if [ "$PLATFORM" = "beaglebone" ]; then fi tar xfp $ROOTFS_TARBALL -C $ROOTFSDIR -BOOT_UUID=$(blkid -o value -s UUID ${LOOPDEV}p1) -ROOT_UUID=$(blkid -o value -s UUID ${LOOPDEV}p2) - fspassno="1" if [ "$ROOT_FSTYPE" = "f2fs" ]; then fspassno="0" fi echo "UUID=$ROOT_UUID / $ROOT_FSTYPE defaults 0 ${fspassno}" >> ${ROOTFSDIR}/etc/fstab -echo "UUID=$BOOT_UUID /boot $BOOT_FSTYPE defaults${fstab_args} 0 2" >> ${ROOTFSDIR}/etc/fstab +if [ -n "$BOOT_UUID" ]; then + echo "UUID=$BOOT_UUID /boot $BOOT_FSTYPE defaults${fstab_args} 0 2" >> ${ROOTFSDIR}/etc/fstab +fi case "$PLATFORM" in bananapi|cubieboard2|cubietruck) -- cgit 1.4.1 From d95e13b4aa4b1806ebd122892fc2229c88fc299f Mon Sep 17 00:00:00 2001 From: Juan RP Date: Thu, 21 May 2015 12:16:25 +0200 Subject: mkimage: bananapi-uboot still assumes fat partition. --- mkimage.sh.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mkimage.sh.in b/mkimage.sh.in index 97d2d7e..5650977 100644 --- a/mkimage.sh.in +++ b/mkimage.sh.in @@ -142,7 +142,7 @@ if [ "$BOOT_FSTYPE" = "vfat" ]; then _args="-I -F16" fi case "$PLATFORM" in -bananapi|cubieboard2|cubietruck) +cubieboard2|cubietruck) parted $FILENAME mkpart primary ext2 2048s ${ROOT_FSSIZE} 100% LOOPDEV=$(losetup --show --find --partscan $FILENAME) mkfs.${ROOT_FSTYPE} $disable_journal ${LOOPDEV}p1 >/dev/null 2>&1 -- cgit 1.4.1 From d6e7c1653def8cb4a0627e3ef0ea65f737b2d367 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Fri, 22 May 2015 07:29:15 +0200 Subject: installer: remove void-installer in local installation. --- installer.sh.in | 1 + 1 file changed, 1 insertion(+) diff --git a/installer.sh.in b/installer.sh.in index cda386d..292cf01 100644 --- a/installer.sh.in +++ b/installer.sh.in @@ -847,6 +847,7 @@ ${BOLD}Do you want to continue?${RESET}" 20 80 || return . /etc/default/live.conf rm -f $TARGETDIR/etc/motd rm -f $TARGETDIR/etc/issue + rm -f $TARGETDIR/usr/sbin/void-installer # Remove live user. echo "Removing $USERNAME live user from targetdir ..." >$LOG chroot $TARGETDIR userdel -r $USERNAME >$LOG 2>&1 -- cgit 1.4.1 From 3ab4ba77d078198e96ac9511af857a60c7314e6b Mon Sep 17 00:00:00 2001 From: Juan RP Date: Fri, 22 May 2015 07:35:31 +0200 Subject: installer: remove partx(8) use; cfdisk should be enough. --- installer.sh.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/installer.sh.in b/installer.sh.in index 292cf01..3942d49 100644 --- a/installer.sh.in +++ b/installer.sh.in @@ -260,7 +260,7 @@ ${BOLD}WARNING: /usr is not supported as a separate partition.${RESET}\n ${RESET}\n" 18 80 if [ $? -eq 0 ]; then while true; do - clear; cfdisk $device; PARTITIONS_DONE=1; partx -a $device; partx -u $device + clear; cfdisk $device; PARTITIONS_DONE=1 break done else -- cgit 1.4.1 From 3845a5b429573ad5261549b6fd7fc437cb864a66 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Fri, 22 May 2015 09:33:32 +0200 Subject: mkrootfs: add cubietruck platform. --- mkrootfs.sh.in | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mkrootfs.sh.in b/mkrootfs.sh.in index afcd749..f595a12 100644 --- a/mkrootfs.sh.in +++ b/mkrootfs.sh.in @@ -46,8 +46,8 @@ usage() { Usage: $PROGNAME [options] Supported platforms: i686, i686-musl, x86_64, x86_64-musl, - bananapi, beaglebone, cubieboard2, odroid-u2, - rpi, rpi2 (armv7), usbarmory + bananapi, beaglebone, cubieboard2, cubietruck, + odroid-u2, rpi, rpi2 (armv7), usbarmory Options -b Set an alternative base-system package (defaults to base-system) @@ -132,7 +132,7 @@ fi case "$PLATFORM" in bananapi) _ARCH="armv7l"; QEMU_BIN=qemu-arm-static;; beaglebone) _ARCH="armv7l"; QEMU_BIN=qemu-arm-static;; - cubieboard2) _ARCH="armv7l"; QEMU_BIN=qemu-arm-static;; + cubieboard2|cubietruck) _ARCH="armv7l"; QEMU_BIN=qemu-arm-static;; i686) _ARCH="i686"; QEMU_BIN=qemu-i386-static;; i686-musl) _ARCH="i686-musl"; QEMU_BIN=qemu-i386-static;; odroid-u2) _ARCH="armv7l"; QEMU_BIN=qemu-arm-static;; -- cgit 1.4.1 From 5962f489e0484a4991a9066bc19680811baa406a Mon Sep 17 00:00:00 2001 From: Juan RP Date: Sun, 24 May 2015 07:36:42 +0200 Subject: dracut/display-manager-autologin.sh: enable kdm autologin. --- dracut/display-manager-autologin.sh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/dracut/display-manager-autologin.sh b/dracut/display-manager-autologin.sh index f294d9b..9357c9d 100644 --- a/dracut/display-manager-autologin.sh +++ b/dracut/display-manager-autologin.sh @@ -21,6 +21,12 @@ if [ -d ${NEWROOT}/etc/gdm ]; then fi fi +# Configure KDM autologin +if [ -e ${NEWROOT}/etc/kdm/kdmrc ]; then + sed -i -e "s|^\#\(AutoLoginEnable=\).*|\1|" ${NEWROOT}/etc/kdm/kdmrc + sed -i -e "s|^\#\(AutoLoginUser=\).*|\1$USERNAME|" ${NEWROOT}/etc/kdm/kdmrc +fi + # Configure lightdm autologin. if [ -r ${NEWROOT}/etc/lightdm.conf ]; then sed -i -e "s|^\#\(default-user=\).*|\1$USERNAME|" \ -- cgit 1.4.1 From bf37f6f5c61374ea3612fdae8681d9612f82cae4 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Sun, 24 May 2015 07:38:46 +0200 Subject: build-x86-images: added kde image, but don't hook it up yet. --- build-x86-images.sh.in | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/build-x86-images.sh.in b/build-x86-images.sh.in index b031a3d..9168feb 100644 --- a/build-x86-images.sh.in +++ b/build-x86-images.sh.in @@ -1,6 +1,7 @@ #!/bin/sh readonly TARGET="$1" +shift readonly ARCH=$(uname -m) readonly DATE=$(date +%Y%m%d) @@ -9,6 +10,7 @@ readonly E_IMG=void-live-${ARCH}-${DATE}-enlightenment.iso readonly XFCE_IMG=void-live-${ARCH}-${DATE}-xfce.iso readonly MATE_IMG=void-live-${ARCH}-${DATE}-mate.iso readonly CINNAMON_IMG=void-live-${ARCH}-${DATE}-cinnamon.iso +readonly KDE_IMG=void-live-${ARCH}-${DATE}-kde.iso case "$ARCH" in i686) GRUB="grub";; @@ -16,11 +18,12 @@ case "$ARCH" in esac readonly BASE_PKGS="dialog cryptsetup lvm2 mdadm $GRUB" -readonly X_PKGS="$BASE_PKGS xorg-minimal xorg-input-drivers xorg-video-drivers setxkbmap xauth font-misc-misc terminus-font cantarell-fonts gnome-themes-standard alsa-plugins-pulseaudio" +readonly X_PKGS="$BASE_PKGS xorg-minimal xorg-input-drivers xorg-video-drivers setxkbmap xauth font-misc-misc terminus-font cantarell-fonts gnome-themes-standard alsa-plugins-pulseaudio firefox" readonly E_PKGS="$X_PKGS lxdm enlightenment terminology econnman udisks2" readonly XFCE_PKGS="$X_PKGS lxdm xfce4 network-manager-applet gvfs-afc gvfs-mtp gvfs-smb udisks2" readonly MATE_PKGS="$X_PKGS lxdm mate mate-extra network-manager-applet gvfs-afc gvfs-mtp gvfs-smb udisks2" readonly CINNAMON_PKGS="$X_PKGS lxdm cinnamon colord gnome-terminal gvfs-afc gvfs-mtp gvfs-smb udisks2" +readonly KDE_PKGS="$X_PKGS kde" [ ! -x mklive.sh ] && exit 0 @@ -49,3 +52,8 @@ if [ -z "$TARGET" -o "$TARGET" = cinnamon ]; then ./mklive.sh -o $CINNAMON_IMG -p "$CINNAMON_PKGS" $@ fi fi +if [ "$TARGET" = kde ]; then + if [ ! -e $KDE_IMG ]; then + ./mklive.sh -o $KDE_IMG -p "$KDE_PKGS" $@ + fi +fi -- cgit 1.4.1 From af2fcf925a0ddd0f43cc6ede164369117cacd928 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Sun, 24 May 2015 08:35:56 +0200 Subject: mklive: force modesetting on musl for now. intel and radeon drivers are currently broken with musl (segmentation fault in OsLookupColor()). --- data/xorg-modesetting.conf | 4 ++++ mklive.sh.in | 5 +++++ 2 files changed, 9 insertions(+) create mode 100644 data/xorg-modesetting.conf diff --git a/data/xorg-modesetting.conf b/data/xorg-modesetting.conf new file mode 100644 index 0000000..1d10c80 --- /dev/null +++ b/data/xorg-modesetting.conf @@ -0,0 +1,4 @@ +Section "Device" + Identifier "modesetting" + Driver "modesetting" +EndSection diff --git a/mklive.sh.in b/mklive.sh.in index 9523c0c..ca39200 100644 --- a/mklive.sh.in +++ b/mklive.sh.in @@ -115,6 +115,11 @@ install_packages() { else install -Dm755 /usr/sbin/void-installer $ROOTFS/usr/sbin/void-installer fi + case "$BASE_ARCH" in + *-musl) # XXX force modesetting with musl for now. + install -Dm644 data/xorg-modesetting.conf $ROOTFS/usr/share/X11/xorg.conf.d/99-modesetting.conf + ;; + esac # Cleanup and remove useless stuff. rm -rf $ROOTFS/var/cache/* $ROOTFS/run/* $ROOTFS/var/run/* } -- cgit 1.4.1 From b1e2685aef3e3b4656faf76fe9ba07f22239fee3 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Mon, 25 May 2015 09:22:27 +0200 Subject: dracut/display-manager-autologin: autologin to i3 if found. --- dracut/display-manager-autologin.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dracut/display-manager-autologin.sh b/dracut/display-manager-autologin.sh index 9357c9d..80bc0d5 100644 --- a/dracut/display-manager-autologin.sh +++ b/dracut/display-manager-autologin.sh @@ -46,5 +46,7 @@ if [ -r ${NEWROOT}/etc/lxdm/lxdm.conf ]; then sed -e "s,.*session.*=.*,session=/usr/bin/mate-session," -i ${NEWROOT}/etc/lxdm/lxdm.conf elif [ -x ${NEWROOT}/usr/bin/cinnamon-session ]; then sed -e "s,.*session.*=.*,session=/usr/bin/cinnamon-session," -i ${NEWROOT}/etc/lxdm/lxdm.conf + elif [ -x ${NEWROOT}/usr/bin/i3 ]; then + sed -e "s,.*session.*=.*,session=/usr/bin/i3," -i ${NEWROOT}/etc/lxdm/lxdm.conf fi fi -- cgit 1.4.1 From 41fbde8a5b1aa4862e108c4233b0a7aa93baf7b1 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Tue, 26 May 2015 11:00:52 +0200 Subject: mk{image,rootfs}: accept musl targets and fix image creation with two partitions. --- mkimage.sh.in | 6 +++--- mkrootfs.sh.in | 9 ++++++--- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/mkimage.sh.in b/mkimage.sh.in index 5650977..aa3ad1a 100644 --- a/mkimage.sh.in +++ b/mkimage.sh.in @@ -113,7 +113,7 @@ fi # double check PLATFORM is supported... case "$PLATFORM" in - bananapi|beaglebone|cubieboard2|cubietruck|odroid-u2|rpi|rpi2|usbarmory);; + bananapi|beaglebone|cubieboard2|cubietruck|odroid-u2|rpi|rpi2|usbarmory|*-musl);; *) die "The $PLATFORM is not supported, exiting..." esac @@ -143,7 +143,7 @@ if [ "$BOOT_FSTYPE" = "vfat" ]; then fi case "$PLATFORM" in cubieboard2|cubietruck) - parted $FILENAME mkpart primary ext2 2048s ${ROOT_FSSIZE} 100% + parted $FILENAME mkpart primary ext2 2048s ${BOOT_FSSIZE} 100% LOOPDEV=$(losetup --show --find --partscan $FILENAME) mkfs.${ROOT_FSTYPE} $disable_journal ${LOOPDEV}p1 >/dev/null 2>&1 mount ${LOOPDEV}p1 $ROOTFSDIR @@ -151,7 +151,7 @@ cubieboard2|cubietruck) ;; *) parted $FILENAME mkpart primary ${_btype} 2048s ${BOOT_FSSIZE} - parted $FILENAME mkpart primary ext2 ${ROOT_FSSIZE} 100% + parted $FILENAME mkpart primary ext2 ${BOOT_FSSIZE} 100% parted $FILENAME toggle 1 boot LOOPDEV=$(losetup --show --find --partscan $FILENAME) mkfs.${BOOT_FSTYPE} $_args ${LOOPDEV}p1 >/dev/null diff --git a/mkrootfs.sh.in b/mkrootfs.sh.in index f595a12..0487ba5 100644 --- a/mkrootfs.sh.in +++ b/mkrootfs.sh.in @@ -91,7 +91,7 @@ register_binfmt() { fi mountpoint -q /proc/sys/fs/binfmt_misc || modprobe -q binfmt_misc; mount -t binfmt_misc binfmt_misc /proc/sys/fs/binfmt_misc case "${_ARCH}" in - armv?l) + armv?l*) echo ':arm:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-arm-static:' > /proc/sys/fs/binfmt_misc/register cp -f $(which qemu-arm-static) $rootfs/usr/bin || die "failed to copy qemu-arm-static to the rootfs" ;; @@ -137,6 +137,7 @@ case "$PLATFORM" in i686-musl) _ARCH="i686-musl"; QEMU_BIN=qemu-i386-static;; odroid-u2) _ARCH="armv7l"; QEMU_BIN=qemu-arm-static;; rpi) _ARCH="armv6l"; QEMU_BIN=qemu-arm-static;; + rpi-musl) _ARCH="armv6l-musl"; SUBPLATFORM="rpi"; QEMU_BIN=qemu-arm-static;; rpi2) SUBPLATFORM="rpi"; _ARCH="armv7l"; QEMU_BIN=qemu-arm-static;; usbarmory) _ARCH="armv7l"; QEMU_BIN=qemu-arm-static;; x86_64) _ARCH="x86_64"; QEMU_BIN=qemu-x86_64-static;; @@ -189,8 +190,10 @@ mount_pseudofs run_cmd_target "xbps-install -S $XBPS_CONFFILE $XBPS_CACHEDIR $XBPS_REPOSITORY -r $rootfs -y ${PKGS}" # Enable en_US.UTF-8 locale and generate it into the target rootfs. -LOCALE=en_US.UTF-8 -sed -e "s/\#\(${LOCALE}.*\)/\1/g" -i $rootfs/etc/default/libc-locales +if [ -e $rootfs/etc/default/libc-locales ]; then + LOCALE=en_US.UTF-8 + sed -e "s/\#\(${LOCALE}.*\)/\1/g" -i $rootfs/etc/default/libc-locales +fi # # Reconfigure packages for target architecture: must be reconfigured -- cgit 1.4.1 From b77a40785e6956f1a295a72319978d4f6748fca8 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Tue, 26 May 2015 11:19:39 +0200 Subject: mkrootfs: accept *-musl for any platform. --- mkrootfs.sh.in | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/mkrootfs.sh.in b/mkrootfs.sh.in index 0487ba5..3861be1 100644 --- a/mkrootfs.sh.in +++ b/mkrootfs.sh.in @@ -130,18 +130,15 @@ fi case "$PLATFORM" in - bananapi) _ARCH="armv7l"; QEMU_BIN=qemu-arm-static;; - beaglebone) _ARCH="armv7l"; QEMU_BIN=qemu-arm-static;; - cubieboard2|cubietruck) _ARCH="armv7l"; QEMU_BIN=qemu-arm-static;; - i686) _ARCH="i686"; QEMU_BIN=qemu-i386-static;; - i686-musl) _ARCH="i686-musl"; QEMU_BIN=qemu-i386-static;; - odroid-u2) _ARCH="armv7l"; QEMU_BIN=qemu-arm-static;; - rpi) _ARCH="armv6l"; QEMU_BIN=qemu-arm-static;; - rpi-musl) _ARCH="armv6l-musl"; SUBPLATFORM="rpi"; QEMU_BIN=qemu-arm-static;; - rpi2) SUBPLATFORM="rpi"; _ARCH="armv7l"; QEMU_BIN=qemu-arm-static;; - usbarmory) _ARCH="armv7l"; QEMU_BIN=qemu-arm-static;; - x86_64) _ARCH="x86_64"; QEMU_BIN=qemu-x86_64-static;; - x86_64-musl) _ARCH="x86_64-musl"; QEMU_BIN=qemu-x86_64-static;; + bananapi) _ARCH="armv7l"; SUBPLATFORM=${PLATFORM%-*}; QEMU_BIN=qemu-arm-static;; + beaglebone) _ARCH="armv7l"; SUBPLATFORM=${PLATFORM%-*}; QEMU_BIN=qemu-arm-static;; + cubieboard2|cubietruck) _ARCH="armv7l"; SUBPLATFORM=${PLATFORM%-*}; QEMU_BIN=qemu-arm-static;; + odroid-u2) _ARCH="armv7l"; SUBPLATFORM=${PLATFORM%-*}; QEMU_BIN=qemu-arm-static;; + rpi*) _ARCH="armv6l"; SUBPLATFORM=${PLATFORM%-*}; QEMU_BIN=qemu-arm-static;; + rpi2*) _ARCH="armv7l"; SUBPLATFORM=rpi; QEMU_BIN=qemu-arm-static;; + usbarmory*) _ARCH="armv7l"; SUBPLATFORM=${PLATFORM%-*}; QEMU_BIN=qemu-arm-static;; + i686*) _ARCH="$PLATFORM"; QEMU_BIN=qemu-i386-static;; + x86_64*) _ARCH="$PLATFORM"; QEMU_BIN=qemu-x86_64-static;; *) die "$PROGNAME: invalid platform!";; esac -- cgit 1.4.1 From 91c7d09305a73994605258691748859296b28175 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Tue, 26 May 2015 11:20:30 +0200 Subject: mkrootfs: fix previous. --- mkrootfs.sh.in | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/mkrootfs.sh.in b/mkrootfs.sh.in index 3861be1..66c8cdc 100644 --- a/mkrootfs.sh.in +++ b/mkrootfs.sh.in @@ -130,10 +130,10 @@ fi case "$PLATFORM" in - bananapi) _ARCH="armv7l"; SUBPLATFORM=${PLATFORM%-*}; QEMU_BIN=qemu-arm-static;; - beaglebone) _ARCH="armv7l"; SUBPLATFORM=${PLATFORM%-*}; QEMU_BIN=qemu-arm-static;; - cubieboard2|cubietruck) _ARCH="armv7l"; SUBPLATFORM=${PLATFORM%-*}; QEMU_BIN=qemu-arm-static;; - odroid-u2) _ARCH="armv7l"; SUBPLATFORM=${PLATFORM%-*}; QEMU_BIN=qemu-arm-static;; + bananapi*) _ARCH="armv7l"; SUBPLATFORM=${PLATFORM%-*}; QEMU_BIN=qemu-arm-static;; + beaglebone*) _ARCH="armv7l"; SUBPLATFORM=${PLATFORM%-*}; QEMU_BIN=qemu-arm-static;; + cubieboard2*|cubietruck*) _ARCH="armv7l"; SUBPLATFORM=${PLATFORM%-*}; QEMU_BIN=qemu-arm-static;; + odroid-u2*) _ARCH="armv7l"; SUBPLATFORM=${PLATFORM%-*}; QEMU_BIN=qemu-arm-static;; rpi*) _ARCH="armv6l"; SUBPLATFORM=${PLATFORM%-*}; QEMU_BIN=qemu-arm-static;; rpi2*) _ARCH="armv7l"; SUBPLATFORM=rpi; QEMU_BIN=qemu-arm-static;; usbarmory*) _ARCH="armv7l"; SUBPLATFORM=${PLATFORM%-*}; QEMU_BIN=qemu-arm-static;; -- cgit 1.4.1 From a7f094439b8dbf7c89dc5018f22cb721d90fc523 Mon Sep 17 00:00:00 2001 From: jbu Date: Tue, 26 May 2015 13:44:13 +0200 Subject: mkimage.sh: fix partition size + toggle boot flag --- mkimage.sh.in | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mkimage.sh.in b/mkimage.sh.in index aa3ad1a..c317ded 100644 --- a/mkimage.sh.in +++ b/mkimage.sh.in @@ -143,7 +143,8 @@ if [ "$BOOT_FSTYPE" = "vfat" ]; then fi case "$PLATFORM" in cubieboard2|cubietruck) - parted $FILENAME mkpart primary ext2 2048s ${BOOT_FSSIZE} 100% + parted $FILENAME mkpart primary ext2 2048s ${ROOT_FSSIZE} 100% + parted $FILENAME toggle 1 boot LOOPDEV=$(losetup --show --find --partscan $FILENAME) mkfs.${ROOT_FSTYPE} $disable_journal ${LOOPDEV}p1 >/dev/null 2>&1 mount ${LOOPDEV}p1 $ROOTFSDIR -- cgit 1.4.1 From 00dda59b0ba84253af985be91613b4b5c2d17670 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Wed, 27 May 2015 16:49:33 +0200 Subject: mklive: remove modesetting workaround for musl, intel(4) works again. --- build-x86-images.sh.in | 2 +- data/xorg-modesetting.conf | 4 ---- mklive.sh.in | 5 ----- 3 files changed, 1 insertion(+), 10 deletions(-) delete mode 100644 data/xorg-modesetting.conf diff --git a/build-x86-images.sh.in b/build-x86-images.sh.in index 9168feb..8ec55c9 100644 --- a/build-x86-images.sh.in +++ b/build-x86-images.sh.in @@ -18,7 +18,7 @@ case "$ARCH" in esac readonly BASE_PKGS="dialog cryptsetup lvm2 mdadm $GRUB" -readonly X_PKGS="$BASE_PKGS xorg-minimal xorg-input-drivers xorg-video-drivers setxkbmap xauth font-misc-misc terminus-font cantarell-fonts gnome-themes-standard alsa-plugins-pulseaudio firefox" +readonly X_PKGS="$BASE_PKGS xorg-minimal xorg-input-drivers xorg-video-drivers setxkbmap xauth font-misc-misc terminus-font cantarell-fonts gnome-themes-standard alsa-plugins-pulseaudio" readonly E_PKGS="$X_PKGS lxdm enlightenment terminology econnman udisks2" readonly XFCE_PKGS="$X_PKGS lxdm xfce4 network-manager-applet gvfs-afc gvfs-mtp gvfs-smb udisks2" readonly MATE_PKGS="$X_PKGS lxdm mate mate-extra network-manager-applet gvfs-afc gvfs-mtp gvfs-smb udisks2" diff --git a/data/xorg-modesetting.conf b/data/xorg-modesetting.conf deleted file mode 100644 index 1d10c80..0000000 --- a/data/xorg-modesetting.conf +++ /dev/null @@ -1,4 +0,0 @@ -Section "Device" - Identifier "modesetting" - Driver "modesetting" -EndSection diff --git a/mklive.sh.in b/mklive.sh.in index ca39200..9523c0c 100644 --- a/mklive.sh.in +++ b/mklive.sh.in @@ -115,11 +115,6 @@ install_packages() { else install -Dm755 /usr/sbin/void-installer $ROOTFS/usr/sbin/void-installer fi - case "$BASE_ARCH" in - *-musl) # XXX force modesetting with musl for now. - install -Dm644 data/xorg-modesetting.conf $ROOTFS/usr/share/X11/xorg.conf.d/99-modesetting.conf - ;; - esac # Cleanup and remove useless stuff. rm -rf $ROOTFS/var/cache/* $ROOTFS/run/* $ROOTFS/var/run/* } -- cgit 1.4.1 From 9b4819f33afea788b3ea8c991392db5d3b11b34f Mon Sep 17 00:00:00 2001 From: Juan RP Date: Wed, 27 May 2015 17:24:48 +0200 Subject: installer: make remote install work with musl live images. --- installer.sh.in | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/installer.sh.in b/installer.sh.in index 3942d49..ed2782b 100644 --- a/installer.sh.in +++ b/installer.sh.in @@ -794,12 +794,20 @@ install_packages() { cp -a /usr/share/xbps.d $TARGETDIR/usr/share/ cp /var/db/xbps/keys/*.plist $TARGETDIR/var/db/xbps/keys mkdir -p $TARGETDIR/boot/grub - stdbuf -oL xbps-install -r $TARGETDIR -Sy ${_syspkg} ${_grub} 2>&1 | \ + + _arch=$(xbps-uhelper arch) + + stdbuf -oL env XBPS_ARCH=${_arch} \ + xbps-install -r $TARGETDIR -Sy ${_syspkg} ${_grub} 2>&1 | \ DIALOG --title "Installing base system packages..." \ --programbox 24 80 if [ $? -ne 0 ]; then DIE 1 fi + # If uname -m != _arch perform a reconfiguration. + if [ "$(uname -m)" != "${_arch}" ]; then + XBPS_ARCH=${_arch} xbps-reconfigure -r $TARGETDIR -a + fi } enable_dhcpd() { -- cgit 1.4.1 From 8824220321e97af99643d2ad6a948ee5b5429deb Mon Sep 17 00:00:00 2001 From: Juan RP Date: Fri, 29 May 2015 09:21:11 +0200 Subject: mklive: misc changes to allow building images for musl. - The required host utilities (grub, squashfs-tools and xorriso) are now installed for the host os, this way we don't have to make tricks for dsos to work. - The cachedir is now by default set to $PWD/xbps-cachedir-$arch, this way packages for the host and the target don't conflict. - Due to the changes above it's now possible to build musl images without having musl-bootstrap installed, previously it was necessary. --- mklive.sh.in | 41 +++++++++++++++++++++-------------------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/mklive.sh.in b/mklive.sh.in index 9523c0c..7d3b67c 100644 --- a/mklive.sh.in +++ b/mklive.sh.in @@ -87,17 +87,20 @@ copy_dracut_files() { install_prereqs() { copy_void_conf $VOIDHOSTDIR - $XBPS_INSTALL_CMD -r $VOIDHOSTDIR $XBPS_REPOSITORY $XBPS_CACHEDIR -y ${REQUIRED_PKGS} + $XBPS_INSTALL_CMD -r $VOIDHOSTDIR $XBPS_REPOSITORY \ + $XBPS_HOST_CACHEDIR -y ${REQUIRED_PKGS} [ $? -ne 0 ] && die "Failed to install required software, exiting..." } install_packages() { copy_void_conf $ROOTFS # Check that all pkgs are reachable. - ${XBPS_INSTALL_CMD} -r $ROOTFS $XBPS_REPOSITORY $XBPS_CACHEDIR -yn ${PACKAGE_LIST} ${INITRAMFS_PKGS} + XBPS_ARCH=$BASE_ARCH ${XBPS_INSTALL_CMD} -r $ROOTFS \ + $XBPS_REPOSITORY $XBPS_CACHEDIR -yn ${PACKAGE_LIST} ${INITRAMFS_PKGS} [ $? -ne 0 ] && die "Missing required binary packages, exiting..." - LANG=C ${XBPS_INSTALL_CMD} -r $ROOTFS $XBPS_REPOSITORY $XBPS_CACHEDIR -y ${PACKAGE_LIST} ${INITRAMFS_PKGS} + LANG=C XBPS_ARCH=$BASE_ARCH ${XBPS_INSTALL_CMD} -r $ROOTFS \ + $XBPS_REPOSITORY $XBPS_CACHEDIR -y ${PACKAGE_LIST} ${INITRAMFS_PKGS} [ $? -ne 0 ] && die "Failed to install $PACKAGE_LIST" # Enable choosen UTF-8 locale and generate it into the target rootfs. @@ -128,7 +131,7 @@ generate_initramfs() { else _args="--omit systemd" fi - xbps-uchroot $ROOTFS env -i /usr/bin/dracut -N --${INITRAMFS_COMPRESSION} \ + xbps-uchroot $ROOTFS env -- -i /usr/bin/dracut -N --${INITRAMFS_COMPRESSION} \ --add-drivers "ahci" --force-add "vmklive" ${_args} "/boot/initrd" $KERNELVERSION [ $? -ne 0 ] && die "Failed to generate the initramfs" @@ -192,7 +195,7 @@ generate_grub_efi_boot() { mount -o rw,flush -t vfat "${LOOP_DEVICE}" "${GRUB_EFI_TMPDIR}" >/dev/null 2>&1 cp -a $IMAGEDIR/boot $VOIDHOSTDIR - xbps-uchroot $VOIDHOSTDIR grub-mkstandalone \ + xbps-uchroot $VOIDHOSTDIR grub-mkstandalone -- \ --directory="/usr/lib/grub/x86_64-efi" \ --format="x86_64-efi" \ --compression="xz" --output="/tmp/bootx64.efi" \ @@ -225,7 +228,7 @@ generate_squashfs() { umount -f "$BUILDDIR/tmp-rootfs" mkdir -p "$IMAGEDIR/LiveOS" - mksquashfs "$BUILDDIR/tmp" "$IMAGEDIR/LiveOS/squashfs.img" \ + $VOIDHOSTDIR/usr/bin/mksquashfs "$BUILDDIR/tmp" "$IMAGEDIR/LiveOS/squashfs.img" \ -comp ${SQUASHFS_COMPRESSION} || die "Failed to generate squashfs image" chmod 444 "$IMAGEDIR/LiveOS/squashfs.img" # Remove rootfs and temporary dirs, we don't need them anymore. @@ -233,7 +236,7 @@ generate_squashfs() { } generate_iso_image() { - xorriso -as mkisofs \ + $VOIDHOSTDIR/usr/bin/xorriso -as mkisofs \ -iso-level 3 -rock -joliet \ -max-iso9660-filenames -omit-period \ -omit-version-number -relaxed-filenames -allow-lowercase \ @@ -271,8 +274,12 @@ while getopts "a:b:r:c:C:T:Kk:l:i:s:S:o:p:h" opt; do done shift $((OPTIND - 1)) +ARCH=$(uname -m) + # Set defaults -: ${XBPS_CACHEDIR:=--cachedir=/var/cache/xbps} +: ${BASE_ARCH:=$(uname -m)} +: ${XBPS_CACHEDIR:=-c $(pwd -P)/xbps-cachedir-${BASE_ARCH}} +: ${XBPS_HOST_CACHEDIR:=-c $(pwd -P)/xbps-cachedir-${ARCH}} : ${KEYMAP:=us} : ${LOCALE:=en_US.UTF-8} : ${INITRAMFS_COMPRESSION:=xz} @@ -305,7 +312,7 @@ ISOLINUX_DIR="$BOOT_DIR/isolinux" GRUB_DIR="$BOOT_DIR/grub" ISOLINUX_CFG="$ISOLINUX_DIR/isolinux.cfg" -: ${XBPS_REPOSITORY:=--repository=http://repo.voidlinux.eu/current} +: ${XBPS_REPOSITORY:=--repository=http://repo.voidlinux.eu/current --repository=http://muslrepo.voidlinux.eu/current} : ${SYSLINUX_DATADIR:=$VOIDHOSTDIR/usr/share/syslinux} : ${GRUB_DATADIR:=$VOIDHOSTDIR/usr/share/grub} : ${SPLASH_IMAGE:=data/splash.png} @@ -318,17 +325,14 @@ ISOLINUX_CFG="$ISOLINUX_DIR/isolinux.cfg" mkdir -p $ROOTFS $VOIDHOSTDIR $ISOLINUX_DIR $GRUB_DIR -if [ -n "$BASE_ARCH" ]; then - export XBPS_ARCH="$BASE_ARCH" -fi - info_msg "[1/8] Synchronizing XBPS repository data..." copy_void_keys $ROOTFS -$XBPS_INSTALL_CMD -r $ROOTFS ${XBPS_REPOSITORY} -S -cp -a $ROOTFS/* $VOIDHOSTDIR +copy_void_keys $VOIDHOSTDIR +XBPS_ARCH=$BASE_ARCH $XBPS_INSTALL_CMD -r $ROOTFS ${XBPS_REPOSITORY} -S +$XBPS_INSTALL_CMD -r $VOIDHOSTDIR $XBPS_REPOSITORY -S -_linux_series=$($XBPS_QUERY_CMD -r $ROOTFS ${XBPS_REPOSITORY:=-R} -x linux) -KERNELVERSION=$($XBPS_QUERY_CMD -r $ROOTFS ${XBPS_REPOSITORY:=-R} -p pkgver ${_linux_series}) +_linux_series=$(XBPS_ARCH=$BASE_ARCH $XBPS_QUERY_CMD -r $ROOTFS ${XBPS_REPOSITORY:=-R} -x linux) +KERNELVERSION=$(XBPS_ARCH=$BASE_ARCH $XBPS_QUERY_CMD -r $ROOTFS ${XBPS_REPOSITORY:=-R} -p pkgver ${_linux_series}) KERNELVERSION=$($XBPS_UHELPER_CMD getpkgversion $KERNELVERSION) : ${OUTPUT_FILE="void-live-${BASE_ARCH:=$(uname -m)}-${KERNELVERSION}-$(date +%Y%m%d).iso"} @@ -343,9 +347,6 @@ mkdir -p "$ROOTFS"/etc info_msg "[3/9] Installing void pkgs into the rootfs: ${PACKAGE_LIST} ..." install_packages -export PATH=$VOIDHOSTDIR/usr/bin:$VOIDHOSTDIR/usr/sbin:$ROOTFS/usr/bin:$ROOTFS/usr/sbin:$PATH -export LD_LIBRARY_PATH=$ROOTFS/usr/lib:$VOIDHOSTDIR/usr/lib - info_msg "[4/9] Generating initramfs image ($INITRAMFS_COMPRESSION)..." generate_initramfs -- cgit 1.4.1 From eb787f0ef5131966233109b3e58b1c8851ead3b0 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Fri, 29 May 2015 09:24:39 +0200 Subject: .gitignore: *.sh xbps-cachedir* --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 01d0e3c..4e59a5b 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -/*.sh +*.sh +xbps-cachedir* -- cgit 1.4.1 From 9068070c6fb5a271313fd67fb6809df48d71b1d0 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Fri, 29 May 2015 09:25:41 +0200 Subject: .gitignore: *.{img,xz} --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index 4e59a5b..20af4c3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ *.sh +*.img +*.xz xbps-cachedir* -- cgit 1.4.1 From c4ca2a33fae3a69f9658d535bc0c3807dfa9fd83 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Fri, 29 May 2015 17:00:50 +0200 Subject: dracut/display-manager-autologin: autologin to lxde if found via lxdm. --- dracut/display-manager-autologin.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dracut/display-manager-autologin.sh b/dracut/display-manager-autologin.sh index 80bc0d5..f593b60 100644 --- a/dracut/display-manager-autologin.sh +++ b/dracut/display-manager-autologin.sh @@ -48,5 +48,7 @@ if [ -r ${NEWROOT}/etc/lxdm/lxdm.conf ]; then sed -e "s,.*session.*=.*,session=/usr/bin/cinnamon-session," -i ${NEWROOT}/etc/lxdm/lxdm.conf elif [ -x ${NEWROOT}/usr/bin/i3 ]; then sed -e "s,.*session.*=.*,session=/usr/bin/i3," -i ${NEWROOT}/etc/lxdm/lxdm.conf + elif [ -x ${NEWROOT}/usr/bin/startlxde ]; then + sed -e "s,.*session.*=.*,session=/usr/bin/startlxde," -i ${NEWROOT}/etc/lxdm/lxdm.conf fi fi -- cgit 1.4.1 From ec5a92c2705021c9d228919cc608d1d54e6edcf6 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Fri, 29 May 2015 17:44:31 +0200 Subject: installer: disable locale setting with musl. --- installer.sh.in | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/installer.sh.in b/installer.sh.in index ed2782b..90a69bc 100644 --- a/installer.sh.in +++ b/installer.sh.in @@ -323,13 +323,14 @@ menu_locale() { } set_locale() { - local LOCALE=$(get_option LOCALE) - - sed -i -e "s|LANG=.*|LANG=$LOCALE|g" $TARGETDIR/etc/locale.conf - # Uncomment locale from /etc/default/libc-locales and regenerate it. - sed -e "/${LOCALE}/s/^\#//" -i $TARGETDIR/etc/default/libc-locales - echo "Running xbps-reconfigure -f glibc-locales ..." >$LOG - chroot $TARGETDIR xbps-reconfigure -f glibc-locales >$LOG 2>&1 + if [ -f $TARGETDIR/etc/default/libc-locales ]; then + local LOCALE=$(get_option LOCALE) + sed -i -e "s|LANG=.*|LANG=$LOCALE|g" $TARGETDIR/etc/locale.conf + # Uncomment locale from /etc/default/libc-locales and regenerate it. + sed -e "/${LOCALE}/s/^\#//" -i $TARGETDIR/etc/default/libc-locales + echo "Running xbps-reconfigure -f glibc-locales ..." >$LOG + chroot $TARGETDIR xbps-reconfigure -f glibc-locales >$LOG 2>&1 + fi } menu_timezone() { -- cgit 1.4.1 From 77ff6c34c90480c01b36b2b3c0c5145f398fb0e2 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Wed, 3 Jun 2015 14:28:38 +0200 Subject: mklive: require xbps>=0.45 for two phase installation. - The target pkgs are unpacked with -U, and then reconfiguration happens within the chroot, so that there's no need for host dependencies. - Use chroot where possible to make sure that euid==0, not xbps-uchroot. Close #32 and #33 --- README.md | 2 +- mklive.sh.in | 32 ++++++++++++++++++++++++-------- 2 files changed, 25 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 41a6a5e..7498034 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ This repository contains utilities for Void Linux: #### Dependencies - * xbps>=0.35 + * xbps>=0.45 * parted (for mkimage) * qemu-user-static binaries (for mkrootfs) diff --git a/mklive.sh.in b/mklive.sh.in index 7d3b67c..d7efb09 100644 --- a/mklive.sh.in +++ b/mklive.sh.in @@ -39,7 +39,19 @@ die() { info_msg "ERROR: $@" error_out 1 } +mount_pseudofs() { + for f in sys dev proc; do + mkdir -p $ROOTFS/$f + mount --bind /$f $ROOTFS/$f + done +} +umount_pseudofs() { + umount -f $ROOTFS/sys >/dev/null 2>&1 + umount -f $ROOTFS/dev >/dev/null 2>&1 + umount -f $ROOTFS/proc >/dev/null 2>&1 +} error_out() { + umount_pseudofs [ -d "$BUILDDIR" -a -z "$KEEP_BUILDDIR" ] && rm -rf "$BUILDDIR" exit ${1:=0} } @@ -94,24 +106,25 @@ install_prereqs() { install_packages() { copy_void_conf $ROOTFS - # Check that all pkgs are reachable. + XBPS_ARCH=$BASE_ARCH ${XBPS_INSTALL_CMD} -r $ROOTFS \ $XBPS_REPOSITORY $XBPS_CACHEDIR -yn ${PACKAGE_LIST} ${INITRAMFS_PKGS} [ $? -ne 0 ] && die "Missing required binary packages, exiting..." - LANG=C XBPS_ARCH=$BASE_ARCH ${XBPS_INSTALL_CMD} -r $ROOTFS \ + mount_pseudofs + + LANG=C XBPS_ARCH=$BASE_ARCH ${XBPS_INSTALL_CMD} -U -r $ROOTFS \ $XBPS_REPOSITORY $XBPS_CACHEDIR -y ${PACKAGE_LIST} ${INITRAMFS_PKGS} [ $? -ne 0 ] && die "Failed to install $PACKAGE_LIST" + xbps-reconfigure -r $ROOTFS -f base-files >/dev/null 2>&1 + chroot $ROOTFS env -i xbps-reconfigure -f base-files + # Enable choosen UTF-8 locale and generate it into the target rootfs. if [ -f $ROOTFS/etc/default/libc-locales ]; then sed -e "s/\#\(${LOCALE}.*\)/\1/g" -i $ROOTFS/etc/default/libc-locales - xbps-reconfigure -r $ROOTFS -f glibc-locales || die "Failed to reconfigure glibc-locales" - fi - if xbps-query -r $ROOTFS util-linux >/dev/null 2>&1; then - # reconfigure util-linux just to be safe - xbps-reconfigure -r $ROOTFS -f base-files util-linux fi + chroot $ROOTFS env -i xbps-reconfigure -a if [ -x installer.sh ]; then install -Dm755 installer.sh $ROOTFS/usr/sbin/void-installer @@ -131,7 +144,7 @@ generate_initramfs() { else _args="--omit systemd" fi - xbps-uchroot $ROOTFS env -- -i /usr/bin/dracut -N --${INITRAMFS_COMPRESSION} \ + chroot $ROOTFS env -i /usr/bin/dracut -N --${INITRAMFS_COMPRESSION} \ --add-drivers "ahci" --force-add "vmklive" ${_args} "/boot/initrd" $KERNELVERSION [ $? -ne 0 ] && die "Failed to generate the initramfs" @@ -213,6 +226,8 @@ generate_grub_efi_boot() { } generate_squashfs() { + umount_pseudofs + # Find out required size for the rootfs and create an ext3fs image off it. ROOTFS_SIZE=$(du -sm "$ROOTFS"|awk '{print $1}') if [ -z "$ROOTFS_FREESIZE" ]; then @@ -231,6 +246,7 @@ generate_squashfs() { $VOIDHOSTDIR/usr/bin/mksquashfs "$BUILDDIR/tmp" "$IMAGEDIR/LiveOS/squashfs.img" \ -comp ${SQUASHFS_COMPRESSION} || die "Failed to generate squashfs image" chmod 444 "$IMAGEDIR/LiveOS/squashfs.img" + # Remove rootfs and temporary dirs, we don't need them anymore. rm -rf "$ROOTFS" "$BUILDDIR/tmp-rootfs" "$BUILDDIR/tmp" } -- cgit 1.4.1 From f80057f06c79cb734ebf4b1c58b7a5ea22b17f4a Mon Sep 17 00:00:00 2001 From: Juan RP Date: Wed, 3 Jun 2015 14:30:29 +0200 Subject: build-x86-images: add lxde. --- build-x86-images.sh.in | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/build-x86-images.sh.in b/build-x86-images.sh.in index 8ec55c9..94b0bf0 100644 --- a/build-x86-images.sh.in +++ b/build-x86-images.sh.in @@ -11,6 +11,7 @@ readonly XFCE_IMG=void-live-${ARCH}-${DATE}-xfce.iso readonly MATE_IMG=void-live-${ARCH}-${DATE}-mate.iso readonly CINNAMON_IMG=void-live-${ARCH}-${DATE}-cinnamon.iso readonly KDE_IMG=void-live-${ARCH}-${DATE}-kde.iso +readonly LXDE_IMG=void-live-${ARCH}-${DATE}-lxde.iso case "$ARCH" in i686) GRUB="grub";; @@ -18,12 +19,13 @@ case "$ARCH" in esac readonly BASE_PKGS="dialog cryptsetup lvm2 mdadm $GRUB" -readonly X_PKGS="$BASE_PKGS xorg-minimal xorg-input-drivers xorg-video-drivers setxkbmap xauth font-misc-misc terminus-font cantarell-fonts gnome-themes-standard alsa-plugins-pulseaudio" +readonly X_PKGS="$BASE_PKGS xorg-minimal xorg-input-drivers xorg-video-drivers setxkbmap xauth font-misc-misc terminus-font alsa-plugins-pulseaudio" readonly E_PKGS="$X_PKGS lxdm enlightenment terminology econnman udisks2" readonly XFCE_PKGS="$X_PKGS lxdm xfce4 network-manager-applet gvfs-afc gvfs-mtp gvfs-smb udisks2" readonly MATE_PKGS="$X_PKGS lxdm mate mate-extra network-manager-applet gvfs-afc gvfs-mtp gvfs-smb udisks2" readonly CINNAMON_PKGS="$X_PKGS lxdm cinnamon colord gnome-terminal gvfs-afc gvfs-mtp gvfs-smb udisks2" readonly KDE_PKGS="$X_PKGS kde" +readonly LXDE_PKGS="$X_PKGS lxdm lxde gvfs-afc gvfs-mtp gvfs-smb udisks2" [ ! -x mklive.sh ] && exit 0 @@ -52,6 +54,11 @@ if [ -z "$TARGET" -o "$TARGET" = cinnamon ]; then ./mklive.sh -o $CINNAMON_IMG -p "$CINNAMON_PKGS" $@ fi fi +if [ -z "$TARGET" -o "$TARGET" = lxde ]; then + if [ ! -e $LXDE_IMG ]; then + ./mklive.sh -o $LXDE_IMG -p "$LXDE_PKGS" $@ + fi +fi if [ "$TARGET" = kde ]; then if [ ! -e $KDE_IMG ]; then ./mklive.sh -o $KDE_IMG -p "$KDE_PKGS" $@ -- cgit 1.4.1 From 9f809e5211749c09e05dd4647bd34bbe6676d23d Mon Sep 17 00:00:00 2001 From: Juan RP Date: Wed, 3 Jun 2015 14:36:04 +0200 Subject: installer: repair configuration of pkgs with network installation. Close #28 --- installer.sh.in | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/installer.sh.in b/installer.sh.in index 90a69bc..23c7583 100644 --- a/installer.sh.in +++ b/installer.sh.in @@ -799,16 +799,14 @@ install_packages() { _arch=$(xbps-uhelper arch) stdbuf -oL env XBPS_ARCH=${_arch} \ - xbps-install -r $TARGETDIR -Sy ${_syspkg} ${_grub} 2>&1 | \ + xbps-install -r $TARGETDIR -SyU ${_syspkg} ${_grub} 2>&1 | \ DIALOG --title "Installing base system packages..." \ --programbox 24 80 if [ $? -ne 0 ]; then DIE 1 fi - # If uname -m != _arch perform a reconfiguration. - if [ "$(uname -m)" != "${_arch}" ]; then - XBPS_ARCH=${_arch} xbps-reconfigure -r $TARGETDIR -a - fi + xbps-reconfigure -r $TARGETDIR -f base-files >/dev/null 2>&1 + chroot $TARGETDIR xbps-reconfigure -a } enable_dhcpd() { -- cgit 1.4.1 From 70b6bae1e93b7f66b3aaa3ab0cb0a9872cad9503 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Thu, 4 Jun 2015 08:11:06 +0200 Subject: build-x86-images: don't shift without args; xfce image needs gnome-themes-standard. --- build-x86-images.sh.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build-x86-images.sh.in b/build-x86-images.sh.in index 94b0bf0..c56b54b 100644 --- a/build-x86-images.sh.in +++ b/build-x86-images.sh.in @@ -1,7 +1,7 @@ #!/bin/sh readonly TARGET="$1" -shift +[ -n "$TARGET" ] && shift readonly ARCH=$(uname -m) readonly DATE=$(date +%Y%m%d) @@ -21,7 +21,7 @@ esac readonly BASE_PKGS="dialog cryptsetup lvm2 mdadm $GRUB" readonly X_PKGS="$BASE_PKGS xorg-minimal xorg-input-drivers xorg-video-drivers setxkbmap xauth font-misc-misc terminus-font alsa-plugins-pulseaudio" readonly E_PKGS="$X_PKGS lxdm enlightenment terminology econnman udisks2" -readonly XFCE_PKGS="$X_PKGS lxdm xfce4 network-manager-applet gvfs-afc gvfs-mtp gvfs-smb udisks2" +readonly XFCE_PKGS="$X_PKGS lxdm xfce4 gnome-themes-standard network-manager-applet gvfs-afc gvfs-mtp gvfs-smb udisks2" readonly MATE_PKGS="$X_PKGS lxdm mate mate-extra network-manager-applet gvfs-afc gvfs-mtp gvfs-smb udisks2" readonly CINNAMON_PKGS="$X_PKGS lxdm cinnamon colord gnome-terminal gvfs-afc gvfs-mtp gvfs-smb udisks2" readonly KDE_PKGS="$X_PKGS kde" -- cgit 1.4.1 From 52c027ad0c9c4c35aaeae02a84244884df81c47a Mon Sep 17 00:00:00 2001 From: Juan RP Date: Thu, 4 Jun 2015 09:13:30 +0200 Subject: mklive: use $BASE_ARCH where it's required. --- mklive.sh.in | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mklive.sh.in b/mklive.sh.in index d7efb09..8d3857d 100644 --- a/mklive.sh.in +++ b/mklive.sh.in @@ -177,7 +177,7 @@ generate_isolinux_boot() { sed -i -e "s|@@SPLASHIMAGE@@|$(basename ${SPLASH_IMAGE})|" \ -e "s|@@KERNVER@@|${KERNELVERSION}|" \ -e "s|@@KEYMAP@@|${KEYMAP}|" \ - -e "s|@@ARCH@@|$(uname -m)|" \ + -e "s|@@ARCH@@|$BASE_ARCH|" \ -e "s|@@LOCALE@@|${LOCALE}|" \ -e "s|@@BOOT_TITLE@@|${BOOT_TITLE}|" \ -e "s|@@BOOT_CMDLINE@@|${BOOT_CMDLINE}|" \ @@ -190,7 +190,7 @@ generate_grub_efi_boot() { sed -i -e "s|@@SPLASHIMAGE@@|$(basename ${SPLASH_IMAGE})|" \ -e "s|@@KERNVER@@|${KERNELVERSION}|" \ -e "s|@@KEYMAP@@|${KEYMAP}|" \ - -e "s|@@ARCH@@|$(uname -m)|" \ + -e "s|@@ARCH@@|$BASE_ARCH|" \ -e "s|@@BOOT_TITLE@@|${BOOT_TITLE}|" \ -e "s|@@BOOT_CMDLINE@@|${BOOT_CMDLINE}|" \ -e "s|@@LOCALE@@|${LOCALE}|" $GRUB_DIR/grub_void.cfg @@ -351,7 +351,7 @@ _linux_series=$(XBPS_ARCH=$BASE_ARCH $XBPS_QUERY_CMD -r $ROOTFS ${XBPS_REPOSITOR KERNELVERSION=$(XBPS_ARCH=$BASE_ARCH $XBPS_QUERY_CMD -r $ROOTFS ${XBPS_REPOSITORY:=-R} -p pkgver ${_linux_series}) KERNELVERSION=$($XBPS_UHELPER_CMD getpkgversion $KERNELVERSION) -: ${OUTPUT_FILE="void-live-${BASE_ARCH:=$(uname -m)}-${KERNELVERSION}-$(date +%Y%m%d).iso"} +: ${OUTPUT_FILE="void-live-${BASE_ARCH}-${KERNELVERSION}-$(date +%Y%m%d).iso"} info_msg "[2/9] Installing software to generate the image: ${REQUIRED_PKGS} ..." install_prereqs -- cgit 1.4.1 From 42b599fa979f9d8dda7cbce6b257e161a85ce49d Mon Sep 17 00:00:00 2001 From: Juan RP Date: Sun, 7 Jun 2015 12:31:30 +0200 Subject: mkrootfs: update for xbps-0.45. --- mkrootfs.sh.in | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/mkrootfs.sh.in b/mkrootfs.sh.in index 66c8cdc..6d380bc 100644 --- a/mkrootfs.sh.in +++ b/mkrootfs.sh.in @@ -200,24 +200,17 @@ if [ -n "${_ARCH}" ]; then info_msg "Reconfiguring packages for ${_ARCH} ..." case "$PLATFORM" in i686*|x86_64*) - run_cmd "XBPS_ARCH=$_ARCH xbps-reconfigure -r $rootfs base-directories" + run_cmd "XBPS_ARCH=$_ARCH xbps-reconfigure -r $rootfs base-files" ;; *) register_binfmt - run_cmd "xbps-reconfigure -r $rootfs base-directories" + run_cmd "xbps-reconfigure -r $rootfs base-files" + run_cmd "chroot $rootfs env -i xbps-reconfigure -f base-files" rmdir $rootfs/usr/lib32 rm -f $rootfs/lib32 $rootfs/lib64 $rootfs/usr/lib64 ;; esac - run_cmd "chroot $rootfs xbps-reconfigure shadow" - if [ "$PKGBASE" = "base-system-systemd" ]; then - run_cmd "chroot $rootfs xbps-reconfigure systemd" - fi run_cmd "chroot $rootfs xbps-reconfigure -a" -else - if [ "$PKGBASE" = "base-system-systemd" ]; then - run_cmd "chroot $rootfs xbps-reconfigure systemd" - fi fi # -- cgit 1.4.1 From 4c81ceefdd67ef6e3ddc397bbecd0becb2745a26 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Sun, 7 Jun 2015 12:31:45 +0200 Subject: build-arm-images: build all rootfs/images. --- build-arm-images.sh.in | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/build-arm-images.sh.in b/build-arm-images.sh.in index 08ecf66..e6681ee 100644 --- a/build-arm-images.sh.in +++ b/build-arm-images.sh.in @@ -1,6 +1,7 @@ #!/bin/sh TARGET="$1" +[ -n "$TARGET" ] && shift set -e @@ -8,7 +9,8 @@ PLATFORMS="beaglebone cubieboard2 cubietruck odroid-u2 rpi rpi2 usbarmory" DATE=$(date '+%Y%m%d') for f in ${PLATFORMS}; do - if [ -z "$TARGET" -o "$TARGET" = "$f" ]; then + if [ -z "$TARGET" -o "$TARGET" = "$f" ]; then + ./mkrootfs.sh $@ $f ./mkimage.sh void-${f}-rootfs-${DATE}.tar.xz xz -T0 void-${f}-${DATE}.img fi -- cgit 1.4.1 From b12ccf45978decab1872c768682c8c5f9bfc428a Mon Sep 17 00:00:00 2001 From: Juan RP Date: Sun, 7 Jun 2015 12:31:59 +0200 Subject: build-x86-images: add -a arch and -b image (if unset builds all images). --- build-x86-images.sh.in | 48 +++++++++++++++++++++++++++++------------------- 1 file changed, 29 insertions(+), 19 deletions(-) diff --git a/build-x86-images.sh.in b/build-x86-images.sh.in index c56b54b..304c356 100644 --- a/build-x86-images.sh.in +++ b/build-x86-images.sh.in @@ -1,9 +1,19 @@ #!/bin/sh -readonly TARGET="$1" -[ -n "$TARGET" ] && shift +ARCH= +IMAGE= + +while getopts "a:b:h" opt; do +case $opt in + a) ARCH="$OPTARG";; + b) IMAGE="$OPTARG";; + h) echo "${0#/*}: [-a arch] [-b base|e|xfce|mate|cinnamon|kde|lxde]" >&2; exit 1;; +esac +done +shift $((OPTIND - 1)) + +: ${ARCH:=$(uname -m)} -readonly ARCH=$(uname -m) readonly DATE=$(date +%Y%m%d) readonly BASE_IMG=void-live-${ARCH}-${DATE}.iso readonly E_IMG=void-live-${ARCH}-${DATE}-enlightenment.iso @@ -14,8 +24,8 @@ readonly KDE_IMG=void-live-${ARCH}-${DATE}-kde.iso readonly LXDE_IMG=void-live-${ARCH}-${DATE}-lxde.iso case "$ARCH" in - i686) GRUB="grub";; - x86_64) GRUB="grub-x86_64-efi";; + i686*) GRUB="grub";; + x86_64*) GRUB="grub-x86_64-efi";; esac readonly BASE_PKGS="dialog cryptsetup lvm2 mdadm $GRUB" @@ -29,38 +39,38 @@ readonly LXDE_PKGS="$X_PKGS lxdm lxde gvfs-afc gvfs-mtp gvfs-smb udisks2" [ ! -x mklive.sh ] && exit 0 -if [ -z "$TARGET" -o "$TARGET" = base ]; then +if [ -z "$IMAGE" -o "$IMAGE" = base ]; then if [ ! -e $BASE_IMG ]; then - ./mklive.sh -o $BASE_IMG -p "$BASE_PKGS" $@ + ./mklive.sh -a $ARCH -o $BASE_IMG -p "$BASE_PKGS" $@ fi fi -if [ -z "$TARGET" -o "$TARGET" = e ]; then +if [ -z "$IMAGE" -o "$IMAGE" = e ]; then if [ ! -e $E_IMG ]; then - ./mklive.sh -o $E_IMG -p "$E_PKGS" $@ + ./mklive.sh -a $ARCH -o $E_IMG -p "$E_PKGS" $@ fi fi -if [ -z "$TARGET" -o "$TARGET" = xfce ]; then +if [ -z "$IMAGE" -o "$IMAGE" = xfce ]; then if [ ! -e $XFCE_IMG ]; then - ./mklive.sh -o $XFCE_IMG -p "$XFCE_PKGS" $@ + ./mklive.sh -a $ARCH -o $XFCE_IMG -p "$XFCE_PKGS" $@ fi fi -if [ -z "$TARGET" -o "$TARGET" = mate ]; then +if [ -z "$IMAGE" -o "$IMAGE" = mate ]; then if [ ! -e $MATE_IMG ]; then - ./mklive.sh -o $MATE_IMG -p "$MATE_PKGS" $@ + ./mklive.sh -a $ARCH -o $MATE_IMG -p "$MATE_PKGS" $@ fi fi -if [ -z "$TARGET" -o "$TARGET" = cinnamon ]; then +if [ -z "$IMAGE" -o "$IMAGE" = cinnamon ]; then if [ ! -e $CINNAMON_IMG ]; then - ./mklive.sh -o $CINNAMON_IMG -p "$CINNAMON_PKGS" $@ + ./mklive.sh -a $ARCH -o $CINNAMON_IMG -p "$CINNAMON_PKGS" $@ fi fi -if [ -z "$TARGET" -o "$TARGET" = lxde ]; then +if [ -z "$IMAGE" -o "$IMAGE" = lxde ]; then if [ ! -e $LXDE_IMG ]; then - ./mklive.sh -o $LXDE_IMG -p "$LXDE_PKGS" $@ + ./mklive.sh -a $ARCH -o $LXDE_IMG -p "$LXDE_PKGS" $@ fi fi -if [ "$TARGET" = kde ]; then +if [ -z "$IMAGE" -o "$IMAGE" = kde ]; then if [ ! -e $KDE_IMG ]; then - ./mklive.sh -o $KDE_IMG -p "$KDE_PKGS" $@ + ./mklive.sh -a $ARCH -o $KDE_IMG -p "$KDE_PKGS" $@ fi fi -- cgit 1.4.1 From 429170afbdc6ce3f240fc11a2792290e828631f8 Mon Sep 17 00:00:00 2001 From: Duncaen Date: Sun, 7 Jun 2015 22:36:36 +0200 Subject: mkrootfs: fix rpi2 target --- mkrootfs.sh.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mkrootfs.sh.in b/mkrootfs.sh.in index 6d380bc..48f2fa1 100644 --- a/mkrootfs.sh.in +++ b/mkrootfs.sh.in @@ -134,8 +134,8 @@ case "$PLATFORM" in beaglebone*) _ARCH="armv7l"; SUBPLATFORM=${PLATFORM%-*}; QEMU_BIN=qemu-arm-static;; cubieboard2*|cubietruck*) _ARCH="armv7l"; SUBPLATFORM=${PLATFORM%-*}; QEMU_BIN=qemu-arm-static;; odroid-u2*) _ARCH="armv7l"; SUBPLATFORM=${PLATFORM%-*}; QEMU_BIN=qemu-arm-static;; - rpi*) _ARCH="armv6l"; SUBPLATFORM=${PLATFORM%-*}; QEMU_BIN=qemu-arm-static;; rpi2*) _ARCH="armv7l"; SUBPLATFORM=rpi; QEMU_BIN=qemu-arm-static;; + rpi*) _ARCH="armv6l"; SUBPLATFORM=${PLATFORM%-*}; QEMU_BIN=qemu-arm-static;; usbarmory*) _ARCH="armv7l"; SUBPLATFORM=${PLATFORM%-*}; QEMU_BIN=qemu-arm-static;; i686*) _ARCH="$PLATFORM"; QEMU_BIN=qemu-i386-static;; x86_64*) _ARCH="$PLATFORM"; QEMU_BIN=qemu-x86_64-static;; -- cgit 1.4.1 From 7d41efdb09bef7354e1e6c00a577d48a75dafff2 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Mon, 8 Jun 2015 15:48:23 +0200 Subject: build-x86-images: do not build the kde image; does not work yet. --- build-x86-images.sh.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-x86-images.sh.in b/build-x86-images.sh.in index 304c356..26c2370 100644 --- a/build-x86-images.sh.in +++ b/build-x86-images.sh.in @@ -69,7 +69,7 @@ if [ -z "$IMAGE" -o "$IMAGE" = lxde ]; then ./mklive.sh -a $ARCH -o $LXDE_IMG -p "$LXDE_PKGS" $@ fi fi -if [ -z "$IMAGE" -o "$IMAGE" = kde ]; then +if [ "$IMAGE" = kde ]; then if [ ! -e $KDE_IMG ]; then ./mklive.sh -a $ARCH -o $KDE_IMG -p "$KDE_PKGS" $@ fi -- cgit 1.4.1 From 92618767182423ff0de501e78af2367c393ae6d7 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Thu, 11 Jun 2015 11:36:14 +0200 Subject: mkrootfs: update for musl support. --- mkrootfs.sh.in | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/mkrootfs.sh.in b/mkrootfs.sh.in index 48f2fa1..7c6c831 100644 --- a/mkrootfs.sh.in +++ b/mkrootfs.sh.in @@ -75,7 +75,7 @@ umount_pseudofs() { run_cmd_target() { info_msg "Running $@ for target $_ARCH ..." - eval XBPS_TARGET_ARCH=${_ARCH} "$@" + eval XBPS_TARGET_ARCH=${_TARGET_ARCH:=${_ARCH}} "$@" [ $? -ne 0 ] && die "Failed to run $@" } @@ -121,7 +121,7 @@ shift $(($OPTIND - 1)) PLATFORM="$1" SUBPLATFORM=$PLATFORM -: ${XBPS_REPOSITORY:=--repository=http://repo.voidlinux.eu/current} +: ${XBPS_REPOSITORY:=--repository=http://repo.voidlinux.eu/current --repository=http://muslrepo.voidlinux.eu/current} if [ -z "$PLATFORM" ]; then echo "$PROGNAME: platform was not set!" @@ -129,6 +129,11 @@ if [ -z "$PLATFORM" ]; then fi +case "$PLATFORM" in + i686-musl|x86_64-musl) _TARGET_ARCH="$PLATFORM";; + *-musl) _TARGET_ARCH="armv7l-musl";; +esac + case "$PLATFORM" in bananapi*) _ARCH="armv7l"; SUBPLATFORM=${PLATFORM%-*}; QEMU_BIN=qemu-arm-static;; beaglebone*) _ARCH="armv7l"; SUBPLATFORM=${PLATFORM%-*}; QEMU_BIN=qemu-arm-static;; -- cgit 1.4.1 From 1b010f1a4caf479f2499cb93e68dce0401037675 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Fri, 12 Jun 2015 10:09:48 +0200 Subject: mkrootfs: set cachedir to $PWD/xbps-cachedir-; misc tweaks for musl. --- mkrootfs.sh.in | 41 ++++++++++++++++++++++++----------------- 1 file changed, 24 insertions(+), 17 deletions(-) diff --git a/mkrootfs.sh.in b/mkrootfs.sh.in index 7c6c831..a4f08fc 100644 --- a/mkrootfs.sh.in +++ b/mkrootfs.sh.in @@ -51,7 +51,7 @@ Supported platforms: i686, i686-musl, x86_64, x86_64-musl, Options -b Set an alternative base-system package (defaults to base-system) - -c Set XBPS cache directory (defaults to /var/cache/xbps) + -c Set XBPS cache directory (defaults to \$PWD/xbps-cachedir-) -C Full path to the XBPS configuration file -h Show this help -p Additional packages to install into the rootfs (separated by blanks) @@ -101,8 +101,6 @@ register_binfmt() { esac } -: ${XBPS_CACHEDIR:=--cachedir=/var/cache/xbps} -: ${PKGBASE:=base-system} # # main() # @@ -121,7 +119,21 @@ shift $(($OPTIND - 1)) PLATFORM="$1" SUBPLATFORM=$PLATFORM + +case "$PLATFORM" in + i686-musl) _TARGET_ARCH="$PLATFORM"; _ARCH="i386";; + i686) _TARGET_ARCH="$PLATFORM"; _ARCH="i386";; + x86_64-musl) _TARGET_ARCH="$PLATFORM"; _ARCH="x86_64";; + x86_64) _TARGET_ARCH="$PLATFORM"; _ARCH="x86_64";; + rpi-musl) _TARGET_ARCH="armv6l-musl"; _ARCH="armv6l";; + rpi) _TARGET_ARCH="armv6l-musl"; _ARCH="armv6l";; + *-musl) _TARGET_ARCH="armv7l-musl"; _ARCH="armv7l";; + *) _TARGET_ARCH="armv7l"; _ARCH="armv7l";; +esac + : ${XBPS_REPOSITORY:=--repository=http://repo.voidlinux.eu/current --repository=http://muslrepo.voidlinux.eu/current} +: ${XBPS_CACHEDIR:=--cachedir=$PWD/xbps-cachedir-${_TARGET_ARCH}} +: ${PKGBASE:=base-system} if [ -z "$PLATFORM" ]; then echo "$PROGNAME: platform was not set!" @@ -130,20 +142,15 @@ fi case "$PLATFORM" in - i686-musl|x86_64-musl) _TARGET_ARCH="$PLATFORM";; - *-musl) _TARGET_ARCH="armv7l-musl";; -esac - -case "$PLATFORM" in - bananapi*) _ARCH="armv7l"; SUBPLATFORM=${PLATFORM%-*}; QEMU_BIN=qemu-arm-static;; - beaglebone*) _ARCH="armv7l"; SUBPLATFORM=${PLATFORM%-*}; QEMU_BIN=qemu-arm-static;; - cubieboard2*|cubietruck*) _ARCH="armv7l"; SUBPLATFORM=${PLATFORM%-*}; QEMU_BIN=qemu-arm-static;; - odroid-u2*) _ARCH="armv7l"; SUBPLATFORM=${PLATFORM%-*}; QEMU_BIN=qemu-arm-static;; - rpi2*) _ARCH="armv7l"; SUBPLATFORM=rpi; QEMU_BIN=qemu-arm-static;; - rpi*) _ARCH="armv6l"; SUBPLATFORM=${PLATFORM%-*}; QEMU_BIN=qemu-arm-static;; - usbarmory*) _ARCH="armv7l"; SUBPLATFORM=${PLATFORM%-*}; QEMU_BIN=qemu-arm-static;; - i686*) _ARCH="$PLATFORM"; QEMU_BIN=qemu-i386-static;; - x86_64*) _ARCH="$PLATFORM"; QEMU_BIN=qemu-x86_64-static;; + bananapi*) SUBPLATFORM=${PLATFORM%-*}; QEMU_BIN=qemu-arm-static;; + beaglebone*) SUBPLATFORM=${PLATFORM%-*}; QEMU_BIN=qemu-arm-static;; + cubieboard2*|cubietruck*) SUBPLATFORM=${PLATFORM%-*}; QEMU_BIN=qemu-arm-static;; + odroid-u2*) SUBPLATFORM=${PLATFORM%-*}; QEMU_BIN=qemu-arm-static;; + rpi2*) SUBPLATFORM=rpi; QEMU_BIN=qemu-arm-static;; + rpi*) SUBPLATFORM=${PLATFORM%-*}; QEMU_BIN=qemu-arm-static;; + usbarmory*) SUBPLATFORM=${PLATFORM%-*}; QEMU_BIN=qemu-arm-static;; + i686*) QEMU_BIN=qemu-i386-static;; + x86_64*) QEMU_BIN=qemu-x86_64-static;; *) die "$PROGNAME: invalid platform!";; esac -- cgit 1.4.1 From 539ed0703ac336fd2e6121ee769fecc1455c7c41 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Fri, 12 Jun 2015 10:28:40 +0200 Subject: mkrootfs: get rid of pixz; fix rpi target arch. --- mkrootfs.sh.in | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/mkrootfs.sh.in b/mkrootfs.sh.in index a4f08fc..1be40cf 100644 --- a/mkrootfs.sh.in +++ b/mkrootfs.sh.in @@ -126,7 +126,7 @@ case "$PLATFORM" in x86_64-musl) _TARGET_ARCH="$PLATFORM"; _ARCH="x86_64";; x86_64) _TARGET_ARCH="$PLATFORM"; _ARCH="x86_64";; rpi-musl) _TARGET_ARCH="armv6l-musl"; _ARCH="armv6l";; - rpi) _TARGET_ARCH="armv6l-musl"; _ARCH="armv6l";; + rpi) _TARGET_ARCH="armv6l"; _ARCH="armv6l";; *-musl) _TARGET_ARCH="armv7l-musl"; _ARCH="armv7l";; *) _TARGET_ARCH="armv7l"; _ARCH="armv7l";; esac @@ -169,11 +169,6 @@ done if ! $QEMU_BIN -version >/dev/null 2>&1; then die "$QEMU_BIN binary is missing in your system, exiting." fi -if type pixz >/dev/null 2>&1; then - XZ=pixz -else - XZ="xz -T0" -fi # # Check if package base-system is available. # @@ -246,7 +241,7 @@ if [ -n "${_ARCH}" ]; then fi tarball=void-${PLATFORM}-rootfs-$(date '+%Y%m%d').tar.xz -run_cmd "tar -cp --posix -C $rootfs . | $XZ -9 > $tarball " +run_cmd "tar -cp --posix -C $rootfs . | xz -T0 -9 > $tarball " rm -rf $rootfs -- cgit 1.4.1 From 8dfb5efab837095203eb07f41d586e6e3f487f91 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Fri, 12 Jun 2015 10:29:31 +0200 Subject: build-arm-images: build all ARM images for glibc and musl. --- build-arm-images.sh.in | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/build-arm-images.sh.in b/build-arm-images.sh.in index e6681ee..d452002 100644 --- a/build-arm-images.sh.in +++ b/build-arm-images.sh.in @@ -3,15 +3,19 @@ TARGET="$1" [ -n "$TARGET" ] && shift -set -e - PLATFORMS="beaglebone cubieboard2 cubietruck odroid-u2 rpi rpi2 usbarmory" DATE=$(date '+%Y%m%d') -for f in ${PLATFORMS}; do - if [ -z "$TARGET" -o "$TARGET" = "$f" ]; then - ./mkrootfs.sh $@ $f - ./mkimage.sh void-${f}-rootfs-${DATE}.tar.xz - xz -T0 void-${f}-${DATE}.img +for f in ${PLATFORMS} x ${PLATFORMS} ; do + if [ "$f" = "x" ]; then + musl=1 + continue + fi + target=$f + if [ -n "$musl" ]; then + target=${f}-musl + fi + if [ -z "$ARGET" -o "$TARGET" = "$target" ]; then + ./mkrootfs.sh $@ $target && ./mkimage.sh void-${f}-rootfs-${DATE}.tar.xz && xz -T0 -9 void-${f}-${DATE}.img fi done -- cgit 1.4.1 From 288406151bbb495a20fba846aea48e1d64ad360a Mon Sep 17 00:00:00 2001 From: Juan RP Date: Fri, 12 Jun 2015 10:34:38 +0200 Subject: build-arm-images: disable cubietruck for now; does not boot. --- build-arm-images.sh.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-arm-images.sh.in b/build-arm-images.sh.in index d452002..398d871 100644 --- a/build-arm-images.sh.in +++ b/build-arm-images.sh.in @@ -3,7 +3,7 @@ TARGET="$1" [ -n "$TARGET" ] && shift -PLATFORMS="beaglebone cubieboard2 cubietruck odroid-u2 rpi rpi2 usbarmory" +PLATFORMS="beaglebone cubieboard2 odroid-u2 rpi rpi2 usbarmory" DATE=$(date '+%Y%m%d') for f in ${PLATFORMS} x ${PLATFORMS} ; do -- cgit 1.4.1 From 391e50f0c255aaf83f4f88d136a406969db5fa46 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Fri, 12 Jun 2015 10:59:23 +0200 Subject: mkimage: consistently redirect std{err,out} to /dev/null with dd(1). --- mkimage.sh.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mkimage.sh.in b/mkimage.sh.in index c317ded..13e9301 100644 --- a/mkimage.sh.in +++ b/mkimage.sh.in @@ -198,7 +198,7 @@ odroid-u2) dd if=${ROOTFSDIR}/boot/E4412_S.tzsw.signed.bin of=${LOOPDEV} seek=2111 >/dev/null 2>&1 ;; usbarmory) - dd if=${ROOTFSDIR}/boot/u-boot.imx of=${LOOPDEV} bs=512 seek=2 conv=fsync + dd if=${ROOTFSDIR}/boot/u-boot.imx of=${LOOPDEV} bs=512 seek=2 conv=fsync >/dev/null 2>&1 ;; esac -- cgit 1.4.1 From 99de4e9f93b9f00d795218cc82bc8453c04b644a Mon Sep 17 00:00:00 2001 From: Juan RP Date: Fri, 12 Jun 2015 11:02:30 +0200 Subject: build-arm-images: respect musl targets. --- build-arm-images.sh.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-arm-images.sh.in b/build-arm-images.sh.in index 398d871..4f9adc4 100644 --- a/build-arm-images.sh.in +++ b/build-arm-images.sh.in @@ -16,6 +16,6 @@ for f in ${PLATFORMS} x ${PLATFORMS} ; do target=${f}-musl fi if [ -z "$ARGET" -o "$TARGET" = "$target" ]; then - ./mkrootfs.sh $@ $target && ./mkimage.sh void-${f}-rootfs-${DATE}.tar.xz && xz -T0 -9 void-${f}-${DATE}.img + ./mkrootfs.sh $@ $target && ./mkimage.sh void-${target}-rootfs-${DATE}.tar.xz && xz -T0 -9 void-${target}-${DATE}.img fi done -- cgit 1.4.1 From 6c79637e0f951a7c1897ead59dc9b443de3b38cf Mon Sep 17 00:00:00 2001 From: Juan RP Date: Fri, 12 Jun 2015 15:24:36 +0200 Subject: build-x86-images: add firefox now it's available for musl. --- build-x86-images.sh.in | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/build-x86-images.sh.in b/build-x86-images.sh.in index 26c2370..70b5c38 100644 --- a/build-x86-images.sh.in +++ b/build-x86-images.sh.in @@ -30,12 +30,12 @@ esac readonly BASE_PKGS="dialog cryptsetup lvm2 mdadm $GRUB" readonly X_PKGS="$BASE_PKGS xorg-minimal xorg-input-drivers xorg-video-drivers setxkbmap xauth font-misc-misc terminus-font alsa-plugins-pulseaudio" -readonly E_PKGS="$X_PKGS lxdm enlightenment terminology econnman udisks2" -readonly XFCE_PKGS="$X_PKGS lxdm xfce4 gnome-themes-standard network-manager-applet gvfs-afc gvfs-mtp gvfs-smb udisks2" -readonly MATE_PKGS="$X_PKGS lxdm mate mate-extra network-manager-applet gvfs-afc gvfs-mtp gvfs-smb udisks2" -readonly CINNAMON_PKGS="$X_PKGS lxdm cinnamon colord gnome-terminal gvfs-afc gvfs-mtp gvfs-smb udisks2" +readonly E_PKGS="$X_PKGS lxdm enlightenment terminology econnman udisks2 firefox" +readonly XFCE_PKGS="$X_PKGS lxdm xfce4 gnome-themes-standard network-manager-applet gvfs-afc gvfs-mtp gvfs-smb udisks2 firefox" +readonly MATE_PKGS="$X_PKGS lxdm mate mate-extra network-manager-applet gvfs-afc gvfs-mtp gvfs-smb udisks2 firefox" +readonly CINNAMON_PKGS="$X_PKGS lxdm cinnamon colord gnome-terminal gvfs-afc gvfs-mtp gvfs-smb udisks2 firefox" readonly KDE_PKGS="$X_PKGS kde" -readonly LXDE_PKGS="$X_PKGS lxdm lxde gvfs-afc gvfs-mtp gvfs-smb udisks2" +readonly LXDE_PKGS="$X_PKGS lxdm lxde gvfs-afc gvfs-mtp gvfs-smb udisks2 firefox" [ ! -x mklive.sh ] && exit 0 -- cgit 1.4.1 From 202c0c17e5aca44e51c4db2450e89b06c01a9f64 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Tue, 30 Jun 2015 18:17:22 +0200 Subject: build-x86-images: add gnome-keyring to cinnamon/mate/xfce images. ... otherwise network-manager-applet won't be able to work correctly. Thanks to Pessimist on IRC for the notice. --- build-x86-images.sh.in | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build-x86-images.sh.in b/build-x86-images.sh.in index 70b5c38..f321bb3 100644 --- a/build-x86-images.sh.in +++ b/build-x86-images.sh.in @@ -31,9 +31,9 @@ esac readonly BASE_PKGS="dialog cryptsetup lvm2 mdadm $GRUB" readonly X_PKGS="$BASE_PKGS xorg-minimal xorg-input-drivers xorg-video-drivers setxkbmap xauth font-misc-misc terminus-font alsa-plugins-pulseaudio" readonly E_PKGS="$X_PKGS lxdm enlightenment terminology econnman udisks2 firefox" -readonly XFCE_PKGS="$X_PKGS lxdm xfce4 gnome-themes-standard network-manager-applet gvfs-afc gvfs-mtp gvfs-smb udisks2 firefox" -readonly MATE_PKGS="$X_PKGS lxdm mate mate-extra network-manager-applet gvfs-afc gvfs-mtp gvfs-smb udisks2 firefox" -readonly CINNAMON_PKGS="$X_PKGS lxdm cinnamon colord gnome-terminal gvfs-afc gvfs-mtp gvfs-smb udisks2 firefox" +readonly XFCE_PKGS="$X_PKGS lxdm xfce4 gnome-themes-standard gnome-keyring network-manager-applet gvfs-afc gvfs-mtp gvfs-smb udisks2 firefox" +readonly MATE_PKGS="$X_PKGS lxdm mate mate-extra gnome-keyring network-manager-applet gvfs-afc gvfs-mtp gvfs-smb udisks2 firefox" +readonly CINNAMON_PKGS="$X_PKGS lxdm cinnamon gnome-keyring colord gnome-terminal gvfs-afc gvfs-mtp gvfs-smb udisks2 firefox" readonly KDE_PKGS="$X_PKGS kde" readonly LXDE_PKGS="$X_PKGS lxdm lxde gvfs-afc gvfs-mtp gvfs-smb udisks2 firefox" -- cgit 1.4.1 From e514350f88c48f144fd2a76a3748fb35bd23b914 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Sun, 12 Jul 2015 08:48:08 +0200 Subject: mklive: install GRUB EFI loader as EFI/BOOT/BOOTX64.EFI. There are some EFI firmwares that expect the loader to be in that location and being uppercase, so that there more chances to make this boot on more systems. --- mklive.sh.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mklive.sh.in b/mklive.sh.in index 8d3857d..a13969b 100644 --- a/mklive.sh.in +++ b/mklive.sh.in @@ -218,8 +218,8 @@ generate_grub_efi_boot() { losetup --detach "${LOOP_DEVICE}" die "Failed to generate EFI loader" fi - mkdir -p ${GRUB_EFI_TMPDIR}/EFI/boot - cp -f $VOIDHOSTDIR/tmp/bootx64.efi ${GRUB_EFI_TMPDIR}/EFI/boot/ + mkdir -p ${GRUB_EFI_TMPDIR}/EFI/BOOT + cp -f $VOIDHOSTDIR/tmp/bootx64.efi ${GRUB_EFI_TMPDIR}/EFI/BOOT/BOOTX64.EFI umount "$GRUB_EFI_TMPDIR" losetup --detach "${LOOP_DEVICE}" rm -rf $GRUB_EFI_TMPDIR -- cgit 1.4.1 From 8a42aecd3f32b35d3cb82429845e9d0009b24e84 Mon Sep 17 00:00:00 2001 From: Andrea Brancaleoni Date: Sat, 18 Jul 2015 16:43:51 +0200 Subject: mkrootfs: add dockstar support --- mkrootfs.sh.in | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/mkrootfs.sh.in b/mkrootfs.sh.in index 1be40cf..bedcb0c 100644 --- a/mkrootfs.sh.in +++ b/mkrootfs.sh.in @@ -46,7 +46,7 @@ usage() { Usage: $PROGNAME [options] Supported platforms: i686, i686-musl, x86_64, x86_64-musl, - bananapi, beaglebone, cubieboard2, cubietruck, + dockstar, bananapi, beaglebone, cubieboard2, cubietruck, odroid-u2, rpi, rpi2 (armv7), usbarmory Options @@ -91,7 +91,7 @@ register_binfmt() { fi mountpoint -q /proc/sys/fs/binfmt_misc || modprobe -q binfmt_misc; mount -t binfmt_misc binfmt_misc /proc/sys/fs/binfmt_misc case "${_ARCH}" in - armv?l*) + armv*) echo ':arm:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-arm-static:' > /proc/sys/fs/binfmt_misc/register cp -f $(which qemu-arm-static) $rootfs/usr/bin || die "failed to copy qemu-arm-static to the rootfs" ;; @@ -125,6 +125,7 @@ case "$PLATFORM" in i686) _TARGET_ARCH="$PLATFORM"; _ARCH="i386";; x86_64-musl) _TARGET_ARCH="$PLATFORM"; _ARCH="x86_64";; x86_64) _TARGET_ARCH="$PLATFORM"; _ARCH="x86_64";; + dockstar) _TARGET_ARCH="armv5tel"; _ARCH="armv5tel";; rpi-musl) _TARGET_ARCH="armv6l-musl"; _ARCH="armv6l";; rpi) _TARGET_ARCH="armv6l"; _ARCH="armv6l";; *-musl) _TARGET_ARCH="armv7l-musl"; _ARCH="armv7l";; @@ -145,6 +146,7 @@ case "$PLATFORM" in bananapi*) SUBPLATFORM=${PLATFORM%-*}; QEMU_BIN=qemu-arm-static;; beaglebone*) SUBPLATFORM=${PLATFORM%-*}; QEMU_BIN=qemu-arm-static;; cubieboard2*|cubietruck*) SUBPLATFORM=${PLATFORM%-*}; QEMU_BIN=qemu-arm-static;; + dockstar*) SUBPLATFORM=${PLATFORM%-*}; QEMU_BIN=qemu-arm-static;; odroid-u2*) SUBPLATFORM=${PLATFORM%-*}; QEMU_BIN=qemu-arm-static;; rpi2*) SUBPLATFORM=rpi; QEMU_BIN=qemu-arm-static;; rpi*) SUBPLATFORM=${PLATFORM%-*}; QEMU_BIN=qemu-arm-static;; -- cgit 1.4.1 From eddedc275d699a7e759e14f899d6c8bc77a11556 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Thu, 30 Jul 2015 07:41:47 +0200 Subject: dracut/dm-autologin: autostart lxqt if available. --- dracut/display-manager-autologin.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dracut/display-manager-autologin.sh b/dracut/display-manager-autologin.sh index f593b60..4d41164 100644 --- a/dracut/display-manager-autologin.sh +++ b/dracut/display-manager-autologin.sh @@ -50,5 +50,7 @@ if [ -r ${NEWROOT}/etc/lxdm/lxdm.conf ]; then sed -e "s,.*session.*=.*,session=/usr/bin/i3," -i ${NEWROOT}/etc/lxdm/lxdm.conf elif [ -x ${NEWROOT}/usr/bin/startlxde ]; then sed -e "s,.*session.*=.*,session=/usr/bin/startlxde," -i ${NEWROOT}/etc/lxdm/lxdm.conf + elif [ -x ${NEWROOT}/usr/bin/startlxqt ]; then + sed -e "s,.*session.*=.*,session=/usr/bin/startlxqt," -i ${NEWROOT}/etc/lxdm/lxdm.conf fi fi -- cgit 1.4.1 From 851c861cfd046e354cfd9ce8ce4b92fdfb4dc323 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Thu, 30 Jul 2015 07:42:36 +0200 Subject: build-x86-images: added lxqt image. --- build-x86-images.sh.in | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/build-x86-images.sh.in b/build-x86-images.sh.in index f321bb3..0fbf593 100644 --- a/build-x86-images.sh.in +++ b/build-x86-images.sh.in @@ -22,6 +22,7 @@ readonly MATE_IMG=void-live-${ARCH}-${DATE}-mate.iso readonly CINNAMON_IMG=void-live-${ARCH}-${DATE}-cinnamon.iso readonly KDE_IMG=void-live-${ARCH}-${DATE}-kde.iso readonly LXDE_IMG=void-live-${ARCH}-${DATE}-lxde.iso +readonly LXQT_IMG=void-live-${ARCH}-${DATE}-lxqt.iso case "$ARCH" in i686*) GRUB="grub";; @@ -36,6 +37,7 @@ readonly MATE_PKGS="$X_PKGS lxdm mate mate-extra gnome-keyring network-manager-a readonly CINNAMON_PKGS="$X_PKGS lxdm cinnamon gnome-keyring colord gnome-terminal gvfs-afc gvfs-mtp gvfs-smb udisks2 firefox" readonly KDE_PKGS="$X_PKGS kde" readonly LXDE_PKGS="$X_PKGS lxdm lxde gvfs-afc gvfs-mtp gvfs-smb udisks2 firefox" +readonly LXQT_PKGS="$X_PKGS lxdm lxqt gvfs-afc gvfs-mtp gvfs-smb udisks2 qupzilla" [ ! -x mklive.sh ] && exit 0 @@ -69,6 +71,11 @@ if [ -z "$IMAGE" -o "$IMAGE" = lxde ]; then ./mklive.sh -a $ARCH -o $LXDE_IMG -p "$LXDE_PKGS" $@ fi fi +if [ "$IMAGE" = lxqt ]; then + if [ ! -e $LXQT_IMG ]; then + ./mklive.sh -a $ARCH -o $LXQT_IMG -p "$LXQT_PKGS" $@ + fi +fi if [ "$IMAGE" = kde ]; then if [ ! -e $KDE_IMG ]; then ./mklive.sh -a $ARCH -o $KDE_IMG -p "$KDE_PKGS" $@ -- cgit 1.4.1 From f16ea26f303a7d341072d76bff7339b4077ad4ea Mon Sep 17 00:00:00 2001 From: Juan RP Date: Mon, 7 Sep 2015 19:59:26 +0200 Subject: build-rootfs: build musl rootfs too; PLATFORMS can be overrided now. --- build-rootfs.sh.in | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/build-rootfs.sh.in b/build-rootfs.sh.in index b4de345..526ae96 100644 --- a/build-rootfs.sh.in +++ b/build-rootfs.sh.in @@ -1,13 +1,21 @@ #!/bin/sh -set -e - TARGET="$1" +[ -n "$TARGET" ] && shift -PLATFORMS="beaglebone cubieboard2 cubietruck odroid-u2 rpi rpi2 usbarmory" +: ${PLATFORMS:="beaglebone cubieboard2 odroid-u2 rpi rpi2 usbarmory"} +DATE=$(date '+%Y%m%d') -for f in ${PLATFORMS}; do - if [ -z "$TARGET" -o "$TARGET" = "$f" ]; then - ./mkrootfs.sh $@ $f +for f in ${PLATFORMS} x ${PLATFORMS} ; do + if [ "$f" = "x" ]; then + musl=1 + continue + fi + target=$f + if [ -n "$musl" ]; then + target=${f}-musl + fi + if [ -z "$ARGET" -o "$TARGET" = "$target" ]; then + ./mkrootfs.sh $@ $target fi done -- cgit 1.4.1 From 6a8e09f715ae3b9f9fd467d203c8b4a88df26d3f Mon Sep 17 00:00:00 2001 From: Juan RP Date: Mon, 7 Sep 2015 20:00:35 +0200 Subject: build-arm-images: PLATFORM can be overrided now. --- build-arm-images.sh.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-arm-images.sh.in b/build-arm-images.sh.in index 4f9adc4..0cf4fa1 100644 --- a/build-arm-images.sh.in +++ b/build-arm-images.sh.in @@ -3,7 +3,7 @@ TARGET="$1" [ -n "$TARGET" ] && shift -PLATFORMS="beaglebone cubieboard2 odroid-u2 rpi rpi2 usbarmory" +: ${PLATFORMS:="beaglebone cubieboard2 odroid-u2 rpi rpi2 usbarmory"} DATE=$(date '+%Y%m%d') for f in ${PLATFORMS} x ${PLATFORMS} ; do -- cgit 1.4.1 From 834cf6cf80676a2ad4760b84478319a9fd70f287 Mon Sep 17 00:00:00 2001 From: Steve Prybylski Date: Thu, 1 Oct 2015 19:47:23 -0400 Subject: installer.sh: fix static IP settings in menu_install --- installer.sh.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/installer.sh.in b/installer.sh.in index 23c7583..f86349d 100644 --- a/installer.sh.in +++ b/installer.sh.in @@ -913,7 +913,7 @@ ${BOLD}Do you want to continue?${RESET}" 20 80 || return else enable_dhcpd fi - elif [ -n "$dev" -a -n "$type" = "static" ]; then + elif [ -n "$_dev" -a "$_type" = "static" ]; then # static IP through dhcpcd. mv $TARGETDIR/etc/dhcpcd.conf $TARGETDIR/etc/dhdpcd.conf.orig echo "# Static IP configuration set by the void-installer for $_dev." \ -- cgit 1.4.1 From 7c35931c2417e93d8187d8615c9223a119f2b34f Mon Sep 17 00:00:00 2001 From: zurx Date: Fri, 2 Oct 2015 01:23:26 +0000 Subject: fix set_keymap rc.conf By default /etc/rc.conf seems to have KEYMAP commented out which means any key mapping set during the install will be ignored. This commit makes the installer remove the hash (#) prefix, if present. --- installer.sh.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/installer.sh.in b/installer.sh.in index 23c7583..83f3d8c 100644 --- a/installer.sh.in +++ b/installer.sh.in @@ -299,7 +299,7 @@ set_keymap() { if [ -f /etc/vconsole.conf ]; then sed -i -e "s|KEYMAP=.*|KEYMAP=$KEYMAP|g" $TARGETDIR/etc/vconsole.conf else - sed -i -e "s|KEYMAP=.*|KEYMAP=$KEYMAP|g" $TARGETDIR/etc/rc.conf + sed -i -e "s|#\?KEYMAP=.*|KEYMAP=$KEYMAP|g" $TARGETDIR/etc/rc.conf fi } -- cgit 1.4.1 From 0bdf5c6c361a55e609c2b141d47263278ac33e75 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Fri, 9 Oct 2015 09:04:47 +0200 Subject: mklive: fix guessing linux kernel pkgname. --- mklive.sh.in | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mklive.sh.in b/mklive.sh.in index a13969b..5070c65 100644 --- a/mklive.sh.in +++ b/mklive.sh.in @@ -347,9 +347,9 @@ copy_void_keys $VOIDHOSTDIR XBPS_ARCH=$BASE_ARCH $XBPS_INSTALL_CMD -r $ROOTFS ${XBPS_REPOSITORY} -S $XBPS_INSTALL_CMD -r $VOIDHOSTDIR $XBPS_REPOSITORY -S -_linux_series=$(XBPS_ARCH=$BASE_ARCH $XBPS_QUERY_CMD -r $ROOTFS ${XBPS_REPOSITORY:=-R} -x linux) -KERNELVERSION=$(XBPS_ARCH=$BASE_ARCH $XBPS_QUERY_CMD -r $ROOTFS ${XBPS_REPOSITORY:=-R} -p pkgver ${_linux_series}) -KERNELVERSION=$($XBPS_UHELPER_CMD getpkgversion $KERNELVERSION) +_linux_series=$(XBPS_ARCH=$BASE_ARCH $XBPS_QUERY_CMD -r $ROOTFS ${XBPS_REPOSITORY:=-R} -x linux|head -1) +_kver=$(XBPS_ARCH=$BASE_ARCH $XBPS_QUERY_CMD -r $ROOTFS ${XBPS_REPOSITORY:=-R} -p pkgver ${_linux_series}) +KERNELVERSION=$($XBPS_UHELPER_CMD getpkgversion ${_kver}) : ${OUTPUT_FILE="void-live-${BASE_ARCH}-${KERNELVERSION}-$(date +%Y%m%d).iso"} -- cgit 1.4.1 From cb2510b3791091fb54681cee451eb7ec24e0b266 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Fri, 9 Oct 2015 09:05:24 +0200 Subject: dracut/services: don't autostart dmeventd, lvmetad and mdadm. --- dracut/services.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dracut/services.sh b/dracut/services.sh index d761416..50461ff 100644 --- a/dracut/services.sh +++ b/dracut/services.sh @@ -22,7 +22,7 @@ done for f in $SERVICEDIR/*; do _service=${f##*/} case "${_service}" in - agetty-console|agetty-generic|agetty-serial|agetty-tty[SAU]*|sulogin|dhcpcd-*|iptables|ip6tables|wpa_supplicant|pulseaudio) ;; # ignored + agetty-console|agetty-generic|agetty-serial|agetty-tty[SAU]*|sulogin|dhcpcd-*|iptables|ip6tables|wpa_supplicant|pulseaudio|lvmetad|dmeventd|mdadm) ;; # ignored dhcpcd) [ -n "$dhcpcd" ] && ln -sf ${f##$NEWROOT} $NEWROOT/etc/runit/runsvdir/default/;; *) ln -sf ${f##$NEWROOT} $NEWROOT/etc/runit/runsvdir/default/;; esac -- cgit 1.4.1