diff --git a/blends/devuan-live/config b/blends/devuan-live/config index d851fda..fd44b8b 100644 --- a/blends/devuan-live/config +++ b/blends/devuan-live/config @@ -1,29 +1,29 @@ #!/usr/bin/env zsh ## configuration file for devuan-live blend -vars+=(username userpass default_shell mkefi grubversion) +vars+=(username userpass default_shell mkefi grubversion hookscripts) arrs+=(custom_deb_packages) -blend_name="devuan-live" +blend_name="devuan-live_" username="devuan" userpass="devuan" default_shell="/bin/bash" -grubversion="grub-pc" -image_name="${os}_${release}_${version}_${arch}" +# comment to disable: +hookscripts="yes" -case "$4" in - uefi) - notice "UEFI build enabled" - grubversion="grub-efi-${arch}" - image_name="${os}_${release}_${version}_${arch}_uefi" - mkefi="yes" - efi_work="$BLENDPATH/efi-files" - ;; -esac +# uncomment to create uefi-bootable iso +mkefi="yes" +efi_work="$BLENDPATH/efi-files" -extra_packages+=( +#grubversion="grub-pc" +grubversion="grub-efi-amd64" + +section="main contrib non-free" +image_name="${os}_${release}_${version}_${arch}_uefi_desktop" + +base_packages+=( lsof bash-completion texinfo @@ -40,6 +40,7 @@ extra_packages+=( gnupg2 gparted $grubversion + iw laptop-detect mlocate mutt @@ -51,16 +52,40 @@ extra_packages+=( usbutils w3m whois +) + +extra_packages+=( + task-desktop task-english task-xfce-desktop task-print-server - #refractasnapshot-base - refractasnapshot-gui - #refractainstaller-base - refractainstaller-gui + popularity-contest ) + +extra_packages+=( + b43-fwcutter + firmware-atheros + firmware-b43-installer + firmware-b43legacy-installer + firmware-bnx2 + firmware-bnx2x + firmware-brcm80211 + firmware-intelwimax + firmware-iwlwifi + firmware-libertas + firmware-linux-nonfree + firmware-myricom + firmware-netxen + firmware-qlogic + firmware-ralink + firmware-realtek + firmware-ti-connectivity + firmware-zd1211 +) + + purge_packages=( btrfs-tools debian-keyring @@ -80,6 +105,15 @@ purge_packages=( zsh-common ) + +# yad needs to be first +custom_deb_packages+=(yad_0.27.0-1_${arch}.deb) + + custom_deb_packages+=( - yad_0.27.0-1_${arch}.deb + refractainstaller-base_9.2.1_all.deb + refractainstaller-gui_9.2.2_all.deb + refractasnapshot-base_10.0.2_all.deb + refractasnapshot-gui_10.0.2_all.deb + setnet_0.3.2-1_all.deb ) diff --git a/blends/devuan-live/devuan-live.blend b/blends/devuan-live/devuan-live.blend index 8918295..d46d961 100644 --- a/blends/devuan-live/devuan-live.blend +++ b/blends/devuan-live/devuan-live.blend @@ -1,10 +1,9 @@ #!/usr/bin/env zsh # Copyright (c) 2017 Dyne.org Foundation # live-sdk is written and maintained by Ivan J. -# devuan-live blend patches maintained by fsmithred # # This file is part of live-sdk -# +# devuan-live.blend is maintained by fsmithred # # This source code is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -23,29 +22,6 @@ BLENDPATH="${BLENDPATH:-$(dirname $0)}" source $BLENDPATH/config -conf_print_sourceslist() { - fn conf_print_sourceslist "(override)" - req=(mirror release section) - ckreq || return 1 - - cat << EOF -## package repositories -deb ${mirror} ${release} ${section} -deb ${mirror} ${release}-updates ${section} -deb ${mirror} ${release}-security ${section} -#deb ${mirror} ${release}-backports ${section} -deb http://packages.devuan.org/devuan experimental ${section} - -## source repositories -#deb-src ${mirror} ${release} ${section} -#deb-src ${mirror} ${release}-updates ${section} -#deb-src ${mirror} ${release}-security ${section} -#deb-src ${mirror} ${release}-backports ${section} -#deb-src http://packages.devuan.org/devuan experimental ${section} - -EOF -} - blend_preinst() { fn blend_preinst req=(blend_name username userpass) @@ -66,12 +42,15 @@ blend_postinst() { notice "executing $blend_name postinst" - [[ -n "$mkefi" ]] && iso_make_efi + [[ $mkefi = yes ]] && { + iso_make_efi + iso_write_grub_cfg + } install-custdebs || zerr - #pushd "$strapdir" - # sudo rsync -avx --no-o --no-g "$BLENDPATH"/rootfs-overlay/* . || zerr - #popd + pushd "$strapdir" + sudo rsync -avx --no-o --no-g "$BLENDPATH"/rootfs-overlay/* . || zerr + popd blend_finalize || zerr } @@ -95,24 +74,34 @@ menu color sel * #ffffffff #A1B067 * menu color hotsel 1;7;37;40 #ffffffff #A1B067 * menu color tabmsg * #E5FD91 #00000000 * menu color cmdline 0 #E5FD91 #00000000 +menu tabmsg Press ENTER to boot or TAB to edit a menu entry menu vshift 12 menu rows 12 -label live-${arch} - menu label devuan-live (${arch}) +label live + menu label ${os}-live (${arch}) menu default linux /live/vmlinuz - append initrd=/live/initrd boot=live username=${username} + append initrd=/live/initrd.img boot=live username=${username} + +label lang + menu label Other language (TAB to edit) + linux /live/vmlinuz + append initrd=/live/initrd.img boot=live username=${username} hooks=file:///lib/live/mount/medium/live/hooks/fix-lang.sh locales=it_IT.UTF-8 label toram - menu label devuan-live (${arch}) (load to RAM) + menu label ${os}-live (${arch}) (load to RAM) linux /live/vmlinuz - append initrd=/live/initrd boot=live username=${username} toram + append initrd=/live/initrd.img boot=live username=${username} toram label failsafe - menu label devuan-live (${arch}) (failsafe) - kernel /live/vmlinuz noapic noapm nodma nomce nolapic nosmp vga=normal - append initrd=/live/initrd boot=live + menu label ${os}-live (${arch}) (failsafe) + kernel /live/vmlinuz noapic noapm nodma nomce nolapic nosmp nomodeset vga=normal + append initrd=/live/initrd.img boot=live + +label memtest + menu label Memory test + kernel /live/memtest endtext EOF @@ -120,24 +109,27 @@ EOF notice "copying isolinux overlay" sudo mkdir -p "$workdir"/binary/{live,isolinux} sudo cp -rav "$BLENDPATH"/isolinux-overlay/* "$workdir"/binary/isolinux/ + [[ -n "$hookscripts" ]] && { + sudo cp -av "$BLENDPATH"/hooks "$workdir"/binary/live/ + } } -## uefi code borrowed and adapted from David Hare, who borrowed and adapted it -## from similar scripts by Colin Watson and Patrick J. Volkerding. +# create /boot and /efi for uefi. +# uefi code borrowed and adapted from David Hare, who borrowed and adapted it +# from similar scripts by Colin Watson and Patrick J. Volkerding. iso_make_efi() { fn iso_make_efi - req=(strapdir workdir efi_work) + req=(workdir efi_work) ckreq || return 1 - set -x + notice "creating efi boot files" - _tempdir="$(mktemp -d /tmp/work_temp.XXXX)" - - ## for initial grub.cfg - mkdir -p "$_tempdir"/boot/grub + tempdir="$(mktemp -d /tmp/work_temp.XXXX)" + # for initial grub.cfg + mkdir -p "$tempdir"/boot/grub - cat >"$_tempdir"/boot/grub/grub.cfg <"$tempdir"/boot/grub/grub.cfg <> boot/grub/x86_64-efi/grub.cfg + # second grub.cfg file + for i in $(find $strapdir/usr/lib/grub/x86_64-efi -name 'part_*.mod'); do + print "insmod $(basename $i)" >> boot/grub/x86_64-efi/grub.cfg + done - ## Additional modules so we don't boot in blind mode. - ## I don't know which ones are really needed. - _efimods=(efi_gop efi_uga ieee1275_fb vbe vga video_bochs - video_cirrus jpeg png gfxterm) - - for i in $_efimods; do + # Additional modules so we don't boot in blind mode. + # I don't know which ones are really needed. + efimods=( + efi_gop + efi_uga + ieee1275_fb + vbe + vga + video_bochs + video_cirrus + jpeg + png + gfxterm + ) + for i in $efimods; do print "insmod $i" >> boot/grub/x86_64-efi/grub.cfg done + print "source /boot/grub/grub.cfg" >> boot/grub/x86_64-efi/grub.cfg - pushd "$_tempdir" - ## make a tarred "memdisk" to embed in the grub image + pushd "$tempdir" + # make a tarred "memdisk" to embed in the grub image tar -cvf memdisk boot - ## make the grub image - _grubmods=(search iso9660 configfile normal memdisk tar cat part_msdos - part_gpt fat ext2 ntfs ntfscomp hfsplus chain boot linux) - grub-mkimage \ - -O "x86_64-efi" \ - -m "memdisk" \ - -o "bootx64.efi" \ - -p '(memdisk)/boot/grub' \ - $_grubmods + # make the grub image + cat </dev/null + # copy splash + sudo cp -rav "$BLENDPATH"/isolinux-overlay/splash.png boot/grub/splash.png - ## Cleanup efi temps + # Cleanup efi temps sudo umount img-mnt sudo rmdir img-mnt - rm -rf "$_tempdir" + rm -rf "$tempdir" - popd # $efi_work + popd - ## Copy efi files to iso + # Copy efi files to iso pushd $workdir sudo rsync -avx "$efi_work"/boot binary/ sudo rsync -avx "$efi_work"/efi binary/ popd - ## Do the main grub.cfg (which gets loaded last): +} + + +iso_write_grub_cfg() { + fn iso_write_grub_cfg "(override)" + req=(workdir arch username) + ckreq || return 1 + + notice "writing grub configuration" + + # Do the main grub.cfg (which gets loaded last): cat <> /etc/default/grub + printf "\nGRUB_THEME=/usr/share/desktop-base/grub-themes/desktop-grub-theme/theme.txt\n" >> /etc/default/grub } -rm -f /etc/fstab +# Not sure if this has been fixed (in devuan-baseconf?) +mv /data/etc/apt/apt.conf.d/05disable-suggests /etc/apt/apt.conf.d/ +rm -rf /data +rm -f /etc/fstab +rm -f /etc/popularity-contest.conf + +# For ascii if no display manager is used. Maybe this should have a +# contitional that's turned on/off in the config? +# echo "needs_root_rights=yes" >> /etc/X11/Xwrapper.config + +# Disable contrib and non-free after installing firmware. +sed -i 's/contrib//g' /etc/apt/sources.list +sed -i 's/non-free//g' /etc/apt/sources.list + +## package list +dpkg -l | awk '/^ii/ { print $2 " " $3 }' > /home/${username}/package_list + +apt-get update apt-get clean updatedb EOF diff --git a/lib/libdevuansdk b/lib/libdevuansdk index ee56a54..855fed2 160000 --- a/lib/libdevuansdk +++ b/lib/libdevuansdk @@ -1 +1 @@ -Subproject commit ee56a54cf5b9e0569ce34a7c890551986c7d0257 +Subproject commit 855fed21f5cde6c1adacd9c7396df79f39db9ada