VoidLinuxInstaller/README.md

69 lines
2.5 KiB
Markdown
Raw Normal View History

2022-07-05 21:42:36 +03:00
# VoidLinuxInstaller script
2022-07-18 17:21:23 +03:00
The **VoidLinuxInstaller script** is an attempt to make [my gist](https://gist.github.com/Le0xFF/ff0e3670c06def675bb6920fe8dd64a3) an interactive bash script.
2022-07-05 21:42:36 +03:00
2022-07-18 17:21:23 +03:00
As stated in the gist, this script provides:
2022-07-18 17:26:34 +03:00
- Full Disk Encryption (including `/boot`) with LUKS;
2022-07-18 17:21:23 +03:00
- Logic Volume Management (LVM);
2022-07-18 17:26:34 +03:00
- Separated `/home` partition;
2022-07-18 17:21:23 +03:00
- BTRFS as filesystem.
2022-07-18 17:26:34 +03:00
- Trim on SSD;
2022-07-05 21:42:36 +03:00
2022-07-18 17:21:23 +03:00
All of this is accomplished with the following steps:
1. Changing keyboard layout;
2. Checking internet connection;
3. Wiping a user choosen drive;
2022-07-18 17:26:34 +03:00
4. Partitioning a user choosen drive;
5. Encrypting a user choosen drive;
6. Applying LVM;
7. Formatting partitions to proper filesystems;
8. Creating BTRFS subvolumes;
9. Installing base system;
10. Chrooting.
This script comes from my need to automate my gist as much as I can, and also as a way to learn Bash scripting as well. *This is my first Bash script ever created so bugs, errors and really ugly code are expected!*
I've tried this script a lot with virtual machines and following every step always brought me to a functional system, so there should be no problem from this point of view!
2022-07-18 17:21:23 +03:00
Pull requests are absolutely welcome!
2022-07-18 17:51:24 +03:00
## How to run it
Using wget to download the needed files:
``` bash
wget https://raw.githubusercontent.com/Le0xFF/VoidLinuxInstaller/main/VoidLinuxInstaller.sh -O $HOME/VoidLinuxInstaller.sh
2022-07-18 20:24:40 +03:00
wget https://raw.githubusercontent.com/Le0xFF/VoidLinuxInstaller/main/chroot.sh -O $HOME/chroot.sh
2022-07-18 17:51:24 +03:00
```
or curl if you prefer:
``` bash
curl -o $HOME/VoidLinuxInstaller.sh https://raw.githubusercontent.com/Le0xFF/VoidLinuxInstaller/main/VoidLinuxInstaller.sh
curl -o $HOME/chroot.sh https://raw.githubusercontent.com/Le0xFF/VoidLinuxInstaller/main/chroot.sh
```
then make them executable:
``` bash
chmod +x $HOME/*.sh
```
and finally run it:
``` bash
bash $HOME/VoidLinuxInstaller.sh
```
2022-07-18 17:23:29 +03:00
## Notes
2022-07-18 17:21:23 +03:00
If you are going to use snapper and [snapper-gui](https://github.com/ricardomv/snapper-gui), it probably will complain about `.snapshots` folder already present.
To avoid that, please use [this reference from the Arch Wiki](https://wiki.archlinux.org/title/Snapper#Configuration_of_snapper_and_mount_point).
2022-07-05 21:42:36 +03:00
2022-07-18 17:23:29 +03:00
## Resources
2022-07-05 21:42:36 +03:00
2022-07-18 17:23:29 +03:00
[1] https://tldp.org/LDP/Bash-Beginners-Guide/html/index.html
[2] https://gist.github.com/tobi-wan-kenobi/bff3af81eac27e210e1dc88ba660596e
[3] https://gist.github.com/gbrlsnchs/9c9dc55cd0beb26e141ee3ea59f26e21
2022-07-18 17:21:23 +03:00
[4] https://unixsheikh.com/tutorials/real-full-disk-encryption-using-grub-on-void-linux-for-bios.html