freebsd:freebsd
Differences
This shows you the differences between two versions of the page.
| freebsd:freebsd [2023/08/29 10:43] – created - external edit 127.0.0.1 | freebsd:freebsd [2025/02/14 12:36] (current) – azman | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== FreeBSD Experience ====== | ====== FreeBSD Experience ====== | ||
| - | This page is about my experience using [[https:// | + | **new** |
| - | //**Note**: Since I have decided to stick with Linux for now, I will be gearing my FreeBSD | + | ====== Getting |
| - | // | + | {{page> |
| - | ====== FreeBSD | + | ====== |
| - | My installation notes... | + | {{page> |
| - | //**Note**: When using VirtualBox on a Linux host, make sure the virtual machine is **NOT** using Intel HD Audio! It creates an ' | + | ====== Managing FreeBSD ====== |
| - | ===== Getting FreeBSD ===== | + | {{page> |
| - | The official way to do this is, of course, to [[https:// | + | ====== Tweaking FreeBSD ====== |
| - | ===== Standard Installation ===== | + | {{page> |
| - | Latest: Installing | + | ====== Extra FreeBSD |
| - | ==== Base System ==== | + | {{page> |
| - | + | ||
| - | * fresh install using memstick image file | + | |
| - | * install kernel and base only | + | |
| - | * added my main user account to {// | + | |
| - | * for desktop use, all users need to be in //video// or //wheel// | + | |
| - | * so normal users should be in //video// group | + | |
| - | * normal users should also be in // | + | |
| - | * enable sshd, enable ntpdate(on-boot), | + | |
| - | + | ||
| - | ==== Desktop (GUI) ==== | + | |
| - | + | ||
| - | * use binary package management tool '' | + | |
| - | * by default, even that is not installed... ^_^ | + | |
| - | * install x server < | + | |
| - | * install desktop environment < | + | |
| - | * enable stuffs in ''/ | + | |
| - | hald_enable=" | + | |
| - | dbus_enable=" | + | |
| - | gdm_enable=" | + | |
| - | gnome_enable=" | + | |
| - | * desktop environment requires procfs - insert into ''/ | + | |
| - | proc /proc | + | |
| - | * enable sound in ''/ | + | |
| - | snd_driver_load=" | + | |
| - | * enable switching virtual consoles during X session, edit ''/ | + | |
| - | * reduce auto-boot delay, edit ''/ | + | |
| - | * **VBOX** install virtualbox additions < | + | |
| - | * **VBOX** enable virtualbox start script, edit ''/ | + | |
| - | vboxguest_enable=" | + | |
| - | vboxservice_enable=" | + | |
| - | * **VBOX** disable host time synchronization, | + | |
| - | vboxservice_flags=" | + | |
| - | + | ||
| - | ==== Utility ==== | + | |
| - | + | ||
| - | - install useful stuffs | + | |
| - | * avahi & multicast dns < | + | |
| - | * enable avahi daemon in ''/ | + | |
| - | avahi_daemon_enable=" | + | |
| - | * modify the '' | + | |
| - | hosts: files dns mdns</ | + | |
| - | * network manager < | + | |
| - | * configure doas - create ''/ | + | |
| - | permit nopass keepenv :wheel cmd netcardmgr | + | |
| - | permit nopass keepenv :wheel cmd detect-nics | + | |
| - | permit nopass keepenv :wheel cmd detect-wifi | + | |
| - | permit nopass keepenv :wheel cmd ifconfig | + | |
| - | permit nopass keepenv :wheel cmd service | + | |
| - | permit nopass keepenv :wheel cmd wpa_supplicant</ | + | |
| - | + | ||
| - | ==== Application ==== | + | |
| - | + | ||
| - | * development < | + | |
| - | * console multitasking < | + | |
| - | * office & browser < | + | |
| - | + | ||
| - | ==== User Account ==== | + | |
| - | + | ||
| - | * by default root shell is csh and user is sh - edit .shrc to get prettier prompt< | + | |
| - | PS1=" | + | |
| - | * (IF using slim) to enable x environment after slim login, create '' | + | |
| - | exec / | + | |
| - | + | ||
| - | ===== Custom Installation ===== | + | |
| - | + | ||
| - | ==== Network Configuration ==== | + | |
| - | + | ||
| - | //**Note** DHCP client is dhclient - simply run '' | + | |
| - | + | ||
| - | 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, use '' | + | |
| - | * for normal wired connection (e.g. re0), add to '/ | + | |
| - | * for a wireless connection (e.g. ath0), add in < | + | |
| - | ifconfig_wlan0=" | + | |
| - | * for a secured wireless connection (e.g. WPA protected), add in < | + | |
| - | ifconfig_wlan0=" | + | |
| - | network={ | + | |
| - | ssid=" | + | |
| - | psk=" | + | |
| - | }</ | + | |
| - | * not sure why but '' | + | |
| - | * from official handbook, do '' | + | |
| - | * to start up and scan, do '' | + | |
| - | * or just scan, do '' | + | |
| - | + | ||
| - | ==== Graphics ==== | + | |
| - | + | ||
| - | Driver for ASUS E5450 Graphics Card (based on Radeon 5450?) | + | |
| - | + | ||
| - | * install driver < | + | |
| - | * to load on startup, edit ''/ | + | |
| - | + | ||
| - | For Intel Graphics (Asus H81M-K Motherboard) | + | |
| - | + | ||
| - | * install driver < | + | |
| - | * to load on startup, edit ''/ | + | |
| - | * install something? (for kernel?) < | + | |
| - | * some older ones require '' | + | |
| - | + | ||
| - | ==== Server ==== | + | |
| - | + | ||
| - | Web Server (Apache) | + | |
| - | + | ||
| - | * find apache package(s) < | + | |
| - | * install apache package(s) < | + | |
| - | * to load on startup, edit ''/ | + | |
| - | * default document path is ''/ | + | |
| - | + | ||
| - | Server Script (PHP) | + | |
| - | + | ||
| - | * find php package(s) < | + | |
| - | * install php package(s) < | + | |
| - | * configure ''/ | + | |
| - | < | + | |
| - | DirectoryIndex index.php index.html | + | |
| - | < | + | |
| - | SetHandler application/ | + | |
| - | </ | + | |
| - | < | + | |
| - | SetHandler application/ | + | |
| - | </ | + | |
| - | </ | + | |
| - | * copy template configuration file ''//# | + | |
| - | + | ||
| - | Database (mysql/ | + | |
| - | + | ||
| - | * install package(s) < | + | |
| - | * to load on startup, edit ''/ | + | |
| - | * by default, it listens to remote request at port 3306. to check:< | + | |
| - | # lsof -i4 -i6 | + | |
| - | # sockstat -4 -6</ | + | |
| - | * to allow local access only, edit ''/ | + | |
| - | * now, to make sure all is okay:< | + | |
| - | # lsof -i4 -i6 | grep mysql | + | |
| - | # netstat -an | grep 3306 | + | |
| - | # sockstat -4 -6 | grep 3306</ | + | |
| - | + | ||
| - | ===== Offline Installation ===== | + | |
| - | + | ||
| - | //**Note**: Need to test this... :-P// | + | |
| - | + | ||
| - | * Get the desired packages on a FreeBSD machine with internet connection< | + | |
| - | # mkdir / | + | |
| - | # pkg fetch -d -o / | + | |
| - | * '' | + | |
| - | * '' | + | |
| - | * Copy those files to a portable USB drive | + | |
| - | * On the target machine, copy everything to / | + | |
| - | * Then, do a < | + | |
| - | * '' | + | |
| - | + | ||
| - | ===== USB Thumb-Drive Installation ===== | + | |
| - | + | ||
| - | I want to try to install to a USB thumb-drive... from my FreeBSD virtual machine (VirtualBox). I have a 16GB USB3 Kingston Data Traveller drive, and already installed FreeBSD 12 on a virtual machine. | + | |
| - | + | ||
| - | To prepare the drive layout, checkout [[freebsd: | + | |
| - | + | ||
| - | - plug in usb drive | + | |
| - | * find device name (i.e. /dev/???) | + | |
| - | * usually da0 is the first usb drive? | + | |
| - | + | ||
| - | - refer to [[https:// | + | |
| - | + | ||
| - | //to be continued...// | + | |
| - | + | ||
| - | ===== Dual-Boot on UEFI Systems ===== | + | |
| - | + | ||
| - | Find '' | + | |
| - | + | ||
| - | ====== FreeBSD Maintenance ====== | + | |
| - | + | ||
| - | Maintaining the system... | + | |
| - | + | ||
| - | ===== System Upgrade/ | + | |
| - | + | ||
| - | For example, upgrading 10.1-RELEASE to 10.2-RELEASE< | + | |
| - | + | ||
| - | Then run < | + | |
| - | + | ||
| - | To update within a release, do a < | + | |
| - | + | ||
| - | **Hint** hit ' | + | |
| - | + | ||
| - | ===== Package Upgrade/ | + | |
| - | + | ||
| - | Install package < | + | |
| - | + | ||
| - | Delete package < | + | |
| - | + | ||
| - | Update catalogue < | + | |
| - | + | ||
| - | Upgrade software < | + | |
| - | + | ||
| - | List installed packages < | + | |
| - | + | ||
| - | Remove all packages and start over < | + | |
| - | + | ||
| - | Clean all package cache < | + | |
| - | + | ||
| - | Remove orphaned package(s)? < | + | |
| - | + | ||
| - | If pkg installation quits due to size mismatch or something, < | + | |
| - | pkg clean | + | |
| - | rm -rf / | + | |
| - | pkg update -f</ | + | |
| - | + | ||
| - | ===== Using ports system ===== | + | |
| - | + | ||
| - | Will most probably need these at some point... | + | |
| - | + | ||
| - | To get it, < | + | |
| - | + | ||
| - | To update, < | + | |
| - | + | ||
| - | To manage, use '' | + | |
| - | + | ||
| - | ===== Using portmaster ===== | + | |
| - | + | ||
| - | To build portmaster, < | + | |
| - | + | ||
| - | To setup portmaster, < | + | |
| - | # cp / | + | |
| - | # ee / | + | |
| - | + | ||
| - | To update all ports < | + | |
| - | + | ||
| - | To search updates < | + | |
| - | + | ||
| - | To cleanup < | + | |
| - | + | ||
| - | To remove port < | + | |
| - | + | ||
| - | To rebuild port < | + | |
| - | + | ||
| - | Dumping ground - from portmaster man page... | + | |
| - | < | + | |
| - | Build a port locally but use packages for build dependencies, | + | |
| - | the build dependencies when finished: | + | |
| - | | + | |
| - | + | ||
| - | | + | |
| - | | + | |
| - | + | ||
| - | | + | |
| - | | + | |
| - | + | ||
| - | | + | |
| - | | + | |
| - | 1. portmaster -aD | + | |
| - | 2. portmaster --clean-distfiles | + | |
| - | </ | + | |
| - | + | ||
| - | ===== Minor Tweaks ===== | + | |
| - | + | ||
| - | - 'git log' output does not show colorized output | + | |
| - | * can see the escape sequence | + | |
| - | * so, as user, type < | + | |
| - | + | ||
| - | ====== Useful Stuffs ====== | + | |
| - | + | ||
| - | ===== Creating Disk Layout for Bootable USB ===== | + | |
| - | + | ||
| - | {{page> | + | |
| - | + | ||
| - | ===== Label for Partitions/ | + | |
| - | + | ||
| - | 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,< | + | |
| - | + | ||
| - | To check if assigned,< | + | |
| - | + | ||
| - | For swap,< | + | |
| - | + | ||
| - | To check if assigned,< | + | |
| - | + | ||
| - | Then, /etc/fstab entry can be like,< | + | |
| - | / | + | |
| - | / | + | |
| - | </ | + | |
| - | + | ||
| - | ===== Disk Utility '' | + | |
| - | + | ||
| - | Show partition | + | |
| - | + | ||
| - | < | + | |
| - | + | ||
| - | Resize partition | + | |
| - | + | ||
| - | < | + | |
| - | + | ||
| - | Not really gpart stuff, but don't forget to grow FS to fit new size | + | |
| - | + | ||
| - | < | + | |
| - | + | ||
| - | ===== 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 / | + | |
| - | </ | + | |
| - | + | ||
| - | ===== Install on SSD ===== | + | |
| - | + | ||
| - | //**Note:** Generally, it seems that this is no longer an issue - some just did a normal install and have no problems at all. But, I want to put this here anyways.// | + | |
| - | + | ||
| - | Creating partitions (from: https:// | + | |
| - | + | ||
| - | < | + | |
| - | # gpart create -s gpt ada0 | + | |
| - | # gpart add -t freebsd-boot -s 1m -a 4k -l ssdboot ada0 | + | |
| - | # gpart bootcode -b /boot/pmbr -p / | + | |
| - | + | ||
| - | # gpart add -t freebsd-ufs -l ssdroot -b 1m -s 4g ada0 | + | |
| - | # gpart add -t freebsd-ufs -l ssdvarfs -a 1m -s 2g ada0 | + | |
| - | # gpart add -t freebsd-ufs -l ssdusrfs -a 1m ada0 | + | |
| - | + | ||
| - | # newfs -U -t / | + | |
| - | # newfs -U -t / | + | |
| - | # newfs -U -t / | + | |
| - | </ | + | |
| - | + | ||
| - | create fstab (save as / | + | |
| - | + | ||
| - | < | + | |
| - | # Device Mountpoint FStype Options Dump Pass# | + | |
| - | / | + | |
| - | / | + | |
| - | / | + | |
| - | tmpfs / | + | |
| - | </ | + | |
| - | + | ||
| - | ====== FreeBSD on RasPi400 ====== | + | |
| - | + | ||
| - | * got FreeBSD13 arm64 aarch64 image | + | |
| - | * write to microsd card | + | |
| - | * boot issue | + | |
| - | * ok if boot from usb (note: starting pi4, usb boot is possible!) | + | |
| - | * need to update u-boot binary (look for that in forum) | + | |
| - | * console display is not ok when using on tv (high res?) | + | |
| - | * edit config.txt and comment out hdmi_safe=1 | + | |
| - | + | ||
| - | going for dwm | + | |
| - | * pkg install libX11 libXft libXinerama | + | |
| - | * pkg install git | + | |
| - | + | ||
| - | //work in progress...// | + | |
freebsd/freebsd.1693276983.txt.gz · Last modified: by 127.0.0.1
