# FreeBSD system installer



## tOsYZYny (Nov 5, 2020)

Hi,

I'm requesting some feedback for the install scripts here:









						GitHub - walterjwhite/freebsd-installer
					

Contribute to walterjwhite/freebsd-installer development by creating an account on GitHub.




					github.com
				











						GitHub - walterjwhite/install
					

Contribute to walterjwhite/install development by creating an account on GitHub.




					github.com
				












						GitHub - walterjwhite/freebsd-example
					

Contribute to walterjwhite/freebsd-example development by creating an account on GitHub.




					github.com
				





https://github.com/walterjwhite/install provides a helper to install scripts into the filesystem.


```
git clone github.com/walterjwhite/install

cd install

cp app-* /usr/local/sbin
```

https://github.com/walterjwhite/freebsd-installer is used to modify an existing FreeBSD USB UFS image with the install scripts.  It is installed onto the USB thumbdrive by:


```
git clone https://github.com/walterjwhite/freebsd-installer

cd freebsd-installer



mount /dev/da0s2a /mnt/usb

ROOT=/mnt/usb app-install

umount /mnt/usb
```

One you have prepared your USB thumbdrive, you will boot up to that then install FreeBSD:


```
NET=<network device> DEV=ada0 DEV_NAME=<DEV_NAME, ie. SAMSUNG_256.1> HOSTNAME=<hostname for machine>\

GIT=github.com/walterjwhite/freebsd-example BRANCH=master
```

https://github.com/walterjwhite/freebsd-example provides a sample configuration for what the freebsd installer will do:
1. add packages - contents in here will be installed via freebsd pkg
2. boot loader  - add contents to /boot/loader.conf
3. chmod        - change permissions on files (and dirs)
4. chown        - change owner/group on files (and dirs)
5. downloads    - download files (and optionally verify them)
6. extract      - extract (downloaded) files
7. files        - place contents into the ROOT fs
8. fstab        - modify the fstab
9. go           - install go cmds
10. groups      - create groups
11. links       - create symlinks
12. rc          - configure /etc/rc.conf
13. run         - run script in chroot
14. sysctl      - configure /etc/sysctl.conf
15. users       - create users


----------

