|
Guides All Guides and HOWTO's. |
|
Thread Tools | Display Modes |
|
||||
HOWTO: Modern FreeBSD Install (vermaden way)
All these years sysinstall(8) was helping us to install FreeBSD with most options we needed, today with new filesystems/features like GJournal/ZFS/Geli/GMirror/GStripe its no longer up to the task, because it only supports creating installation on UFS filesystem with SoftUpdates turned ON or OFF.
In this guide you will learn how to setup FreeBSD installation in simple yet flexible setup based on read-only UFS (without SoftUpdates) for 'base system' [1], some SWAP space, /tmp mounted on SWAP and all the other filesystems (/var /usr ...) mounted on ZFS. It will not require rebuilding anything, just simple setup on plain MBR partitions. I should also mention that we would be using AHCI mode for disks. I also provided two versions, for system with one harddisk and with three of them for redundant setup. Here is the layout of the system with 1 harddisk: Code:
MBR SLICE 1 | / | 512 MB | UFS/read-only | SWAP | 2 GB | | /tmp | 512 MB | mounted on SWAP with mdmfs(8) ------------+------+--------------------------------------- MBR SLICE 2 | /usr | REST | ZFS dataset | /var | REST | ZFS dataset Code:
MBR SLICE 1 | / | 512 MB | UFS/read-only ------------+------+--------+------------------------------ MBR SLICE 2 | SWAP | 1 GB | | /tmp | 512 MB | mounted on SWAP with mdmfs(8) ------------+------+--------+------------------------------ MBR SLICE 3 | /usr | REST | ZFS dataset | /var | REST | ZFS dataset Code:
[ DISK0 ] [ DISK1 ] [ DISK2 ] [ / ] < RAID1 > [ / ] < RAID1 > [ / ] [ SWAP0 ] [ SWAP1 ] [ SWAP2 ] [ Z ] < RAID5 > [ F ] < RAID5 > [ S ] You will need *-dvd-* disk or *-memstick-* image for this installation, *-disk1-* will not do since it does not contain livefs system. Here is the procedude, described as simple as possible. 1.0. I assume that our disk for the installation would be /dev/ad0 (/dev/ad0 /dev/ad1 /dev/ad2 for system with 3 disks) 1.1. Boot *-dvd-* from DVD disk or *-memstick-* image from pendrive 1.2. Create your temporary working environment 1.3. Load needed modules 1.4. Create/mount needed filesystems 1.5. Actually install needed FreeBSD sets 1.6. Provide basic configuration needed to boot new system 1.6.1. 1.6.1. 1.7. Unmount filesystems and reboot Now lets talk things you will need to do after reboot. 2.0. At boot loader select boot into single user mode 4. Boot FreeBSD in single user mode2.1. Login as root without password 2.2. Set root password 2.3. Set hostname 2.4. Set timezone and date/time 2.4.1 Generate the newaliases(8) database 2.5. Tune the ZFS filesystem (only for i386) 2.6. Mount /tmp on SWAP 2.7. Move termcap into /etc (instead of useless link on crash) 2.8. Add latest security patches 2.9. Make all changes to configuration in /etc, then set / to be mounted read-only in /etc/fstab 2.10. Reboot and enjoy modern install of FreeBSD system To summarise, this setup provides us these things: -- bulletproof 'base system' [1] on UFS (w/o SU) mounted read-only CHANGELOG 1.0 / 2010-01-14 / initial version 1.1 / 2010-01-15 / simplified PATH +fixit# setenv PATH /mnt2/rescue:/mnt2/usr/bin1.2 / 2010-01-15 / added link for termcap (instead of duplicate on /etc and /usr) [2.6.] .# rm /etc/termcap1.3 / 2010-01-21 / removed unneeded mount commands [2.0.] -# zfs mount basefs/var1.4 / 2010-03-08 / added setup for 3 disks + cleanup too much to fit here, we can as well call this new version RELOADED1.5 / 2011-07-08 / added subsection: 2.4.1 Generate the newaliases(8) database MIRROR THREAD: http://forums.freebsd.org/showthread.php?t=10334 POLISH VERSION: http://bsdguru.org/dyskusja/viewtopic.php?t=19392
__________________
religions, worst damnation of mankind "If 386BSD had been available when I started on Linux, Linux would probably never had happened." Linus Torvalds Linux is not UNIX! Face it! It is not an insult. It is fact: GNU is a recursive acronym for “GNU's Not UNIX”. vermaden's: links resources deviantart spreadbsd Last edited by vermaden; 8th July 2011 at 10:19 AM. |
|
||||
Personally Vermaden, I think I would call sysinstall a more the modern installation method. Unless you want to look at the 'Installing and Operating 4.4BSD UNIX' docs from the old System Managers Manual, and wonder what moron ever started to write sysinstall; no offence intended fwiw.
This thread reminds me of when one of my friends upgraded to FreeBSD 8 as a fresh install: he was annoyed to see how much work it was to set up a pure ZFS based system was compared to UFS, and sited ZFS as not "Production ready" on FreeBSD because of sysinstall. Then I reminded him that it's as production ready as FAT --> sysinstall uses the recommended defaults, if you don't like it, then it's YOUR problem to sort out the details, just like the rest of a real unix system.
__________________
My Journal Thou shalt check the array bounds of all strings (indeed, all arrays), for surely where thou typest ``foo'' someone someday shall type ``supercalifragilisticexpialidocious''. |
|
|||
Quote:
Good work and it's actually good timing for me. I'm planning to try FreeBSD 8 with ZFS on my i386 machine in a few days and I think I'll use your guide. Thanks! |
|
||||
@bmk1st
Thanks, fixed. Switching from Linux?
__________________
religions, worst damnation of mankind "If 386BSD had been available when I started on Linux, Linux would probably never had happened." Linus Torvalds Linux is not UNIX! Face it! It is not an insult. It is fact: GNU is a recursive acronym for “GNU's Not UNIX”. vermaden's: links resources deviantart spreadbsd |
|
|||
No, I switched from Linux a long time ago. I'm an OpenBSD user since 3.4 and once in a while, I toyed with FreeBSD. FreeBSD was actually my first BSD (4.6 I think). I want to try it again because I'm interested in using ZFS. I have a 2.0 Ghz P4 machine sitting around and I've decided to put FreeBSD on it and use it as development & backup machine. All for fun.
|
|
||||
I have added a section on how to create redundant setup with 3 disks and improved/simplified overall process.
__________________
religions, worst damnation of mankind "If 386BSD had been available when I started on Linux, Linux would probably never had happened." Linus Torvalds Linux is not UNIX! Face it! It is not an insult. It is fact: GNU is a recursive acronym for “GNU's Not UNIX”. vermaden's: links resources deviantart spreadbsd |
|
|||
Complicated for me as a noob, but I am sure I will get it some day
Thanks for this tuto. |
|
||||
After FreeBSD 8.1-RELEASE has been released, we can now upgrade our ZPOOL(s) to newer (v13 --> v14) version, below You will find simple way to achieve that.
First check what is currently on You system: Code:
# uname -m -r 8.1-RELEASE amd64 # zfs get version basefs NAME PROPERTY VALUE SOURCE basefs version 3 - # zpool list -o version VERSION 13 Code:
# zpool upgrade This system is currently running ZFS pool version 14. The following pools are out of date, and can be upgraded. After being upgraded, these pools will no longer be accessible by older software versions. VER POOL --- ------------ 13 basefs Use 'zpool upgrade -v' for a list of available versions and their associated features. # zpool upgrade basefs This system is currently running ZFS pool version 14. Successfully upgraded 'basefs' from version 13 to version 14 # zfs upgrade This system is currently running ZFS filesystem version 3. All filesystems are formatted with the current version. Code:
# zpool list -o version VERSION 14
__________________
religions, worst damnation of mankind "If 386BSD had been available when I started on Linux, Linux would probably never had happened." Linus Torvalds Linux is not UNIX! Face it! It is not an insult. It is fact: GNU is a recursive acronym for “GNU's Not UNIX”. vermaden's: links resources deviantart spreadbsd |
|
|||
Man do I have a lot left to learn about BSD
|
|
|||
I once was told that "a thread lives forever". I'm not into ZFS but your thread sent me on my way to learn how to do more things manually because technology is moving forward and if something throws me off I'll know how to handle it, manually. Wouldn't it not be great to re-find your thread one morning in the year 2020 and someone added advanced technology using your idea or simply wanted to say Thanks.
Thanks July 10, 2011 |
|
||||
@sharris
Thank You mate, I appreciate it. I should also mention that a lot of that credit should also go to corey_james and his thread (http://www.daemonforums.org/showthread.php?t=1538) which also helped me. Pity corey_james hasn't been active on our forums for more then 2 years now
__________________
religions, worst damnation of mankind "If 386BSD had been available when I started on Linux, Linux would probably never had happened." Linus Torvalds Linux is not UNIX! Face it! It is not an insult. It is fact: GNU is a recursive acronym for “GNU's Not UNIX”. vermaden's: links resources deviantart spreadbsd |
Tags |
ahci, gjournal, install, lodaer.conf, rc.conf, setup, swap, sysinstall, termcap, tmp, tmpmfs, zfs |
Thread Tools | |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
HOWTO: Install and configure NVIDIA drivers on FreeBSD | tangram | Guides | 2 | 29th March 2009 08:23 PM |
HOWTO: Install and setup MLDonkey on FreeBSD | tangram | Guides | 0 | 7th January 2009 05:13 PM |
HOWTO: Always install an up-to-date port | chris | Guides | 8 | 28th May 2008 11:53 AM |