Compare commits
2 commits
d201b6e36c
...
20e2a485ce
Author | SHA1 | Date | |
---|---|---|---|
20e2a485ce | |||
7983c85acf |
5 changed files with 60 additions and 40 deletions
12
README.md
12
README.md
|
@ -19,12 +19,8 @@ packer build --only=virtualbox-iso debian-babelbox.json
|
|||
|
||||
Due to image size reasons we do not include a Debian DVD ISO image into the
|
||||
image. Therefore the VMs have to be booted into the regular OS (first Grub menu
|
||||
option). Login as user `demo` with password `babelbox` and download a Debian
|
||||
DVD ISO image into `/srv/`:
|
||||
option). Login as user `demo` with password `babelbox`. The shell should start
|
||||
to download a Debian DVD ISO image into `/srv/`.
|
||||
|
||||
```
|
||||
cd /srv
|
||||
sudo wget https://cdimage.debian.org/debian-cd/10.3.0/amd64/iso-dvd/debian-10.3.0-amd64-DVD-1.iso
|
||||
```
|
||||
|
||||
The version might be different but 10.3.0 has been used for my tests.
|
||||
If this does not work due to connectivity or DNS issues you have `vim` and
|
||||
`sudo` in your toolbelt.
|
||||
|
|
|
@ -18,20 +18,20 @@
|
|||
"keyboard-configuration/xkb-keymap=de <wait>",
|
||||
"<enter><wait>"
|
||||
],
|
||||
"disk_size": 10240,
|
||||
"disk_size": 20480,
|
||||
"guest_os_type": "Debian_64",
|
||||
"hard_drive_interface": "sata",
|
||||
"headless": false,
|
||||
"http_directory": "http",
|
||||
"iso_checksum": "6a901b5abe43d88b39d627e1339d15507cc38f980036b928f835e0f0e957d3d8",
|
||||
"iso_checksum": "64d727dd5785ae5fcfd3ae8ffbede5f40cca96f1580aaa2820e8b99dae989d94",
|
||||
"iso_checksum_type": "sha256",
|
||||
"iso_url": "https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-10.3.0-amd64-netinst.iso",
|
||||
"iso_url": "https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-12.4.0-amd64-netinst.iso",
|
||||
"shutdown_command": "sudo systemctl poweroff",
|
||||
"ssh_username": "demo",
|
||||
"ssh_password": "babelbox",
|
||||
"ssh_port": "22",
|
||||
"ssh_wait_timeout": "1800s",
|
||||
"vm_name": "babelbox-buster",
|
||||
"vm_name": "babelbox-bookworm",
|
||||
"vboxmanage": [
|
||||
[
|
||||
"modifyvm",
|
||||
|
@ -50,41 +50,41 @@
|
|||
},
|
||||
{
|
||||
"type": "qemu",
|
||||
"iso_checksum": "6a901b5abe43d88b39d627e1339d15507cc38f980036b928f835e0f0e957d3d8",
|
||||
"iso_checksum": "64d727dd5785ae5fcfd3ae8ffbede5f40cca96f1580aaa2820e8b99dae989d94",
|
||||
"iso_checksum_type": "sha256",
|
||||
"iso_url": "https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-10.3.0-amd64-netinst.iso",
|
||||
"iso_url": "https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-12.4.0-amd64-netinst.iso",
|
||||
"output_directory": "babelbox-qemu",
|
||||
"shutdown_command": "sudo systemctl poweroff",
|
||||
"disk_size": "10240M",
|
||||
"disk_size": "20480M",
|
||||
"format": "qcow2",
|
||||
"accelerator": "kvm",
|
||||
"http_directory": "http-qemu",
|
||||
"ssh_username": "demo",
|
||||
"ssh_password": "babelbox",
|
||||
"ssh_timeout": "20m",
|
||||
"vm_name": "babelbox-buster",
|
||||
"vm_name": "babelbox-bookworm",
|
||||
"net_device": "virtio-net",
|
||||
"disk_interface": "virtio",
|
||||
"disk_detect_zeroes": "on",
|
||||
"boot_wait": "10s",
|
||||
"boot_command": [
|
||||
"<esc><wait>",
|
||||
"install <wait>",
|
||||
"install ",
|
||||
"preseed/url=http://{{ .HTTPIP }}:{{ .HTTPPort }}/preseed.cfg ",
|
||||
"debian-installer/locale=en_US <wait>",
|
||||
"auto <wait>",
|
||||
"netcfg/get_hostname={{ .Name }} <wait>",
|
||||
"netcfg/get_domain=demo.local <wait>",
|
||||
"fb=false <wait>",
|
||||
"debconf/frontend=noninteractive <wait>",
|
||||
"console-setup/ask_detect=false <wait>",
|
||||
"console-keymaps-at/keymap=de <wait>",
|
||||
"keyboard-configuration/xkb-keymap=de <wait>",
|
||||
"<enter><wait>"
|
||||
"debian-installer/locale=en_US ",
|
||||
"auto ",
|
||||
"netcfg/get_hostname={{ .Name }} ",
|
||||
"netcfg/get_domain=demo.local ",
|
||||
"fb=false ",
|
||||
"debconf/frontend=noninteractive ",
|
||||
"console-setup/ask_detect=false ",
|
||||
"console-keymaps-at/keymap=de ",
|
||||
"keyboard-configuration/xkb-keymap=de ",
|
||||
"<enter>"
|
||||
],
|
||||
"memory": "1024",
|
||||
"qemuargs": [
|
||||
["-display", "sdl"]
|
||||
["-display", "gtk"]
|
||||
]
|
||||
}
|
||||
],
|
||||
|
|
|
@ -43,7 +43,7 @@ d-i partman-auto/disk string /dev/vda
|
|||
d-i partman-auto/method string regular
|
||||
d-i partman-auto/expert_recipe string \
|
||||
root :: \
|
||||
6144 50 6144 ext4 \
|
||||
8192 50 8192 ext4 \
|
||||
$primary{ } $bootable{ } \
|
||||
method{ format } format{ } \
|
||||
use_filesystem{ } filesystem{ ext4 } \
|
||||
|
@ -78,7 +78,7 @@ d-i apt-setup/security_host string security.debian.org
|
|||
### Package selection
|
||||
tasksel tasksel/first multiselect standard
|
||||
|
||||
d-i pkgsel/include string parted openssh-server acpid sudo ca-certificates curl
|
||||
d-i pkgsel/include string parted openssh-server acpid sudo ca-certificates curl git vim-nox
|
||||
d-i pkgsel/upgrade select safe-upgrade
|
||||
|
||||
popularity-contest popularity-contest/participate boolean false
|
||||
|
|
|
@ -1,12 +1,13 @@
|
|||
# Clean up
|
||||
#!/bin/sh
|
||||
|
||||
# Clean up
|
||||
set -e
|
||||
|
||||
apt-get --yes remove dmidecode gcc-8 laptop-detect libc6-dev linux-libc-dev
|
||||
apt-get --yes autoremove
|
||||
apt-get --yes clean
|
||||
|
||||
# Removing leftover leases and persistent rules
|
||||
echo "cleaning up dhcp leases"
|
||||
rm /var/lib/dhcp/*
|
||||
|
||||
echo "Adding a 2 sec delay to the interface up, to make the dhclient happy"
|
||||
echo "pre-up sleep 2" >> /etc/network/interfaces
|
||||
# Use systemd-resolved nameserver
|
||||
echo "nameserver 127.0.0.53" > /etc/resolv.conf
|
||||
|
|
|
@ -2,20 +2,43 @@
|
|||
|
||||
set -e
|
||||
|
||||
apt-get install -y git wget
|
||||
FDISK_VERSION=2.38.1-5+b1
|
||||
|
||||
cd /srv
|
||||
wget http://ftp.debian.org/debian/dists/stable/main/installer-amd64/current/images/hd-media/gtk/initrd.gz http://ftp.debian.org/debian/dists/stable/main/installer-amd64/current/images/hd-media/gtk/vmlinuz http://ftp.debian.org/debian/pool/main/u/util-linux/fdisk-udeb_2.33.1-0.1_amd64.udeb
|
||||
curl -L -O http://ftp.debian.org/debian/dists/stable/main/installer-amd64/current/images/hd-media/gtk/initrd.gz
|
||||
curl -L -O http://ftp.debian.org/debian/dists/stable/main/installer-amd64/current/images/hd-media/gtk/vmlinuz
|
||||
curl -L -O http://ftp.debian.org/debian/pool/main/u/util-linux/fdisk-udeb_${FDISK_VERSION}_amd64.udeb
|
||||
mkdir initrd_with_fdisk
|
||||
cd initrd_with_fdisk
|
||||
gunzip -c ../initrd.gz | cpio -id
|
||||
dpkg-deb -x ../fdisk-udeb_2.33.1-0.1_amd64.udeb .
|
||||
dpkg-deb -x ../fdisk-udeb_${FDISK_VERSION}_amd64.udeb .
|
||||
find . | cpio --create --format='newc' | gzip -9 > ../initrd.gz
|
||||
cd ..
|
||||
rm -rf initrd_with_fdisk fdisk-udeb_2.33.1-0.1_amd64.udeb
|
||||
rm -rf initrd_with_fdisk fdisk-udeb_${FDISK_VERSION}_amd64.udeb
|
||||
git clone https://salsa.debian.org/installer-team/babelbox.git
|
||||
cd babelbox
|
||||
cat babelbox-grub >> /etc/grub.d/40_custom
|
||||
update-grub
|
||||
./cronscript
|
||||
|
||||
echo "You need to download a Debian amd64 DVD ISO into /srv"
|
||||
cat > /etc/systemd/network/80-dhcp.network <<EOD
|
||||
[Match]
|
||||
Name=en*
|
||||
|
||||
[Network]
|
||||
DHCP=yes
|
||||
EOD
|
||||
|
||||
systemctl enable systemd-networkd.service
|
||||
|
||||
apt-get install --yes systemd-resolved
|
||||
|
||||
cat >> /home/demo/.bashrc <<EOD
|
||||
DEBIAN_VERSION=12.4.0
|
||||
|
||||
if [ ! -f /srv/debian-\${DEBIAN_VERSION}-amd64-DVD-1.iso ]; then
|
||||
echo "downloading Debian amd64 DVD ISO into /srv"
|
||||
curl -L -O https://cdimage.debian.org/debian-cd/current/amd64/iso-dvd/debian-\${DEBIAN_VERSION}-amd64-DVD-1.iso
|
||||
sudo mv debian-\${DEBIAN_VERSION}-amd64-DVD-1.iso /srv/
|
||||
fi
|
||||
EOD
|
||||
|
|
Loading…
Reference in a new issue