====== Information ======
* FreeBSD
* 15.1
* RELEASE (([[https://www.freebsd.org/releases/15.1R/announce/|Announcement]]))
* Kraityn = Raspberry Pi 4 Model B Rev 1.5 ([[bsd:notes:rpi4_15.1|notes]])
uname -aKU
FreeBSD Kraityn 15.1-RELEASE FreeBSD 15.1-RELEASE releng/15.1-n283562-96841ea08dcf GENERIC arm64 1501000 1501000
====== Download ======
* https://download.freebsd.org/releases/ISO-IMAGES/15.1/
FreeBSD-15.1-RELEASE-arm64-aarch64-RPI.img.xz
====== Installation Notes ======
===== Partitioning =====
* 64GB SD Card
DEVICE MAJ:MIN SIZE TYPE LABEL MOUNT
mmcsd0 0:78 59G MBR - -
-:- 993K - - -
mmcsd0s1 0:79 59G fat32lba msdosfs/EFI /boot/efi
mmcsd0s2 0:80 59G BSD gpt/freebsd -
-:- 64K - - -
mmcsd0s2a 0:83 53G freebsd-ufs ufs/rootfs /
mmcsd0s2b 0:84 5.9G freebsd-swap label/growfs_swap SWAP
-:- 2.0M - - -
====== Initial Set-up ======
* Continue from ''ssh''
* Log-in as ''freebsd''
===== passwd =====
* :!: Change ''freebsd'' user password
passwd
===== Time Sync =====
su -
ntpd -g -q
===== bsdconfig =====
su -
bsdconfig
===== Update =====
su -
pkg update -f
pkg upgrade
sync && shutdown -r 'now'
====== Software ======
===== General =====
su -
pkg install fastfetch en-freebsd-doc htop libressl
===== Specs =====
* [[bsd:notes:misc#hw-probe]]
clear && fastfetch -l 'freebsd_small' && uname -aKU && date
ssh '192.168.1.152' -t 'clear && fastfetch -l 'freebsd_small' && uname -aKU && date'
"%SystemRoot%\System32\OpenSSH\ssh.exe" -o "StrictHostKeyChecking='no'" -o "UserKnownHostsFile='NUL'" "192.168.1.152" -t "clear && fastfetch -l 'freebsd_small' && uname -aKU && date"
====== Settings ======
===== Hostname =====
su -
echo '127.0.0.1 Kraityn' | tee -a '/etc/hosts' > '/dev/null'
===== loader.conf =====
==== Kraityn ====
su -
ee '/boot/loader.conf'
# Configure USB OTG; see usb_template(4).
hw.usb.template=3
umodem_load="YES"
# Multiple console (serial+efi gop) enabled.
boot_multicons="YES"
boot_serial="YES"
# Disable the beastie menu and color
beastie_disable="YES"
loader_color="NO"
security.bsd.allow_destructive_dtrace="0"
console="nullconsole"
autoboot_delay="0"
kernel="kernel.GENERIC-NODEBUG"
===== rc.conf =====
==== Kraityn ====
su -
ee '/etc/rc.conf'
clear_tmp_enable="YES"
syslogd_flags="-ss"
hostname="Kraityn"
ifconfig_genet0="inet 192.168.1.152 netmask 255.255.255.0 media 1000baseT mediaopt full-duplex,master"
defaultrouter="192.168.1.1"
sshd_enable="YES"
powerd_enable="YES"
moused_nondefault_enable="NO"
dumpdev="NO"
moused_enable="NO"
moused_type="NO"
saver="NO"
savecore_enable="NO"
ntpd_enable="YES"
ntpd_sync_on_start="YES"
mixer_enable="NO"
virecover_enable="NO"
virtual_oss_enable="NO"
nginx_enable="YES"
php_fpm_enable="YES"
vsftpd_enable="YES"
mysql_enable="YES"
samba_server_enable="YES"
=== Default ===
hostname="generic"
ifconfig_DEFAULT="DHCP inet6 accept_rtadv"
sshd_enable="YES"
growfs_enable="YES"
powerd_enable="YES"
dumpdev="AUTO"
===== sysctl.conf =====
==== Kraityn ====
su -
ee '/etc/sysctl.conf'
security.bsd.see_other_uids="0"
security.bsd.see_other_gids="0"
security.bsd.see_jail_proc="0"
security.bsd.unprivileged_read_msgbuf="0"
security.bsd.unprivileged_proc_debug="0"
kern.randompid="1"
kern.coredump="0"
==== Default ====
#security.bsd.see_other_uids=0
====== Tweaks ======
===== General =====
su -
mkdir -p '/usr/local/etc/profile.d' && echo "export LD_BIND_NOW='1'" | tee '/usr/local/etc/profile.d/general-tweaks.sh' > '/dev/null'
===== jemalloc =====
* [[https://man.freebsd.org/cgi/man.cgi?query=malloc.conf&apropos=0&sektion=0&manpath=FreeBSD+15.1-RELEASE&format=html|malloc.conf]]
su -
echo 'abort:false,confirm_conf:false,abort_conf:false,percpu_arena:phycpu,dirty_decay_ms:-1,muzzy_decay_ms:-1,stats_print:false,junk:false,zero:false,utrace:false,xmalloc:false,zero_realloc:free,trust_madvise:true,retain:true' | tee '/etc/malloc.conf' > '/dev/null'
===== fstab =====
su -
ee '/etc/fstab'
==== UFS ====
,noatime
====== Scripts ======
===== Updater =====
exit
mkdir -p ~/'.local/scripts' && ee ~/'.local/scripts/freebsd-updater.sh' && chmod +x ~/'.local/scripts/freebsd-updater.sh'
#!/bin/sh
'/usr/sbin/pkg' update -f
'/usr/sbin/pkg' upgrade -y
'/usr/sbin/pkg' autoremove -y
'/usr/local/bin/rsync' -a --no-times --checksum --checksum-choice='sha1' '/boot/loader.efi' '/boot/efi/EFI/BOOT/bootaa64.efi'
'/bin/sync'
'/sbin/shutdown' -r 'now' 'FreeBSD OS Updater'
# End
su 'root' -c ~/'.local/scripts/freebsd-updater.sh'
==== SSH TODO ====
"%SystemRoot%\System32\OpenSSH\ssh.exe" -o "StrictHostKeyChecking='no'" -o "UserKnownHostsFile='NUL'" "192.168.1.152" -t "su 'root' -c ~/'.local/scripts/freebsd-updater.sh'"
====== cron ======
===== Updater =====
* Daily ''06:00:00 AM'' (Kraityn)
su -
ee '/etc/cron.d/freebsd-updater'
#
SHELL=/bin/sh
0 6 * * * root '/home/espionage724/.local/scripts/freebsd-updater.sh'
# End
====== Notable Folders and Commands ======
* See [[bsd;notes;misc]]