EeeBSD setup: installing FreeBSD 7 on Eee PC

16 05 2009

[LAST UPDATED 18/06/2009 — revision 9]


I’m actually writing from my last purchase the ASUS EeePC 701, a real jewel with a good support for Linux and BSD systems. What you can find on the net is some installation howtos for Windows XP and Linux, but it won’t be easy to find out how to install a BSD system ( apart from a collection of failures at http://encryptio.com/ots/eeebsd 😛 ), so I decided to write this step by step tutorial which will guide you through the installation of FreeBSD on an ASUS Eee PC 701 (4G) from USB drive, hope this helps all of you who already tried or want to try this “challenge”….at the end you will realize that this is not so difficult as it seems, you have just to know where to put your hands. 😉

Besides, I want to make the point that this tutorial is still easily fitting to other netbook models that, just like the Eee PC 701, are not supplied with a CD/DVD drive. The steps are almost identical, the only difference is how FreeBSD will name devices during the installation process or the keys to enter the BIOS configuration utility at startup.

Installation options

Here follows a list of possible configurations to install FreeBSD, you can choose from one of them what more fits with your needs. Throughout the guide I will explain both of them:

  1. [1.] installing on SSD (or Hard Disk) supplied with our Eee PC (I recommend to use the whole disk, 4GB is too small for a dual boot :/)
  2. [2.] installing on a USB stick (I don’t recommend using an SD Card as I experienced very bad performance, anyway USB is faster)

LEGENDA

  • when a step refers to a particular configuration between the two listed above, you will see [1.] or [2.]
  • this tutorial covers installations for Windows XP and Linux systems: exclusive steps for Windows begin with –Windows, and the Linux ones with –Linux, they both end with a -// finale

NOTES for Linux installations

because of the excessive number of Linux distros out there and the great diversity among them, all the Linux steps written here are to be executed from a terminal. Procedures listed in this guide should require root privileges

WARNING

my advice is to make a backup of ALL OF YOUR DEVICES you are going to use before to perform any operation, even if you are going to install FreeBSD on a USB stick make a backup of your Hard-Disk!




Minimal requirements

  • Operating system: Windows XP or Linux
  • 1 USB stick – 64MB min
  • 1 SD-Card – 512MB min
  • an active internet connection

optionals:

  • 1 external USB drive 1GB min if you want to perform an installation of FreeBSD on a USB drive [2.]




Step 1 – Preparations

Download the first CD of the latest release of FreeBSD i386 from the following link:

http://www.freebsd.org/it/where.html

(that at the time of writing is 7.2-RELEASE-i386-disc1.iso, as follows we will suppose that this is the release that you want to use)

Download and install UNetbootin from: http://unetbootin.sourceforge.net/

Detach all peripherals connected to your notebook (have a look to your SD-Card slot too)

–Windows

go to My Computer

connect a pendrive on the USB port on the left from you Eee PC, let’s suppose that Windows identifies it as D: (be very careful of this step cause you are going to wipe all of the data standing on D:)

right click on D: then “Format…”

select File System: FAT32, Allocation Unit Size Default and Fast formatting, then click on “Format” and just wait the process to be completed

–Linux

insert a pendrive on the USB port on the left from your Eee PC and type from a terminal:

# dmesg

from here you can observe how Linux identifies it, let’s suppose sda1 (be sure of this step cause you are going to wipe all data on this device)

let’s format that:

# mkfs -t vfat /dev/sda1

–//

it’s now time for UNetbootin

select Distribution, then on the first scrolldown menu “FreeBSD” and on the second “7.0”.

at the bottom of the window select as Type “USB”, and on Drive select the device seen before (we have supposed D: for Windows and /dev/sda1 for Linux) then click OK

wait for the copy, at the end you will be asked for a reboot, choose NOT TO REBOOT

–Windows

return to My Computer, insert your SD Card to the Eee PC slot, let’s suppose Windows identifies it as E: (again be very sure of this step cause you are going to wipe all the data stored on this drive)

right-click on E: then “Format…”

select File system FAT32, Allocation Unit Size: Deafult allocation size and be sure that Quick Format is checked, now click on Start and wait until end.

open FreeBSD ISO downloaded before (you can use software like 7zip or WinRAR to open ISO images) and extract all the folder 7.2-RELEASE into E:, note that the 7.2-RELEASE folder must be extracted too

once again from MyComputer, let’s enter in E: and rename the “7.2-RELEASE” folder into freebsd


–Linux

here we’ll make use of two directories on /mnt to mount volumes

/mnt/usb for our SD Card

/mnt/iso to mount the FreeBSD ISO image

type:

# mkdir -p /mnt/usb
# mkdir /mnt/iso

insert now your SD Card into your EeePC and let’s suppose Linux identifies it as /dev/sda2 from dmesg

let’s wipe it out:

# mkfs -t vfat /dev/sda2

then mount it on /mnt/usb:

# mount -t vfat /dev/sda2 /mnt/usb

and make inside it a folder named freebsd

# mkdir /mnt/usb/freebsd

now let’s move where we downloaded FreeBSD

# cd <path-to-iso>

mount the ISO image

# mount -t iso9660 -o loop 7.2-RELEASE-i386-disc1.iso /mnt/iso

and finally copy all of what’s inside 7.2-RELEASE into the freebsd previously made on our SD Card

# cp -vfr /mnt/iso/7.2-RELEASE/* /mnt/usb/freebsd

–//


now leave both USB pendrive and SD Card still connected and reboot

NOTE

we don’t need to set from BIOS OS Installation on Start, my advice indeed is to check if it is set on Finished to boost installation time




Step 2 – Installation

at BIOS screen press ESC, and you should see something like this

boot from your USB pendrive on the left

wait for FreeBSD installer to boot (for impatient people: you can press ENTER as you see the timers to speed up the boot time)

from the first screen you will be asked for your language, choose it as you please

choose your keyboard layout

and now roll up your sleeves, you are going to setup sysinstall for your machine


select “Custom”, and you should see a screen with the installation options

here comes the settings to apply:

2 Options


go down with the directional keys to Release Name and press SPACE, here change the string from “7.2-RELEASE” in “any”

[2.] now insert your pendrive in a USB slot to the right of your Eee PC, go to Re-scan devices and press SPACE to confirm

quit with Q

3 Partition

on your Eee PC you should see the following options:

  • ad2 (this is your SSD)
  • da0 (USB pendrive installer)
  • da1 (SD Card with the installation files)
  • da2 (only for option [2.] this is your external device where you want to install FreeBSD)

select da2 if you want to install on USB [2.], ad2 if you want to install FreeBSD on your SSD [1.] and hit OK

WARNING

verify that the disk size where you want to perform the instalation meets the size reported in the top-right of this screen (in this example is 8063MB)

press A to partition all the disk with FreeBSD, then hit Q to exit this screen

now you will be asked what to write on your MBR (the boot sector)

select Standard to not install a boot manager (we don’t need a boot manager since we want to install FreeBSD only) and hit OK

4 Label

press C to create a new label, then insert 128M as size and select “swap”


press C again to create another label and use the remaining space size simply pressing ENTER (it is reported by default), select FS and assign it the root /


hit Q to leave from disklabel

5 Distributions

if you have enough space for a complete installation just select “All” and go to the next step, final installation will occupy over 2GB of your disk

but since for a strange cosmic law, space is never enough in all netbooks, I selected as follows only few essential components for the installation: go to the last option “Custom” and from the next screen select the following:

  • base
  • kernels -> GENERIC
  • man
  • local
  • ports (recommended to compile from sources, this will take 400MB+ from your disk)
  • src -> base/sys (recommended to install specific Eee PC drivers, sources will occupy 200MB+ in your final installation)

hit OK to leave this screen, then X to Exit and OK again

6 Media

select 5 DOS, on the next screen you’ll be asked from what partition sysinstall would take the installation files, select the SD Card, it should be da1s1


7 Commit

WARNING

FROM NOW ON all of the operation to disks will be performed

select YES if you want to proceed with the installation

…….now wait for the installation to be completed (~~coffee moment~~)…….

once your installation is completed (and you have drunk way too much coffee :P) now select No, then Exit, Exit Install, here you should see a screen with a confirm dialog “Yes/No”

[1.] (installation on SSD) unplug ALL external devices (SD too)

[2.] (installation on USB) unplug all external devices (SD too) BUT the USB pendrive to the right. It now should contain the freshly installed FreeBSD.

now hit Yes




Step 3 – First Boot

[2.] from the very first boot screen press ESC and select the right device to boot from the pendrive (it should be inserted in one of the USB slots to the right)

if can you see this screen at boot, it

[1.] if you installed FreeBSD on you SSD you won’t need to do anything more, just login as “root” (you won’t be asked for a password)

[2.] if you installed FreeBSD on an USB pendrive, at boot time you should see the following prompt

it is a weird prompt but no panic!!

mountroot>
in a few words, FreeBSD knows to be installed on the second external device (da1s0a) but we are booting from the first device since now you have only 1 external device connected, we just need to inform FreeBSD about this change:
mountroot> ufs:da0s1a
just wait for init to complete the final boot stage and you’lle be presented the login screen, type “root” (you won’t need to enter a password) and give the following command:
# vi /etc/fstab

here you have to modify the boot devices with:

/dev/da0s1b

and

/dev/da0s1a

from vi you can do this in just one shot with regexp, simply type the following command

:%s/da2s/da0s/g

then hit Shift+ZZ to save and exit from vi

finally

# reboot

and from the next boot you shouldn’t see any weird prompt and directly boot to the login screen.

ENDING NOTES [2.]

  • with these settings FreeBSD should be always booted from the first USB device (da0), so I recommend to boot FreeBSD from the USB lost to the left of your Eee PC or else you will need to unplug all of the other external devices and then re-plug them at the login screen
  • you may want to make Eee PC boot directly from the USB device, just hit F2 when powering on and select the right device under Boot->Hard Disk Drives and then F10 to save your settings




So What?

Installation is now completed, your system should occupy 684MB with ports or 280MB without ports, you may want to install the drivers for your Eee PC, just follow this guide from the official FreeBSD website:

AsusEee – FreeBSD Wiki

for the newbies I recommend a lecture of the official handbook
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/index.html

Have fun! 😉


–Stay Free, stay BSD


UPDATES

— 12/03/2009

this guide was tested successfully on the following notebooks:

  • ASUS Eee PC 701
  • Toshiba NB100-11R

I will post here new tests on other machines, have a look a the header tag for updates or contact me if you make new tests.

— 13/03/2009

Published a demo video for ASUS Eee PC 701:



Advertisements

Actions

Information

8 responses

22 05 2009
Installing FreeBSD on the EeePC via USB « 0ddn1x: tricks with *nix

[…] FreeBSD on the EeePC via USB Filed under: BSD — 0ddn1x @ 2009-05-22 20:41:21 +0000 https://sonicfrequencies.wordpress.com/2009/05/16/eeebsd-setup-how-to-install-freebsd-from-usb-step-b… Comments (0) TrackBack […]

25 05 2009
leandro

it’s weird, but any iso version i throw at unetbootin, when i boot it it says “corrupted kernel” and the prompt is “boot:” looking for a valid kernel i suppose, any clue?

31 05 2009
sonixant

You don’t need to put any iso at all, just select FreeBSD from the Distribution menu, select Version and your USB Device, and as you hit OK unetbootin will automatically download a valid FreeBSD kernel for your USB stick.
Good luck! 😉

9 06 2009
dario

minchia me cumpare internazionaleeeeeeeeeeeeeeeeeeeeeeeeeeee

18 06 2009
sonixant

LOOOOOLLLLLLLLLLLLLL

11 06 2009
D0nut07

I keep having an error that says “Unable to transfer the base distribution from da1s1. Try again?” with yes or no. I select yes, nothing happens, select no and another message “Unable to transfer the GENERIC distribution from da1s1….” followed by “unable to transfer all components of the kernels distribution. You may wish to switch media types and try again”

Now, I know my SD card works…And I extracted CD1 just like the guide said to.

I’m a total freeBSD noob. This is actually the first time I’ve ever installed or even worked with the OS. Im installing it because my XP installation crashed and I wanted to move to something more stable.

Any help would be great.

18 06 2009
sonixant

Hmmm there probably was an error while copying the distribution files:
check your SD Card, you should see only a folder named “freebsd”, this must contain all of the distribution dirs like base, catpages, etc… here follows an excerpt of what you should see:


[colony-ark:/Volumes/FreeBSD_Install/] sonixant% ls
freebsd

[colony-ark:/Volumes/FreeBSD_Install/] sonixant% ls -lh freebsd
dr-xr-xr-x 2 sonixant staff 6.0K May 1 11:14 base
dr-xr-xr-x 2 sonixant staff 2.0K May 1 11:14 catpages
dr-xr-xr-x 2 sonixant staff 2.0K May 1 11:14 dict
dr-xr-xr-x 2 sonixant staff 12K May 1 11:14 doc
dr-xr-xr-x 2 sonixant staff 2.0K May 1 11:14 games
dr-xr-xr-x 2 sonixant staff 2.0K May 1 11:14 info
dr-xr-xr-x 2 sonixant staff 6.0K May 1 11:14 kernels
dr-xr-xr-x 2 sonixant staff 2.0K May 1 11:14 manpages
dr-xr-xr-x 2 sonixant staff 2.0K May 1 11:14 ports
dr-xr-xr-x 2 sonixant staff 2.0K May 1 11:14 proflibs
dr-xr-xr-x 2 sonixant staff 16K May 1 11:14 src

if not, re-format your SD Card, extract the 7.2-RELEASE dir to your SD Card, and check if it contains all the distribution dirs as seen before, then name the “7.2-RELEASE” folder as “freebsd” and restart with the installation

Hope this helps!

6 11 2009
sully

hey dont forget about adding dbus_enable=”YES” as well as hald_enable=”YES” and reboot to get your mouse/keyboard to work. i had this problem with my eeepc with synaptics touchpad.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s




%d bloggers like this: