summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2018-08-13 22:22:02 +0300
committerLars Wirzenius <liw@liw.fi>2018-08-13 22:22:02 +0300
commit495e3c6cc60efb770a6b64ff02fc9ce6fc1e2e9b (patch)
treedb3629e7ceaa46fd883532a54e4911806f6a7974
downloadv-i-495e3c6cc60efb770a6b64ff02fc9ce6fc1e2e9b.tar.gz
Add: initial vmdb and the Ansible playbook it uses
This isn't ready yet, but it boots, and it configured network, and Finnish keyboard.
-rw-r--r--v-i.vmdb82
-rw-r--r--v-i.yml52
2 files changed, 134 insertions, 0 deletions
diff --git a/v-i.vmdb b/v-i.vmdb
new file mode 100644
index 0000000..59dd57b
--- /dev/null
+++ b/v-i.vmdb
@@ -0,0 +1,82 @@
+# This is a vmdb2 input file that builds a bootable image that can run
+# vmdb2, using UEFI. This can be used to install Debian onto a real
+# system.
+
+steps:
+ - mkimg: "{{ output }}"
+ size: 4G
+
+ # - mklabel: gpt
+ # device: "{{ output }}"
+
+ # - mkpart: primary
+ # device: "{{ output }}"
+ # start: 0%
+ # end: 1G
+ # part-tag: efi-part
+
+ # - mkpart: primary
+ # device: "{{ output }}"
+ # start: 1G
+ # end: 100%
+ # part-tag: root-part
+
+ # - mkfs: vfat
+ # partition: efi-part
+
+ - mklabel: msdos
+ device: "{{ output }}"
+
+ - mkpart: primary
+ device: "{{ output }}"
+ start: 0%
+ end: 100%
+ part-tag: root-part
+
+ - mkfs: ext4
+ partition: root-part
+
+ - mount: root-part
+ fs-tag: root-fs
+
+ - unpack-rootfs: root-fs
+
+ - debootstrap: unstable
+ mirror: http://deb.debian.org/debian
+ target: root-fs
+ unless: rootfs_unpacked
+
+ - apt: install
+ packages:
+ - linux-image-amd64
+ fs-tag: root-fs
+ unless: rootfs_unpacked
+
+ - cache-rootfs: root-fs
+ unless: rootfs_unpacked
+
+ - apt: install
+ packages:
+ - python
+ - console-setup
+ - locales-all
+ - ifupdown
+ - vmdb2
+ - git
+ - ssh
+ - gnupg
+ - ansible
+ fs-tag: root-fs
+
+ - ansible: root-fs
+ playbook: v-i.yml
+
+ - grub: bios
+ root-fs: root-fs
+ root-part: root-part
+ device: "{{ output }}"
+
+ # - grub: uefi
+ # root-fs: root-fs
+ # root-part: root-part
+ # efi-part: efi-part
diff --git a/v-i.yml b/v-i.yml
new file mode 100644
index 0000000..ac1205e
--- /dev/null
+++ b/v-i.yml
@@ -0,0 +1,52 @@
+# Ansible playbook to install stuff for v-i.
+# TODO:
+# - maybe install iwlwifi firmware?
+# - install liw-openpgp.pub and a gpg config to use my Yubikey
+
+
+- hosts: image
+ tasks:
+
+ - name: "set /etc/hostname"
+ shell: |
+ echo "{{ hostname }}" > /etc/hostname
+
+ - name: "unset root password"
+ shell: |
+ sed -i '/^root:[^:]*:/s//root::/' /etc/passwd
+
+ - name: "configure keyboard layout"
+ copy:
+ content: |
+ XKBMODEL="pc105"
+ XKBLAYOUT="fi"
+ XKBVARIANT=""
+ XKBOPTIONS=""
+ BACKSPACE="guess"
+ dest: /etc/default/keyboard
+
+ - name: "configure console"
+ copy:
+ content: |
+ ACTIVE_CONSOLES="/dev/tty[1-6]"
+ CHARMAP="UTF-8"
+ CODESET="Lat15"
+ FONTFACE="Fixed"
+ FONTSIZE="8x16"
+ VIDEOMODE=
+ dest: /etc/default/console-setup
+
+ - name: "set default LC_TYPE for all users"
+ shell:
+ echo export LC_CTYPE=fi_FI.UTF8 >> /etc/profile.d/finnish.sh
+
+ - name: "configure networking"
+ copy:
+ content: |
+ auto eth0
+ iface eth0 inet dhcp
+ iface eth0 inet6 auto
+ dest: /etc/network/interfaces.d/wired
+
+ vars:
+ hostname: v-i