freebsd_install_on_zfs_lite
freebsd-install-on-zfs-lite
FreeBSD. Installing a FreeBSD system on the root with ZFS from MfsBSD running in rescue mode.
Feel free to share your feedback and report issues.
Contributions are welcome.
Synopsis
This role acts as a runner for a single gozfs.sh
script.
(That's why there is lite
in the role name too)
The role expects MfsBSD as standard
to be already running on the remote host (mini
is an insufficient set of packages, se
is oversized by the FreeBSD archives).
The role installs the python2 package and uploads the script gozfs.sh
to host.
If you really need to create a ZFS pool with block devices with a block of 512 bytes, then use the gozfs_512b.sh
script.
The script does the following:
- clears the disks specified in the script arguments.
- creates a ZFS pool and partition structure.
- unpacks FreeBSD archives from the specified FTP/http/https host.
- makes initial network settings and starts
sshd
. - downloads ssh keys (you will have to provide your http/https addresses).
- sets the password
root
/mfsroot123
(you can set your own password in the script arguments). Then the role itself will reboot the remote host on its own.
Variables
See the defaults/main.yml
and examples in vars.
Workflow
- Install the role
shell> ansible-galaxy role install click0.freebsd_install_on_zfs_lite
- Look variables, e.g. in
defaults/main.yml
You can override them in the playbook and inventory.
- Create playbook and inventory
shell> cat install_freebsd_in_mfsbsd.yml
- hosts: MfsBSD_server
gather_facts: false
vars:
# fiozl_mfsbsd_version: '12.2' # or 12
# fiozl_hostname: 'YOURHOSTNAME'
# fiozl_iface_list: 'vtnet0 fxp0 em0'
# fiozl_hostname: 'vb-12-3.2' # test name for DHCP # look Inventory
roles:
- click0.freebsd-install-on-zfs-lite
Commented options you may need.
shell> cat hosts
[MfsBSD_server]
<MfsBSD_server-ip-or-fqdn>
[MfsBSD_server:vars]
executable = /usr/local/bin/bash
ansible_shell_type = csh
ansible_python_interpreter=/usr/bin/python2
# ansible_ssh_common_args='-o ProxyCommand="ssh -W %h:%p -q my-bastion-host"'
# or
# ansible_ssh_common_args='-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null'
Dependencies
None.
Further use
You may need another role that runs MfsBSD through a Linux host grub.
License
BSD 3-Clause
Author:
- Vladislav V. Prodan
<github.com/click0>
🤝 Contributing
Contributions, issues and feature requests are welcome!
Feel free to check issues page.
Show your support
Give a ⭐ if this project helped you!
FreeBSD. Initial installation of the system on the ZFS root.
ansible-galaxy install click0/ansible-freebsd-install-on-zfs-lite