Compare commits

...

2 commits

Author SHA1 Message Date
20e2a485ce Start port to Debian 12
- qemu installation works
- babelbox installation works
- system is broken after the first demo installation
2024-02-09 10:17:42 +01:00
7983c85acf Make the build work on Debian 10 2020-03-02 11:38:20 +01:00
5 changed files with 60 additions and 40 deletions

View file

@ -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 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 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 option). Login as user `demo` with password `babelbox`. The shell should start
DVD ISO image into `/srv/`: to download a Debian DVD ISO image into `/srv/`.
``` If this does not work due to connectivity or DNS issues you have `vim` and
cd /srv `sudo` in your toolbelt.
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.

View file

@ -18,20 +18,20 @@
"keyboard-configuration/xkb-keymap=de <wait>", "keyboard-configuration/xkb-keymap=de <wait>",
"<enter><wait>" "<enter><wait>"
], ],
"disk_size": 10240, "disk_size": 20480,
"guest_os_type": "Debian_64", "guest_os_type": "Debian_64",
"hard_drive_interface": "sata", "hard_drive_interface": "sata",
"headless": false, "headless": false,
"http_directory": "http", "http_directory": "http",
"iso_checksum": "6a901b5abe43d88b39d627e1339d15507cc38f980036b928f835e0f0e957d3d8", "iso_checksum": "64d727dd5785ae5fcfd3ae8ffbede5f40cca96f1580aaa2820e8b99dae989d94",
"iso_checksum_type": "sha256", "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", "shutdown_command": "sudo systemctl poweroff",
"ssh_username": "demo", "ssh_username": "demo",
"ssh_password": "babelbox", "ssh_password": "babelbox",
"ssh_port": "22", "ssh_port": "22",
"ssh_wait_timeout": "1800s", "ssh_wait_timeout": "1800s",
"vm_name": "babelbox-buster", "vm_name": "babelbox-bookworm",
"vboxmanage": [ "vboxmanage": [
[ [
"modifyvm", "modifyvm",
@ -50,41 +50,41 @@
}, },
{ {
"type": "qemu", "type": "qemu",
"iso_checksum": "6a901b5abe43d88b39d627e1339d15507cc38f980036b928f835e0f0e957d3d8", "iso_checksum": "64d727dd5785ae5fcfd3ae8ffbede5f40cca96f1580aaa2820e8b99dae989d94",
"iso_checksum_type": "sha256", "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", "output_directory": "babelbox-qemu",
"shutdown_command": "sudo systemctl poweroff", "shutdown_command": "sudo systemctl poweroff",
"disk_size": "10240M", "disk_size": "20480M",
"format": "qcow2", "format": "qcow2",
"accelerator": "kvm", "accelerator": "kvm",
"http_directory": "http-qemu", "http_directory": "http-qemu",
"ssh_username": "demo", "ssh_username": "demo",
"ssh_password": "babelbox", "ssh_password": "babelbox",
"ssh_timeout": "20m", "ssh_timeout": "20m",
"vm_name": "babelbox-buster", "vm_name": "babelbox-bookworm",
"net_device": "virtio-net", "net_device": "virtio-net",
"disk_interface": "virtio", "disk_interface": "virtio",
"disk_detect_zeroes": "on", "disk_detect_zeroes": "on",
"boot_wait": "10s", "boot_wait": "10s",
"boot_command": [ "boot_command": [
"<esc><wait>", "<esc><wait>",
"install <wait>", "install ",
"preseed/url=http://{{ .HTTPIP }}:{{ .HTTPPort }}/preseed.cfg ", "preseed/url=http://{{ .HTTPIP }}:{{ .HTTPPort }}/preseed.cfg ",
"debian-installer/locale=en_US <wait>", "debian-installer/locale=en_US ",
"auto <wait>", "auto ",
"netcfg/get_hostname={{ .Name }} <wait>", "netcfg/get_hostname={{ .Name }} ",
"netcfg/get_domain=demo.local <wait>", "netcfg/get_domain=demo.local ",
"fb=false <wait>", "fb=false ",
"debconf/frontend=noninteractive <wait>", "debconf/frontend=noninteractive ",
"console-setup/ask_detect=false <wait>", "console-setup/ask_detect=false ",
"console-keymaps-at/keymap=de <wait>", "console-keymaps-at/keymap=de ",
"keyboard-configuration/xkb-keymap=de <wait>", "keyboard-configuration/xkb-keymap=de ",
"<enter><wait>" "<enter>"
], ],
"memory": "1024", "memory": "1024",
"qemuargs": [ "qemuargs": [
["-display", "sdl"] ["-display", "gtk"]
] ]
} }
], ],

View file

@ -43,7 +43,7 @@ d-i partman-auto/disk string /dev/vda
d-i partman-auto/method string regular d-i partman-auto/method string regular
d-i partman-auto/expert_recipe string \ d-i partman-auto/expert_recipe string \
root :: \ root :: \
6144 50 6144 ext4 \ 8192 50 8192 ext4 \
$primary{ } $bootable{ } \ $primary{ } $bootable{ } \
method{ format } format{ } \ method{ format } format{ } \
use_filesystem{ } filesystem{ ext4 } \ use_filesystem{ } filesystem{ ext4 } \
@ -78,7 +78,7 @@ d-i apt-setup/security_host string security.debian.org
### Package selection ### Package selection
tasksel tasksel/first multiselect standard 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 d-i pkgsel/upgrade select safe-upgrade
popularity-contest popularity-contest/participate boolean false popularity-contest popularity-contest/participate boolean false

View file

@ -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 apt-get --yes clean
# Removing leftover leases and persistent rules # Removing leftover leases and persistent rules
echo "cleaning up dhcp leases" echo "cleaning up dhcp leases"
rm /var/lib/dhcp/* rm /var/lib/dhcp/*
echo "Adding a 2 sec delay to the interface up, to make the dhclient happy" # Use systemd-resolved nameserver
echo "pre-up sleep 2" >> /etc/network/interfaces echo "nameserver 127.0.0.53" > /etc/resolv.conf

View file

@ -2,20 +2,43 @@
set -e set -e
apt-get install -y git wget FDISK_VERSION=2.38.1-5+b1
cd /srv 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 mkdir initrd_with_fdisk
cd initrd_with_fdisk cd initrd_with_fdisk
gunzip -c ../initrd.gz | cpio -id 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 find . | cpio --create --format='newc' | gzip -9 > ../initrd.gz
cd .. 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 git clone https://salsa.debian.org/installer-team/babelbox.git
cd babelbox cd babelbox
cat babelbox-grub >> /etc/grub.d/40_custom cat babelbox-grub >> /etc/grub.d/40_custom
update-grub update-grub
./cronscript ./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