Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rgl/flatcar-linux-vagrant
This builds a Vagrant flatcar-linux Base Box
https://github.com/rgl/flatcar-linux-vagrant
flatcar flatcar-linux packer vagrant
Last synced: 3 months ago
JSON representation
This builds a Vagrant flatcar-linux Base Box
- Host: GitHub
- URL: https://github.com/rgl/flatcar-linux-vagrant
- Owner: rgl
- Created: 2020-06-09T22:34:50.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-09-22T07:22:30.000Z (over 1 year ago)
- Last Synced: 2024-10-11T07:16:26.802Z (3 months ago)
- Topics: flatcar, flatcar-linux, packer, vagrant
- Language: Shell
- Homepage:
- Size: 20.5 KB
- Stars: 4
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
This builds a Vagrant [Flatcar Container Linux `flatcar-linux`](https://www.flatcar.org/) Base Box.
# Usage
Install [Packer (1.6+)](https://www.packer.io/) and [Vagrant (2.2.9+)](https://www.vagrantup.com/).
If you are on a Debian/Ubuntu host, you should also install and configure the NFS server. E.g.:
```bash
# install the nfs server.
sudo apt-get install -y nfs-kernel-server# enable password-less configuration of the nfs server exports.
sudo bash -c 'cat >/etc/sudoers.d/vagrant-synced-folders' <<'EOF'
Cmnd_Alias VAGRANT_EXPORTS_CHOWN = /bin/chown 0\:0 /tmp/*
Cmnd_Alias VAGRANT_EXPORTS_MV = /bin/mv -f /tmp/* /etc/exports
Cmnd_Alias VAGRANT_NFSD_CHECK = /etc/init.d/nfs-kernel-server status
Cmnd_Alias VAGRANT_NFSD_START = /etc/init.d/nfs-kernel-server start
Cmnd_Alias VAGRANT_NFSD_APPLY = /usr/sbin/exportfs -ar
%sudo ALL=(root) NOPASSWD: VAGRANT_EXPORTS_CHOWN, VAGRANT_EXPORTS_MV, VAGRANT_NFSD_CHECK, VAGRANT_NFSD_START, VAGRANT_NFSD_APPLY
EOF
```For more information see the [Vagrant NFS documentation](https://www.vagrantup.com/docs/synced-folders/nfs.html).
## qemu-kvm usage
Install qemu-kvm:
```bash
apt-get install -y qemu-kvm
apt-get install -y sysfsutils
apt-get install -y rng-tools
systool -m kvm_intel -v
```Type `make build-libvirt` and follow the instructions.
Try the example guest:
```bash
cd example
apt-get install -y virt-manager libvirt-dev
vagrant plugin install vagrant-libvirt # see https://github.com/vagrant-libvirt/vagrant-libvirt
vagrant up --provider=libvirt --no-destroy-on-error
vagrant ssh
exit
vagrant destroy -f
```# Packer boot_command
The following table describes the steps used to install flatcar-linux.
**NB** This Packer `boot_command` method of installation is quite brittle, if you are having trouble installing, try increasing the install wait timeout.
| step | boot_command |
|---------------------------------------:|------------------------------------------------------------------------------|
| switch to root | `sudo -i` |
| configure the shell to abort on error | `set -eu` |
| download the ignition configuration | `wget -q http://{{.HTTPIP}}:{{.HTTPPort}}/tmp/ignition.json` |
| install to disk | `time flatcar-install -d /dev/sda -C stable -i ignition.json` |
| wait 3m for the installation to finish | `` |
| reboot to the installed system | `reboot` |# Reference
* [Installing Flatcar Container Linux to disk](https://www.flatcar.org/docs/latest/installing/bare-metal/installing-to-disk/)
* [Configuration Specification](https://www.flatcar.org/docs/latest/provisioning/config-transpiler/configuration/)