Topic: Learn FreeBSD 7 - Part 1 : Installation

Bismillahi rohman nir rohim,
Assalamu'alaikum wr. wb.

Learn FreeBSD 7
Part 1

This chapter will discuss some of the most important topics related to FreeBSD v7 installation - and their example screenshots.

Our goals in this chapter are to build a better (if not good) foundation in FreeBSD operating system administration in these specific areas :
1.Disk and file system management : target disks, partitions and file system format options.
2.Installation procedure (steps) and options : understanding POST output, installation wizard and options.
3.Post-installation configurations : networking and network services configuration, Root and additional user information.

This short tutorial was intended for any student who wants to learn basic computing in general, and  FreeBSD operating system in specific.

Preparation :
Although todays operating system (OS) has been heavily designed to be “user-friendly�  using animated Graphical User Interface (“regular desktop�  GUI) and mouse clicks, but to become a UNIX-based system users or system administrators candidates - we have to be well prepared to use the X-Windows GUI at a very minimum occasions - so we have to be familiar with command line interface (CLI) which is a text-based console for system operations/administration.

What is a Console?
Some introduction to basic computing :
In basic computing (probably in other activities as well) - we have some terms called INPUT and OUTPUT - for short I/O. In physical computing (that is the hardware - the physical – the touchable part of computer-related things) - any INPUT can be in form of your keyboard - mouse - scanner - finger print devices etc. All of those give your computer (or let us say : CPU plus Operating System) some INPUT to be process. The result - we called OUTPUT - can be in form of your screen display eg. your mouse is moving around the screen as you move your mouse device, you see letters on the screen as you type - your printed paper etc.

Then what is a Console :
A console is your computer software environment where you can perform certain task/jobs. A console can be in text-based mode or CLI (Command Line Interface) where you do your task/jobs by typing a bunch of commands as INPUT on the screen to be process - and you'll see the OUTPUT on that screen also, or it can be in animated Graphical User Interface (or GUI) where you give INPUT by using mouse clicks.

Just relax and enjoy – InsyaAlloh, its not that hard if we learn it step-by-step.

References :
Our must to read reference for this study is the FreeBSD handbook - available for online reading or for download at

Learn path :
Our FreeBSD 7 installation learning path basically will be divide by 3 stages :
pre-install stage :
will covers about Virtual Machine (VM) settings, POST, and some other pre-install related     materials.

installation stage :
this stage is the most important part that will cover about sysinstall menu and options, creating fdisk     partitions, MBR, creating BSD partitions (system layout), choosing distribution, ports, install source,     etc.

post-install stage :
covers about network configuration (NIC setting, system hostname, IP address/subnets and     gateway) , system services (inetd, SSH, FTP, NFS), Linux binary compatibility, packages, and other     post-install related materials, and some examples from console screenshots.

Requirement :
Our basic requirements for this lab are :
FreeBSD 7 operating system image (CD or DVD) – that you can download from the FreeBSD website : <source> . Its about 550MB per CD download (there are 3 main CDs), and we require at least CD #1 to be able to install the base OS.

A virtual machine (VM) with at least 8GB hard drive and 512MB physical memory (RAM) - and at least equipped with 1 network interface card (NIC) for FreeBSD networking.

What is a Virtual Machine?
A virtual machine (VM – or VM Server to be exactly) is a computer software installed on our computer that enables us to emulate another operating system (called VM guest) inside our computer (VM guest OS is not necessarily the same OS as the VM host) – just like having 1, 2 or more computers (along with its hard disks, memory/RAM, mouse, screen etc) on a single physical machine, but its a virtual – its a software emulation.

You can use any free or paid version of VM, just make sure it does support our target operating system   (FreeBSD) by referring to your VMs website – and do read its manual on how-to create and use a VM. For this lab – I'm using a VMware Server 1.0.5     under Linux Ubuntu 7.10 on a P4 @ 1,7GHz with 1GB of RAM machine.

Download link :
VMware Server :
VMware Server manual :
Linux Ubuntu :

I. Pre-Installation stage.

Virtual Machine (VM) Settings
Below is my VMware Server VM guest setting so you can take a look at it for a VM starter :

Note for picture above :
I'm using IDE controller for any hard disk (ATA) or cdrom on my virtual machine (that is on my virtual mainboard of course).

IDE controller 0 - 0 holding my 8GB IDE-ATA hard disk
IDE controller 1 - 0 for my IDE cdrom player

What is IDE controller?

Introduction to disks controller and disks :
What is a disk controller?
A disk controller is a small computer system interface (please not to confuse with other “SCSI�  term – its only an approach to disk controller explanation – even though there is real SCSI device) which installed on our computer mainboard to govern/manage any communication to and from our computer hard drives.

There are (currently) 2 main types of disk controller and disks member :
1.IDE-ATA (Integrated Drive Electronics AT-Attachment) controller or PATA (Parallel-ATA) : uses 40 pins cable connector, regular disks for home/desktop computer. In FreeBSD, any IDE-ATA disks attached to system will have their name start with an “ad#�  - where     “#�  represents your disks number eg. ad0, ad1, ad2 and so forth.

2.SCSI (Small Computer System Interface) controller : uses 50 (older SCSI) or 68 (newer version) pins for internal connector, common expensive disks for more advanced computer like server hardware platform. In FreeBSD, any internal SCSI disk will have their name starts with an “sd#�  where “#�  represents     your disks number eg. sd0, sd1, sd2 and so forth.

And there are newer controller such as SATA (Serial-ATA), and so on. Usually – commonly – there are 2 disk controllers exist on our home/desktop computer mainboard named eg. IDE#0 and IDE#1, but for the SCSI controller usually only 1. Details about target disk, partitions and partition format will be discussed later on Part ???

OK, let us start.

Our FreeBSD OS installation steps as follow :
1.Booting the target machine for installation .
2.Choosing sysinstall - "standard" installation option .
3.Creating “fdisk�  primary partition for the target disks.
4.Installing the Boot Manager for the OS.
5.Creating a basic FreeBSD system layout for "/" and "swap file" partitions (UNIX disks slices).
6.Choosing OS install distribution : with or without X-Windows GUI.
7.Installing ports for the OS
8.Choosing OS installation media and sources.
9.Running the installation process
10.Post-install options (NIC configuration, additional software and services installation, and user administration).

1. Booting the virtual machine from FreeBSD installation cdrom.

As usual, insert our FreeBSD installation cdrom media to our computer cdrom player - configure the virtual machine guest to boot from the cdrom player and turn on our virtual machine guest. Please refer to your virtual machine documentation on how to boot from the cdrom player - if you are using VMware Server : press [ESC] button when entering BIOS POST screen at machine start-up - and pick boot from cdrom.

As you can see, after you press the [ESC] button while system reboot (when we were still at BIOS screen) – you can choose which driver the system to boot from. There are some options eg. whether you want to boot the system using removable devices such as from floppy drive, nor you want to boot from the hard drive or cdrom as usual, and to boot from the network. Since we were just beginning – we pick to boot from cdrom drive.

The installer will then begin to take POST (Power On Self Test) – probing (detecting) any devices connected to our computer such as how much physical memory (both Read-Only Memory/ROM and Random Access Memory/RAM) the computer has, how many disk controller and hard drives, cdrom attached, network adapters (NICs), USBs,  parallel and serial port devices etc.

POST screenshot.

An introduction to understanding POST output.

POST function :
The main function of POST in FreeBSD (aside from checking any particular hardware devices existence) is that the FreeBSD system will map those devices found on system boot to "/dev" directory - so any system software (or application) that needs to communicate to any hardware/devices in the computer be able to first check their (hardware/devices) existence and their naming (mapping) in that "/dev" directory - then followed up by communicate using device drivers and system kernel as the language interpreter (and signal control).

Introduction to inter-process communication (IPC) :
Our computer system consist of 2 main part : Software part – the higher part (eg. operating system, or user applications) and the lower-part – hardware. And there is a layer (a bridge) in between those 2 – called  “kernel�  that manage software and hardware resources inside our computer.

What is a device drivers?
A device drivers is a low-level software/application that has been build using a low-level programming language – that act as an interpreter (or as a higher bridge) for higher-level software language (user applications) to talk to any hardware inside the system.

What is a kernel?
Kernel is simply as a bridge for any software to communicate with any hardware/devices. Its an environment that translate higher command language (software : the OS or user applications) to a lower command language (hardware) : signaling control for both software and hardware.

Every operating system regardless their name, type/model and size - will have their kernel - can be either fully developed from scratch kernel nor a derived (as derivative) work one.

The introduction to a basic computing and system environment will be discussed on the next chapter.

The POST full message will be recorded (logged) by the system to a file "/var/log/messages" or "/var/run/dmesg.boot" - you can always view your POST output by running "dmesg" command which contains any messages that has been recorded/logged by the system from any software or hardware accidents such as disk (or hardware) failures, system malfunctions etc.

Below is an example of “dmesg�  CLI command output :

//picture later

As you can see from some POST output (dmesg) – I have 2 IDE-ATA devices : ad0 (my IDE hard drive) attached to ATA0-0 controller (connector master bus), and acd0 (my cdrom) at ATA1-0, my floppy drive is at fdc0, and so forth as you browse it.

FeeBSD boot option.
After the POST – there is FreeBSD boot option screen asking which boot method would you like to perform.
//dont confuse with boot manager.
//POST 1 and 2


Country Selection.
After you have picked the default (“1� ) boot option, and If all the tests succeeded then an installation screen will appear asking in which country are you reside? I think it should be clear enough for us to answer the question, just pick your country  by using keyboard [up-down] arrow and using [TAB] key to jump between options, and press [ENTER] key when you are done.

Why do we need to pick this Country Selection?
This Country Selection option is to provide a system local environment – which is a programming environment that help support/provide your country, region, language, date, time and so on.

Above picture shows us an installation screen example, and how we should navigate between options.

Introduction to install time keyboard navigation and options selections.
Excerpt from sample screenshot above, in FreeBSD, our whole installation process will be conduct using a text-based GUI console. In order to be able to use the installation wizard – we have to understand how we navigate and to select between options.

Here are some keyboard key that mostly used :
[UP-DOWN] arrow    to navigate up-down the options.
[SPACE BAR] key    to select/unselect options.
[TAB] key        to jump between options.
[ENTER] key        to confirm your answer to “OK�  or “Cancel�  button – and go to the next step.

Precaution :
please make sure you review your options selections correctly since any mistakes can lead to a fatal results.

System console keymap.

II. Installation stage.

2. “sysinstall�  - the FreeBSD installation wizard.

As we have review previously on how to use the keyboard navigation/selection, now we are entering the main FreeBSD installation screen which will be guided by an installation wizard called “sysinstall� . Before that, please don't forget to read the instruction on the upper screen, and the “Doc�  section from the installation options.

Introduction to “sysinstall�  - the FreeBSD installation wizard.
sysinstall screen presents us some options to be select as telling the installation wizard what to do. Each options has its own function and process (please read the “Index�  section from installation options to understand the installation options function), but to be easy to understand – let us divide these options into commonly used categories :
installation :


Configuration :

troubleshooting :

OK, now that you have understood some of sysinstall options – we move on to the installation steps. Since we were only beginning – we choose the “Standard�  installation option, and press [ENTER] to confirm, and after that a screen message warning you to perform an fdisk disk partitions – please read the instruction carefully since this will be our most important installation section.

Press [ENTER] to continue.

3. Creating “fdisk�  basic disk partitions.

Introduction to “fdisk�  disk partitioning software.
To create basic primary partitions on hard drive

As I already mentioned earlier – on POST process, all hardware/devices that attached to the system will be recorded - mapped and named into “/dev�  directory inside the system to be use by the OS and user applications – including our disk controllers and hard disks. In this “fdisk�  disk partitioning process our 1 and only disk will be mapped to the system as ad0, and our cdrom as acd0. Please, do read my previous disk controllers and POST explanations – as this is an important installation theory and procedures to be understand.

Below is the FDISK partition editor screen :

Please take a good observation to some of fdisk partition editor screen output eg. Disk Name (stated ad0 – it means that my single disk has been correctly recognized by the fdisk partitioning software as IDE-ATA disk and its online), Disk size (8191MB or simply 8GB – read from the disk geometry). Explanation about disk later ???

The most important part from the screen is the disk description of “unused�  - it simply means that I have a blank “new�  disk. So our next step is obvious : to create at least an fdisk partition to be use by the system layout. Explanation about system layout later ???

The fdisk related command are on the lower screen – do read them carefully. Here are some of the most important command :
A    to use the whole disk and make it as a single partition.
C    to create a user defined size partition.
D     to delete any existing partitions.
U    to undo any committed changes.
S    to set the disk as bootable disk.
Q    to confirm your fdisk created partition and quit the fdisk application.
F    DD (disk-druid) mode : graphical partitioning version.
| (“|�  as in “pipe�  key)    to make a partition using fdisk wizard.
For now – we use the “C�  option to create a user defined size partition :

As we can see from the prompt – it presents us with a default value of the whole disk : 16777216 block that equals to 8191MB or 8GB. You can modify its value according to your need either by using size in blocks unit or size in Megabyte (MB) unit. For now – since it was a small disk, we use the whole disk. Press [ENTER] to confirm. Explanation about disk later ???

Later, we need to provide which partition label should be applied to our newly created partition. As a native BSD partition – we label it with the number 165 (BSD partition).

In some area of this fdisk partition editor – we occasionally read the word “slice�  - for this specific fdisk partition editor area only - let us skip this “slice�  wording and change it to “basic partition� . Explanation will follow later ???

To label the partition as native BSD partition press [ENTER], after that let us review the fdisk partitioning result :

As you can see – now we have a basic partition on ad0 named “ad0s1�  - uses partition type of 165 (BSD partition) and has 8GB in size. “ad0s1�  basically tells us the first partition on disk 0.

4. Installing the FreeBSD Boot Manager.
What is a Boot Manager?
Boot Manager is a small software which executed at system boot time, and enables us to pick a boot option eg. which OS to boot (if we are in a dual-boot system), which boot method to be used eg. Default operating system or in single user mode or for troubleshooting mode etc.

For the most part – usually, any Boot Manager should be installed on the MBR of a hard drive so it may function correctly otherwise it will have no function at all. Since we were only in a lab and not having a dual-boot scenario – we pick the “BootMgr�  option to install the Boot Manager at hard drives MBR, and press [ENTER] to confirm.

Boot Manager and MBR Precaution!!!
If you are in a physical machine (eg. not in a VM) while you perform this FreeBSD installation (or in a dual-boot scenario) - and want to make/write any changes to MBR - make sure you know what you are doing or otherwise none of your operating system will boot up. So, be careful.


5.Creating a basic FreeBSD system layout for "/" and "swap" partitions (UNIX disks slices).
As usual – we need to install any operating system on a formatted partition. That is very true. But, unlike other OS which format a basic partition for the OS installation – the FreeBSD (and Sun Solaris OS) needs to create more partitions inside a basic partition (disk slice) to be formatted later for system layout.

Introduction to UNIX disk slice :
what is disk slice?
Disk slice is more like partitions (independent rooms) inside a primary partition with their own fixed size. On some UNIX-based OS (like SunOS and FreeBSD) – we format our file systems in this partitions (disk slice). So, don't get confuse with primary partition (or even basic directories) like in other OS.

To enable the FreeBSD auto-layout – just press “A�  - for observation, here it is :

Now, as you can see our ad0s1 partition now having another partitions inside of it named : ad0s1a, ad0s1b, ad0s1c and so forth, their associated mount point : “/� , “swap� , “/var� , “/tmp� , “/usr� , and their own associated file system : UFS2 or swap.

What is that ad0s1a, ad0s1b and the like - thing?
UNIX Disk slice explanation continue :
As I have explained previously – dont get confuse with our previous basic fdisk partitions. Those trailing “a, b, c and so forth�  after ad0s1 are called disk slices. The “ad0s1a�  simply means the first slice inside first partition on IDE disk #0 – and so on for the rest.

What is a mount point?
A mount point is simply a link to which directory where some files systems or other directories be the member of eg. Our mounted cdrom will be on “/cdrom�  directory.

What is “/� , “swap� , “/var�  and the like – thing?
Introduction to a basic system layout :
“/�  or “ROOT�   is the main directory inside the system that act as a container to other directories eg. “/var� , “/tmp� , “/usr�  and so forth (that is if we are not separating those other directories partitions – or those other directories reside on the same partition as “/�  or “ROOT� ). Its more like “C:\�  directory inside Microsoft Windows OS which contains “WINNT�  or “WINDOWS�  directory, “Program Files� , “Documents and Settings�  etc..

Introduction to swap.
What is swap?
Swap or paging file is amount of disk space that has been allocated by the systems as OS temporary physical memory (RAM) replacement or as a virtual memory. The OS will put and or read some information into this swap file. A swap or paging file uses its own file system format. We cant or we dont read/write files into swap directories – only the system can/do.

A good approach to create a swap file size is 2 x installed physical memory (RAM).

The whole combinations of those output between disk slices (ad0s1a, ad0s1b etc) and their associated mount points (“/� , “swap� , “/tmp�  etc) is called a system layout.

What is this system layout?
Introduction to system layout :
A system layout is the directory structure inside a disk partition where the OS installer or the OS itself will be putting or reading all operating system related files. I guess some of you might know already that there are “Program Files� , “WINNT� , “WINDOWS� , “Documents and Settings�  directories inside a Microsoft Windows NT operating systems like Windows 2000 or XP – those are system layout, and those will hardly change – or otherwise your OS will not operate correctly.

The same goes in a UNIX-based systems like SunOS, FreeBSD or GNU/Linux. There are “/�  (or “ROOT� ) - which may contain any other directories as well, “/dev� , “/bin� , “/sbin� , “/usr� , “/var�  and so forth which has their own function or usage – so those were not just a directory name. Details on file systems and directory structures will be discussed on Part ???

Now, we go back to previous screen – and make a good observation once again. The default FreeBSD auto-layout has created a very specific/limited slice size that probably would not allow us “beginners�  to playing around with the OS. So, we need to change the system layout according our own requirement which is a basic system layout containing “/�  and “swap�  directories. To do that, we need to delete all existing disk slices using keyboard “D�  letter – until all slices are gone, and then we create new disk slices manually :

As our rule – its always better to create a slice for “swap�  directory at first. Why? Simply it has always been obvious by reading our physical RAM (512MB) and multiply it by 2 = 1024MB (1GB of virtual memory – swap). But, since we only have a small amount of disk – we multiply 512MB of RAM by 1.5 = 768MB (please note I that have deleted the size in disk block value and replace it using Megabytes format. Note that trailing “M�  after 768 as a specify using Megabyte size format) – I think it should be enough for a start. Press [ENTER] to continue choosing what kind of file system format it should have : SWAP. After you specify that directory as “swap�  - it will automatically be mounted as swap.

OK, we continue to create a slice for the “/�  directory. Press “C�  to create :

Now, we'll be presented a slice with size in disk block format – and please note the Megabyte value on the upper screen (7423MB = 7,4GB). Press [ENTER] to confirm and continue to format it as UFS file system : pick “FS� , and mount it later on “/�  directory : just type / using your keyboard key. Note that at later time – after the whole installation has finished – any other directories eg. “/var� , “/etc� , “/home�  will be mounted under the “/�  (“ROOT� ) directory. Please review our new system layout prior to continue.

6. Choosing installation Distribution.
After committing the new system layout using basic “/�  and “ swap�  scenario – now we continue to pick our FreeBSD installation distribution.

What is a (installation) distribution?
A distribution is simply a set of pre-configured software package that we want to install along with the base operating system. The benefit is that we dont have to configure which software package has to be included along the OS at install time – so we can save time.

There are plenty of distribution options (along with their explanations), but for now, we use the “X-User�  distribution so that we can play around both with the FreeBSD base OS and the X-Windows GUI.

7. Ports installation.

What is a port?
In FreeBSD software installation context (aside from the physical computing part) – a port is a software or application that has been modified, or at least tuned to be used by the FreeBSD OS.

The FreeBSD operating system will install a port database (or port software collection) so that we browse the database and pick which software we would like to install. Its an optional choice, but really essential part. Since we only beginning – we will install that port collection later using sysinstall FreeBSD installation utility.

8. Choosing installation media.
What is installation media?
Installation media is from what source (media) would you like to install the FreeBSD OS nor its distribution, nor ports packages. The FreeBSD sysinstall provides us a broad choice of OS installation source (media) eg. From CD/DVD as usual, from the internet or network source like FTP, NFS etc. For now, we go with CD/DVD source as I will explain the other options later ???.

Again, please review your configuration prior to make any changes because this is the last chance before the OS installation will begin.

9. Installation process.

After formatting disk slices and creates disk layout – the FreeBSD OS (and its distribution packages) will begin. Until finished – we'll be prompted with some important messages to follow :

III. Post-Install Configuration :

Configuring network devices (our NIC) :
whether we would like to configure our NIC? Answer : “YES� . Now you need to pick which one is your NIC from the list. You can always read which NIC is yours from the POST screen.

As you can see from picture above – there are many networking devices available to configure (optional). Aside from the “plip0�  interface (computers parallel port) , “sl0�  interface (our computer serial port or COMM), and the “ppp0�  interface (our virtual dial) which i'll explain later and we dont need to configure it right now. You see an “le0�  as AMD PCNet bla bla bla – that is our target network adapter to configure although we can always configure it later using sysinstall utility with the configure option.

Introduction to network adapter (NIC) in UNIX :
NIC  naming :
NIC naming in UNIX is different from other OS eg. Like in Microsoft Windows or GNU/Linux. In UNIX-based system eg. Like in FreeBSD or SunOS – any recognized NIC will be named as their device driver (or their chipset manufacturer name) on the kernel. For example : a NIC with RealTek chipset will have its name starts with “rl� , a NIC with some Intel chipset starts with “bg�  or “fxp� , nVidia with “nfe�  and so forth. So you should check them at POST time. Remember : The  FreeBSD NIC naming convention is different than other UNIX like SunOS, HP-UX, IBM-AIX, SCO and others (they are not the same from one another).

NIC numbering :
Some UNIX-based OS (eg. SunOS, GNU/Linux, FreeBSD system etc.) detects NIC attached to the system (either PCI, or PCI-X or PCI-Express slot in our mainboard) and numbers it in order from the edge of the mainboard and move closer to the CPU location. So the farthest NIC from CPU location will get the smaller number eg. “0�  and increment of “1�  – until CPU location – so they will be looked like these : fxp0, fxp1 etc.

Now we go back to the topic.
whether we would like to use Internet Protocol version 6 (Ipv6) address? Answer : “NO�
details explanation about Internet Protocol (IP) later ???

What is Internet Protocol (IP), subnets and gateway?

whether the system will use IP address assigned by DHCP server?

What is a DHCP?
Dynamic Host Configuration Protocol (DHCP) is a Client-Server application that provides automatic administration of Internet Protocol (IP) address assignment for any device on the network. For a computer that wants to have an automatic IP address assigned to it (act as a DHCP client) – it should has at least 1 DHCP Server on the network. Details about DHCP and other network service will be discuss later on Part ???.

If you have a working DHCP server eg. Your router or “combo-modem�  providing some IP address for     your network – then you can use it. Please make sure you know what you are doing.
If you dont have a working DHCP server – then the answer is “NO�  and we'll configure it manually :

From the screen above, we configure our system hostname using a fully qualified domain name (FQDN) including its computer network domain. For example : “tiger.animals.local� , “rabbit.animals.local�  with “animals.local�  computer network domain, or “wings.plane.local� , “tails.plane.local�  with “plane.local�  as network domain and so forth. Navigate between column by using [TAB] button, and reset any existing value using [BACK SPACE] key.

What is a system hostname?
A system hostname is basically our computer unique name whether it is a stand alone (did not attach to any computer network) computer or a networked one. A duplicate system hostname on the network may caused undesirable behavior (error).

What is a Domain Name?
A domain name is simply our computer group name in the network. A domain provides computers administration boundary according to their specific protocol eg. Domain Name System (DNS) domain like “mygroup.local� , “yourgroup.local�  and so forth, a Microsoft Windows NT native NetBIOS domain like “WORKGROUP� , “MYGROUP�  and so forth, a UNIX-based native Network File System (NFS) domain etc. Details later ???

What is an FQDN?

Why use FQDN?

Back to the topic,
Now, we have to specify our IP version 4 gateway – which is our door to other network or the internet if available (its optional). Our Name Server's IP address if available (its optional). Our own computer specific computer IP address and its subnet – these are must.

What is a Name Server?
Introduction to Name Lookup service :
Name lookup is a mechanism for computer to get (query) itself as well as its friends name and or address by using some kind of an established map service. The name lookup process can be both computer name to IP (we called it : Forward lookup query) address mapping or vice versa (IP address to computer name) - we called it : Reverse lookup query. Name lookup can be either statically defined (using system “hosts�  file) or dynamic (using a defined name server). Details about name lookup will be discussed later on Part ???

After we confirm all that – we'll be prompted whether we want to bring our NIC in operational state (as “UP� ) : answer “YES� .

Still we'll be prompt to configure other network service for the system that FreeBSD provides. Since these post-installation prompt require many further explanations that beyond this chapter topic (that we will  discuss and configure for the system later using sysinstall) – we'll just do a shortcut with answers as I have provided below :
Configure the system as Network gateway (or “router� )? answer = “NO�
Configure inetd (system service daemon)? Answer = “NO�
Allow SSH (Secure Shell) login? Answer = “NO�
Allow anonymous FTP login to the system? Answer = “NO�
NFS server and client? Answer = “NO�
Console setting? Answer = “NO� , for the most part its a safe default console configuration.
Time zone? answer =� YES�
Whether the system uses UTC (GMT) or local CMOS clock? Answer = “NO�  to uses local CMOS clock
Select time zone – answer = “ASIA� , Select country = “INDONESIA� , select Indonesia time zone =     “Java and Sumatra� , and confirm “OK� .

Whether we want to enable Linux binary compatibility?

What is Linux binary compatibility?
Linux binary compatibility option in FreeBSD installation is an installation option to enable Linux software emulation so that software can be ran on FreeBSD system. Details later, for now – the answer is “NO� .

Configure PS/2 mouse? Answer = 'NO� , for the most part its a safe default mouse configuration.
More software packages to install? Answer = “NO�
Add additional user account besides “root�  (the default system administrator)? Answer = “NO�
Configure “root�  or system administrator password ?

What is systems “Root� ?
In UNIX-based system – there is a very famous word pronounce : “ROOT� , and there are 2 “ROOT�  :
1.“ROOT�  refers to file systems “/�  (“ROOT� ) directory.
2.“ROOT�  refers to the super user in our UNIX-based system – as the “Systems Administrator�  that can manage services, manage users (add/delete them), manage directories and files etc.

Here we need to configure the “ROOT�  super user (system administrator) password :

This screen instruct us to give our systems administrator a password for login into the system. For now – we give it a simple : admin123 , so when you log on into the system - your username is : root ,with the password : admin123

password warning!!!
In a real life situation (that is outside our lab) – please make a strong (hard to type and to guess) password with at least 9 characters containing numbers (0 to 9), letters (aA to zZ) and alpha-numeric character eg. ~!@#$%^&*(){}_� :?><[]+.

A note about UNIX-based systems type character :
UNIX-based systems is a case-sensitive systems – that is an “xyz�  is not the same as “XYZ� , or “xyZ�  and so forth. So please be careful of what you type since it will make a huge difference.

Visit another option?
Here you should review your installation steps, whether you want to install another software, or you     want to configure any system services and so forth. If you feel you have done it correctly or you dont     need to – then you can move forward to reboot the system.

First time boot and login prompt :

OK, now we are in FreeBSD CLI console, and you can login as “root�  (in small caps) with the password of : admin123 (all in small caps).

Login screen and Message of the Day (MOTD) :

Sample console screen :

Well, that was it. We have reached the end of our Learn FreeBSD 7 - Part 1 : Installation session. Alhamdulillah, I really do hope this free tutorial helps, InsyaAlloh. And if it did help you – I would be very thankful if you do consider some shodaqoh (donation) to those the “Poor�  and “Orphaned� , or some infaq (donation) to any Mosque or Musholla near you, may Allah SWT  bless us all, Amin.

About the author and this document :
I personally not a writer – and just start learning this writing thing couple weeks ago, so please bare with me if there are typos and the like. This document is still in constant revision – so I do apologize if there are technical mistakes. You may read and distribute this document freely – but please don't change, extract nor copy it for your own benefits. Any questions, critics, comments and suggestions nor guidances are welcome.

Wishlist :
I wrote this document from my old IBM T21 laptop @ P3 800GHz with 256MB of RAM. It would be very wonderful if I could get more power laptop so I can write any tutorials/documentations on the road, and not to mention saving my electric bill for the lab. Not necessarily a new one – but an old (or refurbished) Compaq nc610 or IBM T41 that can handle bigger (>1GB) RAM will do. And I will be thanking you a lot. Alhamdulillah.

OK then, until the next chapter, InsyaAlloh ... you guys take care, and good bye now.

Wabillahit taufiq wal hidayah,
Wassalamu'alaikum wr. wb.

Credits : for FreeBSD OS download and technical reference.
VMware Server for software virtualization.
XnView for image/graphics converter/scaler.
OpenOffice for document writing
Komunitas Indonesia Open Source

Re: Learn FreeBSD 7 - Part 1 : Installation

hidup kang abdi_wae.... muncul lagi....... smile

waduh koq berbahasa inggris sih?!
translite dulu nih tongue

wew......... belum pernah ngoprek FreeBSD, yg pernah cuman windows, linux ama unix.
sip.... pingin belajar lagi. makasih bos.

Facebook OPiKdesign
* IT Consultant * Networking Specialist for Internet Cafe/HotSpot/SOHO * Maintenance * Graphic & Web Design, 3D Modeling & 2D/3D Animation * Hosting & Domain * email to:

Re: Learn FreeBSD 7 - Part 1 : Installation

Sejauh mana burung terbang akan balik juga ke sarangnya.

Welcome home abdi.

Re: Learn FreeBSD 7 - Part 1 : Installation

coba pakai google translate kek nya lumayan 90% sesuai hehhehehe

terima kasih << web hosting surabaya, mo bikin web murah n kalo ada apa-apa bisa langsung disamperin big_smile
Guling-guling ... hihihihi jadi pusing

Re: Learn FreeBSD 7 - Part 1 : Installation

wew. kang abdi is back..
seneng deh forumnya rame lagi...

btw, kyaknya yang bikin bingung di instalasi BSD adalah pembagian partisi ya?!

kita harus tau stukrtur Partition dan Slice

betul begitu nggak kang abdi?


Re: Learn FreeBSD 7 - Part 1 : Installation

halo faisal smile

btw, kyaknya yang bikin bingung di instalasi BSD adalah pembagian partisi ya?!

hehehe ... tenang aja - yang sudah senior dan professional-pun masih sering bingung kok smile

untuk penjelasan ini :

kita harus tau stukrtur Partition dan Slice

abdi sudah coba jelaskan di tutorialnya - bahwa ada sedikit pergantian istilah antara slice dgn fdisk basic disk partition - mungkin bisa dibaca kembali tutorial kecil abdi.

gimana kabar puerto-rico faisal?


Re: Learn FreeBSD 7 - Part 1 : Installation

artikel bagus, sayang disayang dalam bahasa inggris
ya udah sekalian ditambahin... unek2.

freebsd's sysinstall is such an @$$#)!^ when creating/
modifying existing partition table. it will arrogantly set
himself as an active partition without even bother to ask,
thus choosing mbr option in sysinstall is an absolute no use,
since we forced to boot into freebsd anyway.
and should we tried to create 2 or more bsd partitions, it will
then set them ALL as active partitions! how stupid.. sad
this, of course, will render your computer non-bootable.

take a look at the mbr with norton diskedit, it shown that
freebsd always set the partition table with invalid CHS entries
(by the facto ibm/msdos way) by setting the starting side/sector
to 255 and ending sector to 0, when they used to be 0 and 63,

emang sih, FreeBSD sepertinya cuma menggunakan LBA entry, tapi
jika kita melakukan resize/modifikasi partisi atau menggunakan
PartitionMagic/Acronis perhitungannnya jelas akan salah, fatal.

ini mirip2 bug bawaan ranish partition, mungkin kode yang sama
digunakan juga oleh fdisk/sysinstall. dan ini sudah lebih dari
sepuluh tahun sejak pertama kali saya install freebsd, tidak
pernah dibetulkan. entah mereka enggak tau, gak peduli atau kenapa,
wallahu a'lam bissowab.

- koreksi starting side (dari 255) jadi 0, ending sector (dari 0) jadi 63
  - dari DOS: norton diskedit (still the best)
  - dari WinXP: winhex
  - dari BSD: dd, bvi (binary vi)
      misalkan untuk harddisk0 (/dev/ad0)
      dd if=/dev/ad0 of=/var/ad0tmp count=1, lalu edit dengan bvi
        ubah byte di offset 01BF jadi =1, offset 01CF, 01DF dan 01EF harus =0
        ubah byte di offset 01C0 jadi =1, offset 01D0, 01E0 dan 01F0 sesuaikan
        dengan  yang seharusnya (ini yang agak repot nyampur sama nomer track,
    kalo track>=1023 (diatas 8G) lebih mudah, tinggal diisi saja =0C1)
      setelah selesai, masukkan lagi: dd if=/var/ad0tmp of=/dev/ad0 conv=notrunc
    (warning: cara terakhir ini cuma kira2, belum pernah saya praktekkan, dan sangat
      mungkin untuk salah. jadi resiko tanggung sendiri, sori, hehe...)
- betulkan active partition, hanya boleh ada 1 partisi yang aktif
  ini cuma terjadi jika kita buat lebih dari 1 partisi fbsd, dan harus
  dikerjakan sebelum keluar dari instalasi (dengan utility: fdisk -a),
  kalau tidak, komputer akan hang sebab ada 2 active partition.

  dalam mengalokasikan spasi, menurut pengalaman saya, sebaiknya
  menggunakan cylinder size (1c = 16065 x 512bytes = +/-8,7MB),
  mis. 80c untuk / (root), 120c untuk swap 100c /var dst..
  lebih mudah kelak dalam hal maintenance dan recovery dibanding MB/GB,
  karena a.l. lebih persisten (setiap alokasi ada di awal track), dan
  presisi (pada akhirnya semua diukur persektor, dengan menggunakan track,
  tidak ada ambivalensi seperti pada konversi antara sektor ke/dari MB/GB ).

Tambahan, dual boot dengan WinXP:
  copy sector pertama dari partisi freebsd jadi sebuah file mis.: C:\FreeBSD5.sec
  (bootsector fbsd5/6/7 identik, fbsd4 beda sendiri)

  edit BOOT.INI, tambahkan entri:
  C:\FreeBSD5.sec="FreeBSD 5+"

  untuk dualboot dengan Windows Family, LILO bisa jadi alternatif, namun
  BootManager bawaan freebsd sendiri tidak saya sarankan, karena memodifikasi MBR
  dalam aktivasinya (apalagi semodel GRAND MUHAHAHAH UNIVERSAL BOOT LOADER yang-
  kurang ajar, belagu, gak tau diri, nyampah di disk RESERVED AREA gak pake nanya dulu,
  amit-amit deh).

diatas sudah saya bilang lo, ini unek2..

8 (edited by si_faisal 25-11-2008 19:23:08)

Re: Learn FreeBSD 7 - Part 1 : Installation

saya pernah install BSD di komputer lama, ada yang mode disk nya harus dirubah jadi CHS di Bios. waktu itu saya lupa pake merk apa. yang jelas, kayaknya BSD agak2 sensifif sama urusah cylinder, head, track dan kawan-kawan


@kang abdi

purwokerto skarang ujan terus nih..
kalo bandung gimana?
btw, jadi kangen bandung, kmarin pas acara final gemasTik, di ITT Telkom, closing ceremonynya diiringi penyanyi2 anu geulis pisan... hanya ada di bandung lah hehhe..

tuh, malah jadi OOT kan!
ups Sorry...

ada pepatah dari UNIX geek bilang : "Linux is Developed, but BSD is Designed"
semoga dengan ngoprek BSD, ilmunya jadi tambah sakti.. saya ngikut ah

hehehe big_smile

9 (edited by Ch453 13-12-2008 12:52:02)

Re: Learn FreeBSD 7 - Part 1 : Installation

nice post mas abdi...

udah lama ga' coba FreeBSD, setelah baca post-nya mas abdi jadi pengin coba lagi...
tapi kayak-nya saya nunggu Part 2 nya aja deh...kira2 kapan ya...? smile

klo pengalaman pertama kali install BSD...beneer2 membingungkan, untungnya saya pake HDD khusus yg saya sediakan buat install BSD, sengaja ga' pake Virtual Machine, soalnya pengin tahu perkenalan dgn hardware saya oke ga'...dan alhamdulillah tidak ada masalah...

Re: Learn FreeBSD 7 - Part 1 : Installation

pengen ngerubah default shell dari sh ke bash
lebih familiar sama bash, biar mirip linux dikit big_smile

eh malah nggak jalan sistemnya, install ulang deh,

Re: Learn FreeBSD 7 - Part 1 : Installation

@ bung aa smile

tenang - sabar ya - insyaAlloh semua ide/kritik/sarannya abdi tampung dulu smile
lagi bekerja keras membagi waktu untuk sekolah lagi nih smile

@ chase,
hi ... apa kabar? TQ buat interestnya pd tutorial ini,
chapter 2-nya insyaAlloh sedang digarap smile

@ faisal,
ganti shell?

edit /etc/passwd aja - contoh :


nah - bagian /sbin/nologin - itu mengarah ke default user shell -> so, ganti ajah yg sesuai - misal bash, atau sh atau dsb dsb.


Re: Learn FreeBSD 7 - Part 1 : Installation

iya, salah saya kmarin semuanya dibikin link name dari /bin/sh ke /usr/bin/ports/bash

hehe.. hancur semua, BSD nya nggak mau login, karena shell dafaulnya nggak punya permission untuk eksekusi startup script,

thanks kang abdi, nanti coba2 lagi deh, mesin nya dah terlanjur keburu saya pake install fedora 10 x64... ketularan pak Mustofa nih coba2 fedora hehehe...


Re: Learn FreeBSD 7 - Part 1 : Installation


hehe.. hancur semua, BSD nya nggak mau login,

pilih boot menu - single user mode - atau recovery -> edit /etc/passwd-nya aja smile

karena shell dafaulnya nggak punya permission untuk eksekusi startup script,

maksud maksud??

Re: Learn FreeBSD 7 - Part 1 : Installation

alhamdulillah baik....:)

oke mas abdi...di tunggu chapter2-nya...:)

Re: Learn FreeBSD 7 - Part 1 : Installation

Copy Paste....gk kreatip ah...posting ttg instalasi USB Modem dunk...coba cari..ketemu gag....hehehehhe..

16 (edited by yogii 07-03-2011 00:37:35)

Re: Learn FreeBSD 7 - Part 1 : Installation

@mod mustofa

mustofa wrote:

Sejauh mana burung terbang akan balik juga ke sarangnya.

Welcome home abdi.

memangnya mod abdi terbang kemana pak mustofa lol peace smile,

@mod si_faisal
iya mas, bener mas saya juga sedikit bingung dengan pembagian partisinya.

@mod abdi
wah tutorial yang mantap mod abdi. lalu bagaimana dengan paket-paket resmi freebsd, apakah sama seperti ubuntu? smile

Re: Learn FreeBSD 7 - Part 1 : Installation

wah kang enak nih join2 BSD kalo ada tutor nya yang pake bahasa indonesia boleh donk kang minta atu

opensources is freedom


Re: Learn FreeBSD 7 - Part 1 : Installation

ijin nyimak sini smile

nubie Mohon Dibantu....

Re: Learn FreeBSD 7 - Part 1 : Installation

ijin ctrl d Om


Re: Learn FreeBSD 7 - Part 1 : Installation

2 pertayaan

1.klo untuk instalasi dari flasdisk bisa ndak ? untuk booting dan sysintall nya ? (berharap bisa coz cdroom rusak big_smile )
2. klo untuk tripleboot untuk partisinya gimana ya (xp,ubuntu,freebsd)? pernah baca2 untuk freebsd harus make partisi primary ndak bisa pake extended

terima kasih smile

nubie Mohon Dibantu....

Re: Learn FreeBSD 7 - Part 1 : Installation

@yogii smile

@mod abdi
wah tutorial yang mantap mod abdi. lalu bagaimana dengan paket-paket resmi freebsd, apakah sama seperti ubuntu?

agak ada sedikit perbedaan mengenai definisi *paket resmi* antara sistem ubuntu/centos dibanding sistem BSD, dmn aptitude dapat mengambil dan pasang paket biner (.deb) atau yum dapat mengambil .rpm dari repositori - pada sistem BSD diperlukan kompilasi paket source tarball/port yang diambil dari repositori terlebih dahulu.

@barob smile

wah kang enak nih join2 BSD kalo ada tutor nya yang pake bahasa indonesia boleh donk kang minta atu

iya nih, punteun, agak kesulitan waktunya untuk mengerjakan dokumentasi selanjutnya yg lebih lengkap yg lebih baik (maunya juga ditambah berbahasa Indonesia - tapi punya kesulitan untuk menyerap istilah berbahasa Inggris ke lokal Indonesia). smile

@ozi smile

1.klo untuk instalasi dari flasdisk bisa ndak ? untuk booting dan sysintall nya ? (berharap bisa coz cdroom rusak  )
2. klo untuk tripleboot untuk partisinya gimana ya (xp,ubuntu,freebsd)? pernah baca2 untuk freebsd harus make partisi primary ndak bisa pake extended

pertanyaan yg bagus smile
jawab :
1. kebetulan blm pernah coba diskdruid iso image FreeBSD ke usb flashdisk, tapi insyaAlloh mudah2an bisa - selama mainboard mendukung booting dari usb.
2. insyaAlloh bisa. betul, FreeBSD-nya harus pada partisi primary.

*mungkin* partisinya jadi berikut :
hda atau ad0 :
partisi1, primary windows
partisi2, primary linux-swap
partisi3, primary linux-/
partisi4, primary freeBSD

agar lebih aman dan nyaman, sila dicoba pakai mesin virtual dulu saja ya smile

insyaAlloh, HTH.

Re: Learn FreeBSD 7 - Part 1 : Installation

kang abdi bearti pembagian di partisi4 nya bisa bagi secara otomatis yha trus kalo gak otomatis gimana caranya

23 (edited by yogii 22-03-2011 21:41:43)

Re: Learn FreeBSD 7 - Part 1 : Installation

abdi_wae wrote:

@yogii smile

@mod abdi
wah tutorial yang mantap mod abdi. lalu bagaimana dengan paket-paket resmi freebsd, apakah sama seperti ubuntu?

agak ada sedikit perbedaan mengenai definisi *paket resmi* antara sistem ubuntu/centos dibanding sistem BSD, dmn aptitude dapat mengambil dan pasang paket biner (.deb) atau yum dapat mengambil .rpm dari repositori - pada sistem BSD diperlukan kompilasi paket source tarball/port yang diambil dari repositori terlebih dahulu.


terima kasih pak abdi,jadi tarball standar paketnya smile, btw saya soal compile mengompile saya masih nubi.. hehe

Re: Learn FreeBSD 7 - Part 1 : Installation

@barob smile

kang abdi bearti pembagian di partisi4 nya bisa bagi secara otomatis yha trus kalo gak otomatis gimana caranya

ya, sederhananya partisi harddisk itu dibagi 2 bentuk :
- punya maksimal 4 partisi primary
- punya maksimal 3 partisi primary + 1 extended + (N logical partition)

bila dilihat dari sini :
hda atau ad0 :
partisi1, primary windows
partisi2, primary linux-swap
partisi3, primary linux-/
partisi4, primary freeBSD

FreeBSD ada di-partisi primary sedangkan slice-nya juga ada didalam partisi tersebut (bisa dibuat manual atau otomatis).

@yogii smile

sama2 smile

Re: Learn FreeBSD 7 - Part 1 : Installation

MANTAP ( makan diatap)