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

View file

@ -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"]
]
}
],

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

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

View file

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