5
0
Fork 0
mirror of https://codeberg.org/Computertruhe/Setup-Skripte.git synced 2024-06-06 18:46:25 +02:00

Merge pull request 'add preseed-file for Linux Mint ISO and a shell script to create a custom Linux Mint ISO' (#28) from stefan230/Setup-Skripte:add_mint_preseed into master

Reviewed-on: https://codeberg.org/Computertruhe/Setup-Skripte/pulls/28
This commit is contained in:
York-Simon Johannsen 2020-11-09 20:33:02 +01:00
commit 2ee4788dea
2 changed files with 110 additions and 0 deletions

76
mint/computertruhe.seed Normal file
View file

@ -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

34
mint/linux_mint_custom_iso.sh Executable file
View file

@ -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."