diff --git a/mint/computertruhe.seed b/mint/computertruhe.seed new file mode 100644 index 0000000..ca5db57 --- /dev/null +++ b/mint/computertruhe.seed @@ -0,0 +1,76 @@ +# My working preseed file for LinuxMint 18 Cinnamon + +d-i debian-installer/locale string de_DE +d-i localechooser/supported-locales de_DE.UTF-8 +d-i keyboard-configuration/xkb-keymap select de +d-i keyboard-configuration/layoutcode string de + +d-i debian-installer/splash boolean false +d-i console-setup/ask_detect boolean false +d-i console-setup/layoutcode string de +d-i console-setup/variantcode string + +### Partitioning +# If the system has free space you can choose to only partition that space. +# This is only honoured if partman-auto/method (below) is not set. +#d-i partman-auto/init_automatically_partition select biggest_free + +# Alternatively, you may specify a disk to partition. If the system has only +# one disk the installer will default to using that, but otherwise the device +# name must be given in traditional, non-devfs format (so e.g. /dev/sda +# and not e.g. /dev/discs/disc0/disc). +# For example, to use the first SCSI/SATA hard disk: +#d-i partman-auto/disk string /dev/sda +# In addition, you'll need to specify the method to use. +# The presently available methods are: +# - regular: use the usual partition types for your architecture +# - lvm: use LVM to partition the disk +# - crypto: use LVM within an encrypted partition +#d-i partman-auto/method string regular + +# You can choose one of the three predefined partitioning recipes: +# - atomic: all files in one partition +# - home: separate /home partition +# - multi: separate /home, /var, and /tmp partitions +#d-i partman-auto/choose_recipe select atomic + +#d-i partman/default_filesystem string ext3 +#d-i partman/choose_partition select finish + +# If one of the disks that are going to be automatically partitioned +# contains an old LVM configuration, the user will normally receive a +# warning. This can be preseeded away... +#d-i partman-lvm/device_remove_lvm boolean true +# The same applies to pre-existing software RAID array: +#d-i partman-md/device_remove_md boolean true +# And the same goes for the confirmation to write the lvm partitions. +#d-i partman-lvm/confirm boolean true +#d-i partman-lvm/confirm_nooverwrite boolean true + +# Just in case, the positive answer to all other imagineable conformation questions: +#d-i partman-partitioning/confirm_write_new_label boolean true +#d-i partman/confirm boolean true +#d-i partman/confirm_nooverwrite boolean true +#d-i partman/confirm_write_new_label boolean true +#d-i partman-md/confirm boolean true + +# Time +d-i time/zone string Europe/Berlin +d-i clock-setup/utc boolean true +d-i clock-setup/ntp boolean true +d-i clock-setup/ntp-server string ntp.ubuntu.com + +# LinuxMint will *demand* a user during installation, ignoring the value +# of the passwd/make-user flag, so we need to provide the user data here. +# You should not preseed the password in clear text, this is just an example! +d-i passwd/user-fullname string user +d-i passwd/username string user +d-i passwd/user-password-crypted password $6$8Wk7hOnUGc1ffBRY$nefXDPeChvZGK3B/bA4Hzv91sOU8IqmXE4IJATV.BRFtaWJtBQqJKtBQO.e092nf4Jg1.4L2TH5TaLtFy02x1. +d-i passwd/user-password-again password $6$8Wk7hOnUGc1ffBRY$nefXDPeChvZGK3B/bA4Hzv91sOU8IqmXE4IJATV.BRFtaWJtBQqJKtBQO.e092nf4Jg1.4L2TH5TaLtFy02x1. +d-i passwd/root-login boolean false +d-i user-setup/encrypt-home boolean false +d-i user-setup/allow-password-weak boolean true + + +# Use non-free packages +ubiquity ubiquity/use_nonfree boolean true diff --git a/mint/linux_mint_custom_iso.sh b/mint/linux_mint_custom_iso.sh new file mode 100755 index 0000000..9ed1187 --- /dev/null +++ b/mint/linux_mint_custom_iso.sh @@ -0,0 +1,34 @@ +#!/bin/bash +#you need to download the latest Linux Mint ISO from the website first before running the script. + +#catch if argument 1 is empty. Without the ISO as an argument this script won't work. +if [[ -z $1 ]]; then + echo "Usage: $0 [linuxmint-original.iso]" + exit +#catch if the file cannot be found or is misspelled. +elif [[ ! -f $1 ]]; then + echo "File not found: $1" >&2 + exit 1 +fi + +UNATTENDED="unattended-$1" # => unattended-linuxmint-19.3-cinnamon-64bit.iso + +#creates a folders that is used during the process. +mkdir iso + +#copies the iso to the created folder and makes the installed files writable. +bsdtar -xf "$1" -C ./iso +chmod -R u+w ./iso + +#copies the computertruhe.seed from codeberg-repo so always the latest preseed-file is used. +curl https://codeberg.org/Computertruhe/Setup-Skripte/raw/branch/master/mint/computertruhe.seed > ./iso/preseed/linuxmint.seed + +#creates the custom-iso with the given parameters. +mkisofs -D -r -V "UNATTENDED_MINT" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o "$UNATTENDED" ./iso + +#umounts the iso and clears up the space we used to create the iso. +rm -rf ./iso + +#from here we are basically done and the iso can be "burned" on an USB ready for install. +echo "Die Custom ISO wurde fertiggestellt und kann nun verwendet werden. Die ISO ist unter $UNATTENDED zu finden." +