packer: Initial packer config
This commit is contained in:
parent
ba7f0e9475
commit
5859e79c29
2
.gitignore
vendored
2
.gitignore
vendored
@ -4,7 +4,9 @@
|
||||
*.iso
|
||||
*.raw
|
||||
*.tar.gz
|
||||
*.box
|
||||
xbps-cache
|
||||
xbps-cachedir*
|
||||
stamps*
|
||||
!dracut/*/*.sh
|
||||
!packer/scripts/*.sh
|
||||
|
82
packer/http/autoinstall.cfg
Normal file
82
packer/http/autoinstall.cfg
Normal file
@ -0,0 +1,82 @@
|
||||
#!/bin/sh
|
||||
# Void Linux Automatic Install Configuration
|
||||
|
||||
# ===
|
||||
# Disk Configuration
|
||||
# ===
|
||||
# disk: the disk to install to
|
||||
# default: the first disk that isn't the installer
|
||||
#disk=/dev/hda
|
||||
|
||||
# bootpartitionsize: controls how large the boot partition will be
|
||||
# default: 500M
|
||||
#bootpartitionsize=500M
|
||||
|
||||
# swapsize: how large should the swap partition be
|
||||
# default: equal to the installed physical memory
|
||||
#swapsize=
|
||||
|
||||
# ===
|
||||
# XBPS Configuration
|
||||
# ===
|
||||
# xbpsrepository: which repo should the install pull from
|
||||
# default: http://repo.voidlinux.eu/current
|
||||
|
||||
# pkgs: additional packages to install into the target
|
||||
# default: none
|
||||
#pkgs=""
|
||||
|
||||
# ===
|
||||
# Default User
|
||||
# ===
|
||||
# username: the username of the user to be created
|
||||
# default: voidlinux
|
||||
username="vagrant"
|
||||
|
||||
# password: password to set for the new user
|
||||
# default: unset (will prompt during install)
|
||||
# Warning: This does not work in musl!
|
||||
password="vagrant"
|
||||
|
||||
# ===
|
||||
# Misc. Options
|
||||
# ===
|
||||
# timezone: Timezone in TZ format
|
||||
# default: America/Chicago
|
||||
#timezone="America/Chicago"
|
||||
|
||||
# keymap: Keymap to use by default
|
||||
# default: us
|
||||
#keymap
|
||||
|
||||
# locale: initial glibc locale
|
||||
# default: en_US.UTF-8
|
||||
#libclocale=en.US.UTF-8
|
||||
|
||||
# hostname: static hostname for the system
|
||||
# default: derived from DNS
|
||||
#hostname=VoidLinux
|
||||
|
||||
# end_action: what to do at the end of the install
|
||||
# default: shutdown
|
||||
# alternate values: reboot, script
|
||||
end_action=func
|
||||
|
||||
# end_script: script to optionally run at end of install
|
||||
# the user script must reside somewhere xbps-uhelper fetch
|
||||
# can retrieve it from
|
||||
# default: not set
|
||||
|
||||
end_function() {
|
||||
printf "Linking default services"
|
||||
chroot ${target} ln -s /etc/sv/dhcpcd /etc/runit/runsvdir/default/dhcpcd
|
||||
chroot ${target} ln -s /etc/sv/sshd /etc/runit/runsvdir/default/sshd
|
||||
|
||||
xbps-install -r ${target} -Sy dbus virtualbox-ose-guest
|
||||
|
||||
chroot ${target} ln -s /etc/sv/dbus /etc/runit/runsvdir/default/dbus
|
||||
chroot ${target} ln -s /etc/sv/vboxservice /etc/runit/runsvdir/default/vboxservice
|
||||
|
||||
sync
|
||||
reboot -f
|
||||
}
|
21
packer/scripts/vagrant.sh
Normal file
21
packer/scripts/vagrant.sh
Normal file
@ -0,0 +1,21 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Set up sudo
|
||||
echo '%vagrant ALL=(ALL) NOPASSWD:ALL' > /etc/sudoers.d/vagrant
|
||||
echo 'Defaults:vagrant !requiretty' >> /etc/sudoers.d/vagrant
|
||||
chmod 0440 /etc/sudoers.d/vagrant
|
||||
|
||||
gpasswd -d vagrant wheel
|
||||
|
||||
sudo xbps-install -Sy wget
|
||||
|
||||
# Installing vagrant keys
|
||||
mkdir /home/vagrant/.ssh
|
||||
chmod 700 /home/vagrant/.ssh
|
||||
cd /home/vagrant/.ssh
|
||||
wget --no-check-certificate 'https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub' -O authorized_keys
|
||||
chmod 600 /home/vagrant/.ssh/authorized_keys
|
||||
chown -R vagrant /home/vagrant/.ssh
|
||||
|
||||
# Install NFS for Vagrant
|
||||
xbps-install -Sy nfs-utils
|
51
packer/templates/vagrant-glibc64.json
Normal file
51
packer/templates/vagrant-glibc64.json
Normal file
@ -0,0 +1,51 @@
|
||||
{
|
||||
"variables": {
|
||||
"version": "{{env `RELEASE`}}"
|
||||
},
|
||||
"builders": [
|
||||
{
|
||||
"type": "virtualbox-iso",
|
||||
"vboxmanage": [
|
||||
["modifyvm", "{{.Name}}", "--nictype1", "virtio"]
|
||||
],
|
||||
"iso_url": "https://alpha.de.repo.voidlinux.org/live/20190217/void-live-x86_64-20190217.iso",
|
||||
"iso_checksum": "b6884f6ea435e242c29a5778ced7a1ce187cef2f07eb9543765064a1256030e9",
|
||||
"iso_checksum_type": "sha256",
|
||||
"boot_wait": "5s",
|
||||
"boot_command": [
|
||||
"<tab><wait>",
|
||||
"auto autourl=http://{{ .HTTPIP }}:{{ .HTTPPort }}/autoinstall.cfg",
|
||||
"<enter>"
|
||||
],
|
||||
"guest_os_type": "Linux_64",
|
||||
"http_directory": "http",
|
||||
"shutdown_command": "echo 'vagrant' | sudo -S shutdown -P now",
|
||||
"ssh_wait_timeout": "20m",
|
||||
"virtualbox_version_file": ".vbox_version",
|
||||
"guest_additions_mode": "disable",
|
||||
"ssh_username": "vagrant",
|
||||
"ssh_password": "vagrant"
|
||||
}
|
||||
],
|
||||
|
||||
"provisioners": [
|
||||
{
|
||||
"type": "shell",
|
||||
"script": "scripts/vagrant.sh",
|
||||
"execute_command": "echo 'vagrant' | {{.Vars}} sudo -E -S bash '{{.Path}}'"
|
||||
}
|
||||
],
|
||||
|
||||
"post-processors": [
|
||||
[
|
||||
{
|
||||
"type": "vagrant"
|
||||
},
|
||||
{
|
||||
"type": "vagrant-cloud",
|
||||
"box_tag": "voidlinux/glibc64",
|
||||
"version": "{{user `version`}}"
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user