X-Git-Url: http://git.plutz.net/?a=blobdiff_plain;f=live-cd.mk;h=92c0889ccee174188a1a0bfa33429980aa146f3e;hb=refs%2Fheads%2Fmaster;hp=24cd8a9c6f3a4225b57416917c9e0d67d6d16901;hpb=da277e4a51db02e38bd9c0cde11aa40bebaef5fc;p=blast diff --git a/live-cd.mk b/live-cd.mk index 24cd8a9..92c0889 100644 --- a/live-cd.mk +++ b/live-cd.mk @@ -1,118 +1,86 @@ -## Choose only on of the possible target types -# image=disk.img -# squash=rootfs.squash iso=live-cd.iso -## Image size in MB. Needs to be able to hold all software. -# imagesize=3072 - -## Additional packages -packages=alsa-utils,aqemu,debian-installer-launcher,debootstrap,dnsutils,dosfstools,exfat-fuse,exfat-utils,firefox-esr,firefox-esr-l10n-de,git,gparted,gwenview,make,man-db,manpages-de,mousepad,ncat,network-manager-gnome,ntfs-3g,okular,pavucontrol,pulseaudio,qemu-kvm,qemu-system-gui,qemu-utils,rdesktop,ssh,synaptic,telnet,tmux,vlc -packages+=linux-image-4.19.0-11-amd64 -packages+=firmware-atheros,firmware-brcm80211,firmware-iwlwifi,firmware-misc-nonfree -# packages+=firmware-ipw2x00 - -## Debian release, so far only stretch has been tested -release=buster - -## Comma separated list of config modules from modules/ directory -modules=nodm,xfce,live,approx +release=bookworm define SOURCES := -deb http://cdn.debian.net/debian ${release} main non-free +deb http://deb.debian.org/debian ${release} main non-free-firmware +deb http://deb.debian.org/debian ${release}-backports main +deb http://deb.debian.org/debian-security/ ${release}-security main endef -## Hostname for the generated machine -hostname=live +packages = +packages += alsa-utils +packages += cryptsetup +packages += debian-installer-launcher debootstrap dosfstools +packages += eject exfat-fuse exfatprogs +packages += firefox-esr firefox-esr-l10n-de +packages += git gdebi gparted +packages += libblockdev-crypto2 lvm2 +packages += man-db manpages-de mdadm mousepad +packages += ncat network-manager-gnome ntfs-3g +packages += p7zip-full pavucontrol pulseaudio pulseaudio-module-bluetooth +packages += synaptic +packages += telnet tmux +packages += unace unrar-free +packages += vlc +packages += xinput xpdf + +packages += linux-image-amd64 +packages += firmware-atheros firmware-brcm80211 firmware-iwlwifi firmware-misc-nonfree firmware-libertas firmware-realtek +# packages+=firmware-ipw2x00 -## Root password will be salted and encrypted in image +modules=nodm,xfce,live #,approx +hostname=live rootpass=root - -## The corresponding .pub file for the given rootkey will be applied as -## SSH login file for the root user. -## If the pub file is not found, a new key pair will be generated # rootkey=image_ssh - -## Comma separated list of users to be set up. -## User logins will start out with an empty password -## If the live module is in use, users will also be added to the sudo group -# users=adam,steve users=live - -## Wifi configuration, if a Wifi password is given, WPA encryption will be used -## without the password, the system will try to connect to an open wifi -#wifi=berlin.freifunk.net # wifi=MyWiFi # wifipass=P4ssW0rD - -## Timezone as offered by Debians tzdata selection timezone=Europe/Berlin - -## Comma separated list of locales, first one will become default locale locales=de_DE.UTF-8 #,en_US.UTF-8 - keyboard=de - -## If nodm is installed, you can choose a user to login automatically -## If no user is given here, then nodm will default to root nodm_user=live - -## In nodm, use full screen chromium web browser as session -# webui=http://localhost/ - -## When using NIS modules the directory server should be given -# nis_server=nismaster - -## If the approxmodule is enabled, then one (and only one) apt-source -## can be choosen to install packages from -## See modules/approx.mk if you need more flexibility approx=http://localhost:9000/debian -.PHONY: _live_initrd _favorites _bootmount -_config: _live_initrd _favorites -_isosquash: _bootmount +.PHONY: _live_initrd +_config: _live_initrd _live_initrd: cfg_root _live_modules # printf '%s\n' "isofs" "squashfs" "ata_generic" "usb_storage" "sr_mod" "mmc_block" >>"$${CFGROOT}/etc/initramfs-tools/modules" sed -i 's;^MODULES=.*$$;MODULES=most;' "$${CFGROOT}/etc/initramfs-tools/initramfs.conf" +.PHONY: _favorites +_config: _favorites +_favorites: _xfce + printf 'favorites=debian-installer-launcher.desktop,libreoffice-startcenter.desktop,firefox-esr.desktop,xfce4-terminal.desktop,xfce4-file-manager.desktop,mousepad.desktop,synaptic.desktop,aqemu.desktop,gparted.desktop' \ + >"$${CFGROOT}/etc/xdg/xfce4/panel/whiskermenu-10.rc" -_config: cfg_root/usr/share/kxmlgui5/dolphin/dolphinui.rc -_config: cfg_root/usr/local/bin/gksu - -cfg_root/usr/share/kxmlgui5/dolphin/dolphinui.rc: cfg_root _xfce - mkdir -p "$(dir $@)" - printf '%s\n' '' \ - '' \ - '' \ - '' \ - '' \ - '' \ +# Place some helpers in bash history ;-) +_config: cfg_root/home/live/.bash_history +cfg_root/home/live/.bash_history: cfg_root _users + mkdir "$${CFGROOT}/home/live" + printf '%s\n' \ + 'sudo git clone https://git.plutz.net/git/blast /mnt/blast' \ + 'for m in /proc /sys /dev /run; do sudo mount -o rbind $$m /mnt/$$m; done' \ >$@ + chroot "$${CFGROOT}" chown live:live -R /home/live +# Fake gksu/gksudo, because live password is empty anyway, needed for installer +_config: cfg_root/usr/local/bin/gksu cfg_root/usr/local/bin/gksu: ln -s /usr/bin/sudo $@ ln -s /usr/bin/sudo $@do -_favorites: _xfce - printf 'favorites=debian-installer-launcher.desktop,libreoffice-startcenter.desktop,firefox-esr.desktop,xfce4-terminal.desktop,org.kde.dolphin.desktop,mousepad.desktop,synaptic.desktop,aqemu.desktop,gparted.desktop' \ - >"$${CFGROOT}/etc/xdg/xfce4/panel/whiskermenu-10.rc" +# include debian installer _iso_image: iso_root/install/gtk/initrd.gz -iso_root/install/gtk/initrd.gz: /usr/lib/debian-installer/images/10/amd64/gtk/debian-installer/amd64/initrd.gz +iso_root/install/gtk/initrd.gz: /usr/lib/debian-installer/images/12/amd64/gtk/debian-installer/amd64/initrd.gz mkdir -p "$(dir $@)" cp "$<" "$@" -_config: cfg_root/home/live/.bash_history -cfg_root/home/live/.bash_history: cfg_root _users - mkdir "$${CFGROOT}/home/live" - printf '%s\n' \ - "sudo git clone https://git.plutz.net/git/blast /mnt/blast" \ - "for m in /proc /sys /dev /run; do sudo mount -o rbind $$m /mnt/$$m; done" \ - >$@ - chroot "$${CFGROOT}" chown live:live -R /home/live - +# Make boot folder available for browsing and for debian-installer +# Need to create boot folder in ramdrive because it will not be contained in squashfs +.PHONY: _bootmount +_isosquash: _bootmount _bootmount: cfg_root _config - # mkdir -m 1730 "$${CFGROOT}/var/spool/cron/crontabs/" - # chroot "$${CFGROOT}" chgrp crontab "/var/spool/cron/crontabs/" printf '@reboot mkdir -m755 /boot\n' >>"$${CFGROOT}/var/spool/cron/crontabs/root" chmod 600 "$${CFGROOT}/var/spool/cron/crontabs/root" printf '%s 0 0\n' \