Simplify OpenBSD installs

Use custom openbsd boot cd for installs:

https://github.com/tmakinen/openbsd-autoinstall
This commit is contained in:
Timo Makinen 2025-06-16 18:42:06 +00:00
parent d492ccc654
commit 06889e36b2
3 changed files with 1 additions and 88 deletions

View file

@ -17,5 +17,5 @@ num_cpus: 2
# extra args for virt-install
virt_install_os_args: --cdrom {{ boot_url }}/openbsd/openbsd.iso
virt_install_os_variant: openbsd7.4
virt_install_os_variant: openbsd7.6
virt_install_python_cmd: pkg_add -I -x python%3

View file

@ -71,82 +71,3 @@
- name: Import unbound_exporter role
ansible.builtin.import_role:
name: unbound_exporter
- name: Create tftp boot directories
ansible.builtin.file:
path: /srv/tftpboot/etc
state: directory
mode: "0755"
owner: root
group: "{{ ansible_wheel }}"
- name: Create tftp boot config for OpenBSD installs
ansible.builtin.copy:
dest: /srv/tftpboot/etc/boot.conf
content: |
stty com0 115200
set tty com0
boot tftp:bsd.rd
mode: "0644"
owner: root
group: "{{ ansible_wheel }}"
- name: Create tftp pxeboot loader for OpenBSD installs
ansible.builtin.get_url:
url: "https://ftp.eu.openbsd.org/pub/OpenBSD/7.7/amd64/pxeboot"
checksum: sha1:c696836c1e6cc67c6c31f6ceb5daaaa4ec0632b7
dest: /srv/tftpboot/pxeboot
mode: "0644"
owner: root
group: "{{ ansible_wheel }}"
- name: Create tftp ramdisk for OpenBSD installs
ansible.builtin.get_url:
url: "https://ftp.eu.openbsd.org/pub/OpenBSD/7.7/amd64/bsd.rd"
checksum: sha1:1331f4ec1ba94866399d19423706e7848de2bd42
dest: /srv/tftpboot/bsd.rd
mode: "0644"
owner: root
group: "{{ ansible_wheel }}"
- name: Create install.conf for OpenBSD installs
ansible.builtin.copy:
dest: /srv/tftpboot/install.conf
content: |
Password for root account = *************
Public ssh key for root account = {{
lookup('file', '../files/ssh/adm.pub')
}}
Allow root ssh login = yes
URL to autopartitioning template for disklabel = {{
boot_url + "/openbsd/autopart.conf"
}}
Location of sets = http
HTTP Server = cdn.openbsd.org
What timezone are you in = UTC
mode: "0644"
owner: root
group: "{{ ansible_wheel }}"
- name: Copy custom to allow plaint http access with internal IP
ansible.builtin.copy:
dest: /etc/nginx/conf.d/172.20.20.1.conf
content: |
server {
listen 172.20.20.10:80;
server_name 172.20.20.10;
access_log /var/www/logs/172.20.20.10.access.log combined;
error_log /var/www/logs/172.20.20.10.error.log warn;
location / {
location /install.conf {
alias /srv/tftpboot/install.conf;
}
location / {
deny all;
}
}
}
mode: "0644"
owner: root
group: "{{ ansible_wheel }}"
notify: Restart nginx

View file

@ -35,14 +35,6 @@ class "PXEClient" {
}
}
# kludge to try to detect openbsd installer
class "OpenBSD" {
match if not exists vendor-class-identifier and not exists user-class;
next-server 172.20.20.10;
filename "auto_install";
}
subnet 172.20.20.0 netmask 255.255.252.0 {
default-lease-time 86400;
max-lease-time 604800;