Table of Contents
FreeBSD Tweaks
Maybe useful to some…
ZeroConf
- avahi & multicast dnspkg install -y avahi-app nss_mdns 
- enable avahi daemon inrc.conf:avahi_daemon_enable="YES" 
- modify thehosts:line innsswitch.conf:hosts: files dns mdns 
User Account
- by default root shell is csh and user is sh - edit .shrc to get prettier promptPS1="`whoami`@\H:\w\$ " 
- (IF using slim) to enable x environment after slim login, create~/.xinitrcfor each user:exec /usr/local/bin/mate-session 
Git
- 'git log' output does not show colorized output- can see the escape sequence
- so, as user, typegit config --global core.pager "ls -r" 
 
Network Configuration
Note DHCP client is dhclient - simply run dhclient <interface> when booting to console and using something like USB tethering.
Configure (wireless) network interface (in case was not done during installation)
- FreeBSD has network interface name - based on the driver name (e.g. sis, re)- to find this, usepciconf -lv
 
- for normal wired connection (e.g. re0), add to 'rc.conf'ifconfig_re0="DHCP" 
- for a wireless connection (e.g. ath0), add inwlan_ath0="wlan0" ifconfig_wlan0="DHCP" 
- for a secured wireless connection (e.g. WPA protected), add inwlan_ath0="wlan0" ifconfig_wlan0="WPA SYNCDHCP" also, append '/ etc/wpa_supplicant.conf' network={ ssid="the_ssid" psk="the_psk" }
- not sure why butwlan0was not auto-created?- from official handbook, doifconfig wlan0 create wlandev ath0
- to start up and scan, doifconfig wlan0 up scan
- or just scan, doifconfig wlan0 list scan
 
Graphics
Driver for ASUS E5450 Graphics Card (based on Radeon 5450?)
- install driverpkg install -y xf86-video-ati 
- to load on startup, editrc.conf:kld_list="radeonkms" 
For Intel Graphics (Asus H81M-K Motherboard)
- install driverpkg install -y xf86-video-intel 
- to load on startup, editrc.conf:kld_list="i915kms" 
- install something? (for kernel?)pkg install -y drm-kmod - some older ones requiredrm-fake-kmodinstead
 
Web Server
Web Server (Apache)
- find apache package(s)pkg search apache2 | grep -e "^apache2" 
- install apache package(s)pkg install -y php56 mod_php56 php56-mbstring php56-mcrypt php56-zlib php56-curl php56-gd php56-json 
- to load on startup, editrc.conf:apache24_enable="YES" 
- default document path is/usr/local/www/apache24/data/
Server Script (PHP)
- find php package(s)pkg search php5 | grep -e "^php5" 
- install php package(s)pkg install -y apache24 
- configure/usr/local/ etc/apache24/Includes/php.conf:<IfModule dir_module> DirectoryIndex index.php index.html <FilesMatch "\.php$"> SetHandler application/x-httpd-php </FilesMatch> <FilesMatch "\.phps$"> SetHandler application/x-httpd-php-source </FilesMatch> </IfModule>
- copy template configuration file# cp /usr/local/ etc/php .ini-production /usr/local/ etc/php .ini
Data-base (mysql/mariadb)
- install package(s)pkg install mariadb103-server mariadb103-client php56-mysqli 
- to load on startup, editrc.conf:mysql_enable="YES" 
- by default, it listens to remote request at port 3306. to check:# lsof -i4 -i6 # sockstat -4 -6 
- to allow local access only, editrc.conf:mysql_args="--bind-address=127.0.0.1" 
- now, to make sure all is okay:# lsof -i4 -i6 | grep mysql # netstat -an | grep 3306 # sockstat -4 -6 | grep 3306 
Label for Partitions/Slices
This is nice to have in / etc/ fstab when device assignment may change (e.g. usb drive on different machine may be assigned differently)
For ufs,
# tunefs -L <label> /dev/da0p?
To check if assigned,
# ls /dev/ufs
For swap,
# glabel label <label> /dev/da0p?
To check if assigned,
# ls /dev/label
Then, / etc/ fstab entry can be like,
/dev/label/<label> none swap sw 0 0 /dev/ufs/<label> / ufs rw 1 1
Disk Utility ''gpart''
Show partition
# gpart show
Resize partition
# gpart resize -i 3 da0
Not really gpart stuff, but don't forget to grow FS to fit new size
# growfs /dev/da0p3
Access to Linux ExtFS
At the moment, full R/W access for Ext2, Journal-less for Ext3 and R/O for Ext4.
# kldload ext2fs # mount -t ext2fs /dev/<slice> <mount-path>
Creating Disk Layout for Bootable USB
Using GPT
- freebsd_gpt_disk_layout.txt
- creating disk layout (gpt) for freebsd - assuming disk is da0 (change accordingly for other designation) 0- clean existing partitions/slices # gpart destroy -F da0 (manual op) find total sector count using diskinfo # diskinfo -v da0 backup/secondary gpt table is at the last 34 sector # echo '<total> - 34' | bc <offset> # dd if=/dev/zero of=/dev/da0 bs=512 seek=<offset> 1- create gpt and bios boot scheme # gpart create -s gpt da0 da0 created # gpart add -t freebsd-boot -l gpboot -b 40 -s 1004K da0 da0p1 added # gpart bootcode -b /boot/pmbr -p /boot/gptboot -i 1 da0 partcode written to da0p1 bootcode written to da0 2- create efi partition # gpart add -t efi -l gpefiboot -s 127M da0 da0p2 added # newfs_msdos /dev/da0p2 ... 3- copy efi binary # mount -t msdosfs /dev/da0p2 /mnt # mkdir -p /mnt/EFI/BOOT # cp /boot/boot1.efi /mnt/EFI/BOOT/ # umount /mnt 4- create partition/slice for root and swap # gpart add -t freebsd-ufs -l gprootfs -s 14G da0 da0p3 added # gpart add -t freebsd-swap -l gpswap da0 da0p4 added 5- format/prepare fs for root # newfs -U /dev/da0p3 
Using MBR (just in case… :p)
- freebsd_mbr_disk_layout.txt
- # gpart create -s mbr da0 # gpart bootcode -b /boot/mbr da0 # gpart add -t freebsd da0 # gpart set -a active -i 1 da0 # gpart create -s bsd da0s1 # gpart bootcode -b /boot/boot da0s1 
