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
|
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.
|
|
||||||
|
|
|
@ -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"]
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in a new issue