diff options
-rw-r--r-- | build-x86-images.sh.in | 9 | ||||
-rw-r--r-- | installer.sh.in | 6 | ||||
-rw-r--r-- | mklive.sh.in | 43 |
3 files changed, 37 insertions, 21 deletions
diff --git a/build-x86-images.sh.in b/build-x86-images.sh.in index 0fbf593..5ea5b04 100644 --- a/build-x86-images.sh.in +++ b/build-x86-images.sh.in @@ -3,11 +3,12 @@ ARCH= IMAGE= -while getopts "a:b:h" opt; do +while getopts "a:b:hr:" 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;; + h) echo "${0#/*}: [-a arch] [-b base|e|xfce|mate|cinnamon|kde|lxde|lxqt] [-r repo]" >&2; exit 1;; + r) REPO="-r $OPTARG $REPO";; esac done shift $((OPTIND - 1)) @@ -43,7 +44,7 @@ readonly LXQT_PKGS="$X_PKGS lxdm lxqt gvfs-afc gvfs-mtp gvfs-smb udisks2 qupzill if [ -z "$IMAGE" -o "$IMAGE" = base ]; then if [ ! -e $BASE_IMG ]; then - ./mklive.sh -a $ARCH -o $BASE_IMG -p "$BASE_PKGS" $@ + ./mklive.sh -a $ARCH -o $BASE_IMG -p "$BASE_PKGS" ${REPO} $@ fi fi if [ -z "$IMAGE" -o "$IMAGE" = e ]; then @@ -71,7 +72,7 @@ if [ -z "$IMAGE" -o "$IMAGE" = lxde ]; then ./mklive.sh -a $ARCH -o $LXDE_IMG -p "$LXDE_PKGS" $@ fi fi -if [ "$IMAGE" = lxqt ]; then +if [ -z "$IMAGE" -o "$IMAGE" = lxqt ]; then if [ ! -e $LXQT_IMG ]; then ./mklive.sh -a $ARCH -o $LXQT_IMG -p "$LXQT_PKGS" $@ fi diff --git a/installer.sh.in b/installer.sh.in index 290d5cd..6705f09 100644 --- a/installer.sh.in +++ b/installer.sh.in @@ -136,7 +136,7 @@ show_disks() { echo "size:${gbytes}GB;sector_size:$sectorsize" done # cciss(4) devices - for dev in $(ls /dev/cciss|grep -E 'c[0-9]d[0-9]$'); do + for dev in $(ls /dev/cciss 2>/dev/null|grep -E 'c[0-9]d[0-9]$'); do echo "/dev/cciss/$dev" size=$(cat /sys/block/cciss\!$dev/size) sectorsize=$(cat /sys/block/cciss\!$dev/queue/hw_sector_size) @@ -179,7 +179,7 @@ show_partitions() { fi done # cciss(4) devices - for part in $(ls /dev/cciss|grep -E 'c[0-9]d[0-9]p[0-9]+'); do + for part in $(ls /dev/cciss 2>/dev/null|grep -E 'c[0-9]d[0-9]p[0-9]+'); do fstype=$(lsblk -nfr /dev/cciss/$part|awk '{print $2}') [ "$fstype" = "crypto_LUKS" ] && continue [ "$fstype" = "LVM2_member" ] && continue @@ -344,7 +344,7 @@ set_locale() { } menu_timezone() { - local _tzones="$(cd /usr/share/zoneinfo; find Africa/ America/ Antarctica/ Arctic/ Asia/ Atlantic/ Australia/ Europe/ Indian/ Pacific/ -type f | sort)" + local _tzones="$(cd /usr/share/zoneinfo; find Africa/ America/ Antarctica/ Arctic/ Asia/ Atlantic/ Australia/ Europe/ Indian/ Pacific/ posix/ -type f | sort)" local _TIMEZONES= for f in ${_tzones}; do diff --git a/mklive.sh.in b/mklive.sh.in index 58784c6..9e6a9c3 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 libgcc 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-i386-efi grub-x86_64-efi squashfs-tools xorriso" readonly INITRAMFS_PKGS="binutils xz device-mapper" readonly PROGNAME=$(basename $0) @@ -215,18 +215,33 @@ 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 -- \ - --directory="/usr/lib/grub/x86_64-efi" \ - --format="x86_64-efi" \ - --compression="xz" --output="/tmp/bootx64.efi" \ - "boot/grub/grub.cfg" - if [ $? -ne 0 ]; then - umount "$GRUB_EFI_TMPDIR" - losetup --detach "${LOOP_DEVICE}" - die "Failed to generate EFI loader" + if [ $BASE_ARCH = "i686" ]; then + xbps-uchroot $VOIDHOSTDIR grub-mkstandalone -- \ + --directory="/usr/lib/grub/i386-efi" \ + --format="i386-efi" \ + --compression="xz" --output="/tmp/bootia32.efi" \ + "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/bootia32.efi ${GRUB_EFI_TMPDIR}/EFI/BOOT/BOOTIA32.EFI + else + 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" + 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/BOOTX64.EFI fi - 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 @@ -272,8 +287,6 @@ generate_iso_image() { -output "$CURDIR/$OUTPUT_FILE" "$IMAGEDIR" || die "Failed to generate ISO image" } -BOOT_FILES= -XBPS_REPOSITORY="--repository=http://repo.voidlinux.eu/current --repository=http://muslrepo.voidlinux.eu/current" # # main() # @@ -299,6 +312,8 @@ while getopts "a:b:B:r:c:C:T:Kk:l:i:s:S:o:p:h" opt; do done shift $((OPTIND - 1)) +XBPS_REPOSITORY="$XBPS_REPOSITORY --repository=http://repo.voidlinux.eu/current --repository=http://muslrepo.voidlinux.eu/current" + ARCH=$(uname -m) # Set defaults |