DragonFly BSD

asuseee900

DragonFly on Asus EEE 900

Installation procedure

The easiest way to install DragonFly on an eee is to use the USB memory stick image. Download .img file, open it with xarchiver (or similar). Then transfer it directly to a USB key. Use dd on unix-like systems (or a similar program on Windows) eg.:

dd if=/path/to/dfly-i386-2.8.2_REL.img of=/dev/da8 bs=1M

Pressing "Escape" on the BIOS boot screen allows you to select the boot device (use your USB key). After a successful boot, you can install DragonFly on the SSD or SD-card (WARNING: this erases your SSD or SD-card!).

Now follow this link and install DragonFly on your eeepc 900. Note that you don't need any swap nor bootblocks to be installed on your system (unmark those default options).

Altouth it is recommended not to use HAMMER on small drives (below 50GB), you can use HAMMER with eeepc 20GB ssd drive without a problem.

Once DragonFly is installed, reboot and login as root. Now add your user account to wheel and operator group in /etc/group

If your eeepc has 2 ssd drives (4 and 16GB) you need to add the 16GB drive to your DragonFly system.

First list all aveliable drives with:

# ls /dev/ad*

You will get similar output:

> ls /dev/ad*
/dev/ad2    /dev/ad2s1a /dev/ad3
/dev/ad2s1  /dev/ad2s1b /dev/ad3s0

Now repeat this but with following:

> ls /dev/serno*
OS1Q85001000517 OS1Q85001000517.s1a SOQ1580033
OS1Q85001000517.s1 OS1Q85001000517.s1b SOQ1580033.s0

In this example we have to add /dev/ad3 called also /serno/SOQ1580033 to hammerfs.

As root, use hammer volume-add utility to expand your hammerfs:

hammer volume-add /dev/ad3 /

Now you need to edit /boot/loader.conf (this is an example do not copy any rootmounts):

vfs.root.mountfrom="hammer:serno/OS1Q85001000517.s1b:serno/SOQ1580033"
kern.emergency_intr_enable=1
if_ath_load="YES"              #this will load wifi driver
acpi_asus_load="YES"        #this will load asus acpi
linux_load="YES"            #this is needed if you want OpenOffice.org etc
snd_hda_load="YES"            #this is needed for sound 

Before installing any application (X11) you need to edit your /etc/rc.conf file. Add the following to an existing file:

smbd_enable="YES"  #needed for samba share
nmbd_enable="YES"  #needed for samba share
hostname="yourhostname" #this is the name of your box

ifconfig_ae0="DHCP" #this is needed for LAN
wlans_ath0="wlan0"    #this is needed for WLAN
ifconfig_wlan0="WPA DHCP" #this is needed for WLAN

moused_enable="YES" #this is needed for keyboard and touchpad support
linux_enable="YES"  #this is needed for Openoffice etc  

If you have and accss to wifi then create and edit with ee /etc/wpa_supplicant.conf file. Add the following for WPA2 encrypted wifi:

network={
    ssid="network name"
    psk="secret password"
}

Edit /etc/host file and add your user name (this is needed for XFCE4 to work without a problem).

127.0.0.1               yourname yourname.my.domain

Now you just have to reboot and login again as a user.

If you want to install any applications follow DragonFly instructions.

I would recommend to use pkgin as long as it is possible and install pkgsrc (just in case it is needed - eg. for libdca-0.0.5 essential for vlc).

Before you can use pkgin you need to feed its config file /usr/pkg/etc/pkgin/repositories.conf with (eg. for pkgsrc-2010Q3 on DF-2.8.2):

http://avalon.dragonflybsd.org/packages/i386/DragonFly-2.8.2/pkgsrc-2010Q3/All

Remember to disable (#) any other than DragonFly mirrors.

Now you have to update pkgin and upgrade any applications that are already on your system by:

#pkgin update && pkgin full-upgrade

Installing X11

For X11, you can follow DragonFly - Installing X - instructions and simply copy attached below xorg.conf file to /etc/X11/ directory (it has full support for mulitimonitor setup).

# pkgin in modular-xorg-server
# pkgin in modular-xorg-drivers
# pkgin in modular-xorg-libs
# pkgin in modular-xorg-apps
# pkgin in modular-xorg-fonts

Ready to use eeepc 900 xorg.conf:

    Section "ServerLayout"
      Identifier     "X.org Configured"
      Screen      0  "Screen0" 0 0
      InputDevice    "Mouse0" "CorePointer"
      InputDevice    "Keyboard0" "CoreKeyboard"
    EndSection

    Section "Files"
      ModulePath   "/usr/pkg/lib/xorg/modules"
      FontPath     "/usr/pkg/lib/X11/fonts/misc/"
      FontPath     "/usr/pkg/lib/X11/fonts/TTF/"
      FontPath     "/usr/pkg/lib/X11/fonts/OTF"
      FontPath     "/usr/pkg/lib/X11/fonts/Type1/"
      FontPath     "/usr/pkg/lib/X11/fonts/100dpi/"
      FontPath     "/usr/pkg/lib/X11/fonts/75dpi/"
    EndSection

    Section "Module"
      Load  "glx"
      Load  "dbe"
      Load  "extmod"
      Load  "dri"
      Load  "dri2"
    EndSection

   Section "InputDevice"
      Identifier  "Keyboard0"
      Driver      "kbd"
      #Option      "XkbLayout"  #"insert your keyboard layout"  #for non-english users
   EndSection

   Section "InputDevice"
      Identifier  "Mouse0"
          Driver      "mouse"
      Option        "Protocol" "auto"
      Option        "Device" "/dev/sysmouse"
      Option        "ZAxisMapping" "4 5 6 7"
      Option        "Protocol"    "Auto"
      Option      "Protocol"    "/dev/psm0"
   EndSection

   Section "Monitor"
      Identifier   "Monitor0"
      VendorName   "Monitor Vendor"
      ModelName    "Monitor Model"
      HorizSync    30-107
      VertRefresh  48-120
      Option       "DPMS"
   EndSection

   Section "Device"
          ### Available Driver options are:-
          ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
          ### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
          ### [arg]: arg optional
          #Option     "NoAccel"             # [<bool>]
          #Option     "SWcursor"            # [<bool>]
          #Option     "ColorKey"            # <i>
          #Option     "CacheLines"          # <i>
          #Option     "Dac6Bit"             # [<bool>]
          #Option     "DRI"                 # [<bool>]
          #Option     "NoDDC"               # [<bool>]
          #Option     "ShowCache"           # [<bool>]
          #Option     "XvMCSurfaces"        # <i>
          #Option     "PageFlip"            # [<bool>]
      Identifier  "Card0"
      Driver      "intel"
      VendorName  "Unknown Vendor"
      BoardName   "Unknown Board"
      BusID       "PCI:0:2:0"
  EndSection

  Section "Screen"
     Identifier "Screen0"
     Device     "Card0"
     Monitor    "Monitor0"
     SubSection "Display"
    Viewport   0 0
    Depth     24
     Virtual 2048 2048
     EndSubSection
 EndSection

 Section "ServerFlags"
     Option "DontZap"         "off"
     Option "AllowEmptyInput" "off"
     Option "AutoAddDevices"  "off"
 EndSection

How to mount Windows Shares with a GUI

To mount Windows shares at boot-time can follow DragonFly instructions on HowToMountWindowsShares . If you don't want to mount them at boot time you can install gnome-commander (which should also install samba) and gnome-vfs-smb.

# pkgin in gnome-commander   
# pkgin in gnome-vfs-smb
# pkgin in samba

Now make sure that you have

smbd_enable="YES" 
nmbd_enable="YES" 

in your rc.conf file.

Pkgin should automatically copy /usr/pkg/share/examples/rc.d/nmbd and cd /usr/pkg/share/examples/rc.d/smbd to /etc/rc.d directory. If it fails manually copy those files as root by:

# cp /usr/pkg/share/examples/rc.d/smbd /etc/rc.d/smbd
# cp cd /usr/pkg/share/examples/rc.d/nmbd /etc/rc.d/nmbd

You can add DragonFly users (and their passwords) for sharing files by:

# smbpasswd -a username 

It is now the time to configure smb.conf file which is located in /usr/pkg/etc/samba.

Now, to start samba deamon type in terminal (as root):

# /etc/rc.d/smbd start
# /etc/rc.d/nmbd start  

Open gnome-commander (X11 is essential for this application) and navigate to your Windows share directory (smb button)

Installing VLC

VLC is a great multimedia player – one of the best available on DragonFly (with pkgsrc-2010Q3 package collection). You can install it by:

# pkgin in vlc

This will fail to install libdca-0.0.5. Libdca-0.0.5 you should install with pkgsrc collection:

# cd /usr/pkgsrc/audio/libdca
# bmake install clean

If you have no /usr/pkgsrc/audio/libdca directory, then you should install pkgsrc collection by:

# cd /usr
# make pkgsrc-create

After successful installation, go back to /usr/pkgsrc/audio/libdca and repeat libdca installation process with bmake install clean .

Following experience is from running DragonFly 2.8.2 on netbook (eeepc 900).

ACPI and power management

There is no issues in running with ACPI.

Suspend (S3) works but there are some problems with resuming (X11 crashes and touchpad doesn't work after zzz).

For tuning/controlling/monitoring ACPI extras for ASUS laptops you have acpi_asus(4).

$ sysctl hw.acpi.asus
hw.acpi.asus.lcd_brightness: 1
hw.acpi.asus.camera: 0
hw.acpi.asus.cardreader: 1
hw.acpi.asus.wlan: 1

Video controller

Video playback is okay. The chipset in use is Intel 945GM.

Ethernet controller

Works without any problem with ae(4).

Wireless card(s)

Works fine

Audio

Works fine

SD card reader

Works fine

Camera

Not supported.