UFSの備忘録 % Home / Categories

手动安装FreeBSD

Created 2018-05-20 / Updated 2022-11-22

清空磁盤分區信息:

root # gpart destroy -F ada0

(如果提示「gpart: arg0 ‘xxx’: Invalid argument」,可無視,直接進入下一步)

創建GPT分區:

root # gpart create -s GPT ada0

根據需要添加分區,依次是:引導分區、/、home、swap:

root # gpart add -a 4k -s 512k -t freebsd-boot ada0
root # gpart add -a 4k -s 10G -t freebsd-ufs ada0
root # gpart add -a 4k -s 60G -t freebsd-ufs ada0
root # gpart add -a 4k -s 256M -t freebsd-swap ada0
root # gpart add -a 4k -t freebsd-ufs ada0

(用-a 4k指定4k對齊,-s指定分區大小,不指定則使用剩餘全部空間,-t指定分區類型。)

格式化分區:

root # newfs -U /dev/ada0p2
root # newfs -U /dev/ada0p3

(添加-U選項以啟用soft updates,不然寫入大文件的速度會很慢。如果使用的是SSD,可以加上-t選項開啟TRIM)

挂載根分區:

root # mount /dev/ada0p2 /mnt

新建home目錄並挂載home分區:

root # mkdir /mnt/home
root # mount /dev/ada0p3 /mnt/home

激活swap分區:

root # swapon /dev/ada0p4

設置LANG:

root # setenv LANG "en_GB.UTF-8"

到FreeBSD的服務器上下載base.txz和kernel.txz這兩個壓縮包,然後解壓到新系統的根目錄:

root # tar xvpf base.txz -C /mnt
root # tar xvpf kernel.txz -C /mnt

各種配置(請根據自己的情況修改):

root # vi /mnt/etc/fstab
/dev/ada0p2  /  ufs  rw  0 1
/dev/ada0p3  /home  ufs  rw,noatime  0 2
/dev/ada0p4  none  swap  sw  0 0
tmpfs  /tmp  tmpfs  rw,size=256m,mode=1777  0 0

root # vi /mnt/etc/rc.conf
hostname="freebsd"
defaultrouter="192.168.0.1"
ifconfig_re0="inet 192.168.0.10/24"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"
powerd_enable="YES"

root # vi /mnt/boot/loader.conf
hint.acpi_throttle.0.disabled="0"
hint.p4tcc.0.disabled="0"
drm.i915.enable_rc6=7
hw.pci.do_power_nodriver=3
hw.snd.latency=7

root # vi /mnt/etc/sysctl.conf
kern.coredump=0

root # vi /mnt/etc/resolv.conf
nameserver 8.8.8.8
nameserver 8.8.4.4

(如果提示「vi: No terminal database found」,可用這個方法解決):

# cp /mnt/usr/share/misc/termcap* /usr/share/misc/

chroot進入新系統:

root # mount -t devfs devfs /mnt/dev
root # chroot /mnt

設置時區:

(chroot) root # tzsetup

設置root的密碼:

(chroot) root # passwd

設置LANG:

(chroot) root # vi /etc/login.conf
default:\
:...:\
:charset=UTF-8:\
:lang=en_GB.UTF-8:

(chroot) root # cap_mkdb /etc/login.conf

添加用戶:

(chroot) root # adduser

(記得將用戶加入到wheel組,不然su無法取得root權限。)

写入bootcode与partcode:

(chroot) root # gpart bootcode -b /boot/pmbr ada0
(chroot) root # gpart bootcode -p /boot/gptboot -i 1 ada0

完成安裝:

(chroot) root # exit

root # umount /mnt/home
root # umount /mnt/dev
root # umount /mnt
root # swapoff /dev/ada0p4

重新啟動:

root # shutdown -r now

參考:

Categories: [FreeBSD]