diff --git a/grub.cfg b/grub.cfg new file mode 100644 index 0000000..d97f7f5 --- /dev/null +++ b/grub.cfg @@ -0,0 +1,39 @@ +set default=0 +timeout=5 +if [ x$feature_default_font_path = xy ] ; then + font=unicode +else + font=$prefix/font.pf2 +fi + +if loadfont $font ; then + set gfxmode=800x600 + set gfxpayload=keep + insmod efi_gop + insmod efi_uga + insmod video_bochs + insmod video_cirrus + insmod gfxterm + insmod png + terminal_output gfxterm +fi + +if background_image /isolinux/splash.png; then + set color_normal=light-gray/black + set color_highlight=white/black +elif background_image /splash.png; then + set color_normal=light-gray/black + set color_highlight=white/black +else + set menu_color_normal=cyan/blue + set menu_color_highlight=white/blue +fi + +insmod play +play 960 440 1 0 4 440 1 +set theme=/boot/grub/theme/1 +menuentry --hotkey=g 'Boot Iso JULES' { + set background_color=black + linux /install.amd/vmlinuz preseed/file=/cdrom/preseed.cfg locale=fr_FR.UTF-8 keymap=fr(latin9) laguage=fr contry=FR auto=true + initrd /install.amd/initrd.gz +} diff --git a/preseed.cfg b/preseed.cfg new file mode 100644 index 0000000..b3d5982 --- /dev/null +++ b/preseed.cfg @@ -0,0 +1,176 @@ +#### Contents of the preconfiguration file (for wheezy) +### Localization +# Preseeding only locale sets language, country and locale. +d-i debian-installer/locale string fr_FR +d-i keymap select fr + +### Network configuration +# netcfg will choose an interface that has link if possible. This makes it +# skip displaying a list if there is more than one interface. +d-i netcfg/choose_interface select auto + +# Any hostname and domain names assigned from dhcp take precedence over +# values set here. However, setting the values still prevents the questions +# from being shown, even if values come from dhcp. +d-i netcfg/get_hostname string preseeddebian +d-i netcfg/get_domain string preseeddebian + +# Disable that annoying WEP key dialog. +d-i netcfg/wireless_wep string +d-i hw-detect/load_firmware boolean false + +### Network console +# Use the following settings if you wish to make use of the network-console +# component for remote installation over SSH. This only makes sense if you +# intend to perform the remainder of the installation manually. +#d-i anna/choose_modules string network-console +#d-i network-console/authorized_keys_url string http://10.0.0.1/openssh-key +#d-i network-console/password password r00tme +#d-i network-console/password-again password r00tme + +### Mirror settings +# If you select ftp, the mirror/country string does not need to be set. +#d-i mirror/protocol string ftp +d-i mirror/country string manual +d-i mirror/http/hostname string ftp.fr.debian.org +d-i mirror/http/directory string /debian +d-i mirror/http/proxy string + +# Suite to install. +d-i mirror/suite string testing + +### Account setup +# Root password, either in clear text +d-i passwd/root-password password echo0022 +d-i passwd/root-password-again password echo0022 + +# To create a normal user account. +d-i passwd/user-fullname string garfi +d-i passwd/username string garfi +# Normal user's password, either in clear text +d-i passwd/user-password password echo0022 +d-i passwd/user-password-again password echo0022 + +### Clock and time zone setup +# Controls whether or not the hardware clock is set to UTC. +d-i clock-setup/utc boolean true + +# You may set this to any valid setting for $TZ; see the contents of +# /usr/share/zoneinfo/ for valid values. +d-i time/zone string Europe/Paris + +# Controls whether to use NTP to set the clock during the install +d-i clock-setup/ntp boolean true + +#Seul le premier disque est partionné +d-i partman-auto/disk string /dev/sda +# On partionne en "normal": pas de RAID ni de LVM +d-i partman-auto/method string regular +# Pour être sûr, on supprime une éventuelle configuration LVM +d-i partman-lvm/device_remove_lvm boolean true +# Même chose pour le RAID +d-i partman-md/device_remove_md boolean true +# Chaînes pour ne pas toucher la configuration LVM (donc pas de configuration) +d-i partman-lvm/confirm boolean true +d-i partman-lvm/confirm_nooverwrite boolean true + +# L'installation sera simple: on fout tout dans une seule partition +d-i partman-auto/choose_recipe select atomic + +# On valide sans confirmation la configuration de partman +d-i partman-md/confirm boolean true +d-i partman-partitioning/confirm_write_new_label boolean true +d-i partman/choose_partition select finish +d-i partman/confirm boolean true +d-i partman/confirm_nooverwrite boolean true + +# fstab utilisera des UUID plutôt que des noms de périphériques +d-i partman/mount_style select uuid + +# The kernel image (meta) package to be installed; "none" can be used if no +# kernel is to be installed. +d-i base-installer/kernel/image string linux-image-amd64 + +### Apt setup +# Choisissez si vous voulez analyser un autre support d’installation +# (par défaut : non (false)). +d-i apt-setup/cdrom/set-first boolean false +# You can choose to install non-free and contrib software. +d-i apt-setup/non-free boolean true +d-i apt-setup/contrib boolean true +# Uncomment this if you don't want to use a network mirror. +#d-i apt-setup/use_mirror boolean false +# Select which update services to use; define the mirrors to be used. +# Values shown below are the normal defaults. +d-i apt-setup/services-select multiselect security, updates +d-i apt-setup/security_host string security.debian.org + +### Package selection +tasksel tasksel/first multiselect standard + +# Individual additional packages to install +d-i pkgsel/include string openssh-server +# Whether to upgrade packages after debootstrap. +# Allowed values: none, safe-upgrade, full-upgrade +d-i pkgsel/upgrade select none + +# Some versions of the installer can report back on what software you have +# installed, and what software you use. The default is not to report back, +# but sending reports helps the project determine what software is most +# popular and include it on CDs. +popularity-contest popularity-contest/participate boolean true + +## Grub +d-i grub-installer/only_debian boolean true + +### Finishing up the installation +# During installations from serial console, the regular virtual consoles +# (VT1-VT6) are normally disabled in /etc/inittab. Uncomment the next +# line to prevent this. +#d-i finish-install/keep-consoles boolean true + +# Avoid that last message about the install being complete. +d-i finish-install/reboot_in_progress note + +# This will prevent the installer from ejecting the CD during the reboot, +# which is useful in some situations. +#d-i cdrom-detect/eject boolean false + +# This is how to make the installer shutdown when finished, but not +# reboot into the installed system. +#d-i debian-installer/exit/halt boolean true +# This will power off the machine instead of just halting it. +#d-i debian-installer/exit/poweroff boolean true + +### Preseeding other packages +# Depending on what software you choose to install, or if things go wrong +# during the installation process, it's possible that other questions may +# be asked. You can preseed those too, of course. To get a list of every +# possible question that could be asked during an install, do an +# installation, and then run these commands: +# debconf-get-selections --installer > file +# debconf-get-selections >> file + + +#### Advanced options +### Running custom commands during the installation +# d-i preseeding is inherently not secure. Nothing in the installer checks +# for attempts at buffer overflows or other exploits of the values of a +# preconfiguration file like this one. Only use preconfiguration files from +# trusted locations! To drive that home, and because it's generally useful, +# here's a way to run any shell command you'd like inside the installer, +# automatically. + +# This first command is run as early as possible, just after +# preseeding is read. +#d-i preseed/early_command string anna-install some-udeb +# This command is run immediately before the partitioner starts. It may be +# useful to apply dynamic partitioner preseeding that depends on the state +# of the disks (which may not be visible when preseed/early_command runs). +#d-i partman/early_command \ +# string debconf-set partman-auto/disk "$(list-devices disk | head -n1)" +# This command is run just before the install finishes, but when there is +# still a usable /target directory. You can chroot to /target and use it +# directly, or use the apt-install and in-target commands to easily install +# packages and run commands in the target system. +d-i preseed/late_command string apt-install docker.io docker-compose diff --git a/run.sh b/run.sh new file mode 100644 index 0000000..cd08675 --- /dev/null +++ b/run.sh @@ -0,0 +1,18 @@ +apt install -y xorriso isolinux gpg libarchive-tools +wget "https://cdimage.debian.org/cdimage/weekly-builds/amd64/iso-cd/debian-testing-amd64-netinst.iso" +mkdir isofiles +bsdtar -C isofiles/ -xf debian-testing-amd64-netinst.iso +cp preseed.cfg isofiles +chmod +w -R isofiles/install.amd/ +gunzip isofiles/install.amd/initrd.gz +echo isofiles/preseed.cfg |cpio -H newc -o -A -F isofiles/install.amd/initrd +gzip isofiles/install.amd/initrd +chmod -w -R isofiles/install.amd/ +cp grub.cfg isofiles/boot/grub/grub.cfg +chmod +w isofiles/md5sum.txt +cd isofiles +find -type f ! -name "md5sum.txt" -print0 | xargs -0 md5sum > md5sum.txt +chmod -w md5sum.txt +cd ../ +bash makeiso.sh +