diff --git a/installer-config.txt b/installer-config.txt deleted file mode 100755 index a246c37..0000000 --- a/installer-config.txt +++ /dev/null @@ -1,67 +0,0 @@ -#================================================================ -# Package installation -#================================================================ -preset=server -firmware_packages=1 -packages=nano,curl,htop,git,smartmontools,fail2ban,knockd,iptables,glusterfs-server,sed,iptables-persistent,rsync -#================================================================ - - - -#================================================================ -# Localisation -#================================================================ -keyboad_layout=us -locales=en_NZ.UTF-8 -timezone=Pacific/Auckland -system_default_locale=en_NZ.UTF-8 -#================================================================ - - - -#================================================================ -# Security hardening -#================================================================ -ssh_pwlogin=0 -root_ssh_pwlogin=0 - -# Provide an ssh public key -user_ssh_pubkey="ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC2t1GmNmhoV2WvrA5dKS9nhLlBExD949coqQnYnqvgQ7l+ODRXxifg8wcnp7PXTcs6CW3tlwA6W5LWMK5gtjNXfZH9jpMPD2m1p7koysoYmC2eMWREF+IN4dS1MsaL9VU1WrqolP3qbvI2WWmECrzA0xakDhAZXuIzl3HRng1YeQV8gi8YoG9Jm0ZXd+RMqxBGyUw1+O4o1NfFwQ9dIUNFRyUScl/yzQv0AfXqOi2IrdA5IpdtlpAZsD1cnB3kUFlluxaqCuXQKGO1wPo3wTh2Po+upCyMi2XXCakVXgRaIuBLvmZPYVMYlwbbDL0dMexhc+pccgJ3sE0JDzm1+oe2uY9pIIsnfrD6fzjN+JO0rbGtrWpERf0amIzJFj4i7zvPk4eY7OskYSInf7Qj5He8eLv0VBBxQc2ikDTPQtS/cIomLXA1tAsA1dqHNl438AHG4r4NaPNDAoRUql3BOYEZjyza5eV8b26Yw3s/x64g4oc0Zhoc6/UB7zmbou0a1w+oC1qXloJIYnYb6ntiaZKt5HLuUUP7V0WIMRco35Rt1NtaKKwqmo7z40VwvYPWTtaNwm3GFmMi9E603TudzuJB+katlfROXFOI/8Ks5S1juFAMcI+KVo0Ndl0G9iYRbZyrHB+HdxS1HVaWn4CTy9WCvQBHWB/cr1dnjVviqAZ0iw== james@james-ultrabook" -#================================================================ - - - -#================================================================ -# Setup my user -#================================================================ -username=james -userpw=[PASSWORD HERE] -userperms_admin=1 -usergpu=1 -rootpw=[PASSWORD HERE] -#================================================================ - - - -#================================================================ -# Optimise system power and ram usage -#================================================================ -gpu_mem=32 -cmdline="dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 elevator=deadline fsck.repair=yes cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory" -#================================================================ - - - -#================================================================ -# Configure networking -#================================================================ -hostname=rasp-worker2 -ifname=wlan0 -ip_addr=192.168.43.122 -ip_netmask=255.255.255.0 -ip_gateway=192.168.43.1 -ip_nameservers=1.1.1.1 -wlan_country=NZ -wlan_ssid="James Phone" -wlan_psk="[PASSWORD HERE]" -#================================================================ diff --git a/readme.org b/readme.org index 8d96657..b99fb10 100644 --- a/readme.org +++ b/readme.org @@ -47,22 +47,15 @@ To simplify the sd card creation process we can use the open source [[https://gi #+NAME: Download rpi-imager utility #+begin_src bash - echo Downloading latest release zip from github - curl -s https://api.github.com/repos/raspberrypi/rpi-imager/releases/latest \ +echo Downloading latest release zip from github +curl -s https://api.github.com/repos/raspberrypi/rpi-imager/releases/latest \ | grep "browser_download_url.*exe" \ | cut -d : -f 2,3 \ | tr -d \" \ | wget -O /mnt/c/Users/$USER/Downloads/imager.exe -i - - echo Checking file is now present - ls -l /mnt/c/Users/$USER/Downloads/imager.exe -#+end_src - -#+RESULTS: Download rpi-imager utility -#+begin_src bash -Downloading latest release zip from github -Checking file is now present --rwxrwxrwx 1 james james 19770592 Mar 30 07:00 /mnt/c/Users/james/Downloads/imager.exe +echo Checking file is now present +ls -l /mnt/c/Users/$USER/Downloads/imager.exe #+end_src With the software downloaded, let's fire it up the installer and get it setup. @@ -95,33 +88,18 @@ Once you've selected the operating system and sd card, click ~WRITE~. The proces ** Apply custom install configuration -Our next step after downloading the latest release is to apply our own installation configuration using a simple txt file. +Our next step after downloading the latest release is to apply our own installation configuration using a simple plain text [[https://cloud-init.io/][cloud-init]] file. -There is great documentation online showing what configuration options are available [[https://github.com/malignus/raspberrypi-ua-netinst/blob/master/doc/INSTALL_CUSTOM.md][here]]. +There is great documentation online showing what configuration options are available [[https://cloudinit.readthedocs.io/en/latest/topics/modules.html][here]]. -For our purposes we just over-write the file downloaded and extracted in the previous step with one we have prepared earlier :) +For our purposes we just over-write the default cloud init ~user-data~ file on our newly created sd card with a custom ~user-data~ from this repository. #+NAME: Overwrite installer configuration file #+begin_src tmate -echo Display wordcount of file after copy to validate update wordcount of original file for comparison -wc installer/raspberrypi-ua-netinst/config/installer-config.txt - echo Overwriting /installer/raspberrypi-ua-netinst/config/installer-config.txt cp installer-config.txt installer/raspberrypi-ua-netinst/config/ - -echo Display wordcount of file after copy to validate update -wc installer/raspberrypi-ua-netinst/config/installer-config.txt #+end_src -#+RESULTS: Overwrite installer configuration file -#+begin_example -Display wordcount of original file for comparison -3 23 157 installer/raspberrypi-ua-netinst/config/installer-config.txt -Overwriting /installer/raspberrypi-ua-netinst/config/installer-config.txt -Display wordcount of file after copy to validate update -67 85 2863 installer/raspberrypi-ua-netinst/config/installer-config.txt -#+end_example - ** Apply custom post install script diff --git a/user-data b/user-data new file mode 100755 index 0000000..bfa8720 --- /dev/null +++ b/user-data @@ -0,0 +1,43 @@ +#cloud-config + +# ================================================================== +# Add users to the system +# ================================================================== +users: + - name: james + gecos: James Blair + primary_group: james + groups: users, admin + ssh_authorized_keys: + - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCsYhu2xE5cxq+sA7bNyHjZUk9IHKXHsd58ZCFLfCHbK5nnWLgJwxFnF1NzBylyOJviJ2v54VYQoXvsWLTbehlyH/kqJS8icmo0iu2mUFcp09n/3NcGw2BJefwMbK+mofxBBR78RRNI8DG3yk7Apa19BrLpFWaL/VljGidgR61WhPH7FbXjTh5NuQR494LG3yBRn16yIPNN+xZhf0TW7uoVCiSr77kFELgrTqjpPyoYiYLZZdKqJZ7PDgOEcLq5oDEZfYME8sGRPyufGByH7tnK9fgFaZ9wW747wTNN2naUIhCNzJLxKgr8fMMRBXuqeUjk+5/EzxGFXjxE+4a+dhD51OO5mSN1ctG/061HIQjJwZ2Zk6CACypBEv6nLVREaMqKQtcEPPooZ2SK4SdiMtwC8XLCZ6wRQDVskMentI1uy3bbCwV9AG0auiLA3sfbyKI8093p5NLsLEiR+BScu4/tLx7kzPetl89QOKzTI60GXzBaSnBXhAtQTijZZFrOGbQ1NQ1deWb6pT8foOPOs3P2F0a4Y/nY/xlomBuNqTI48Vi8MZJjhTvAe8BF+Y7C8HlSaCZeH1DrnymkbLhpXvVH7Tuir/DLOyhrwnXqNuxpMyWsfy5UrTfe67GP2+jzriFxteTMbvZjmgbF2UDMYs5U59NaYPdAYxjwdzH5nHoIWw== james@james-desktop + sudo: ALL=(ALL) NOPASSWD:ALL +# ================================================================== + + + +# ================================================================== +# Add packages to the system +# ================================================================== +package_upgrade: true +packages: + - nano + - curl + - htop + - git + - smartmontools + - fail2ban + - knockd + - glusterfs-server + - sed + - rsync +# ================================================================== + + + +#================================================================ +# Localisation +#================================================================ +user-data: + timezone: Pacific/Auckland +locale: en_NZ +#================================================================