Dell Vostro A90

From Gentoo Linux Wiki
Jump to: navigation, search

The Dell Vostro A90 is a re-badged variant of the Dell Mini netbook. It is offered on the Business side of the Dell Web Site with loadsets for both Windows and Ubuntu Hardy Heron. This guide is based on a system with a Hardy Heron loadset delivered in Sept 09. At the time the standard offering included an 8gb flash with 32gb as an option. A recent (11/09) search of the offerings shows only a 16gb upgrade as an option, so prices and sizes may frequently change. I went with the 32gb option so that I could comfortably re-partition to dual boot Hardy and Gentoo using Hardy's /boot partition for grub.

The wiki entry for the Dell Inspiron Mini is a good starting reference. However it is a bit dated. This A90 guide is based on a 2.6.31-gentoo-r5 kernel and an unstable x86 10.0 desktop profile.

Contents

[edit] Cpuinfo

This is the same as the Mini 9, the processor speed here is throttled back since I'm running on batteries in "powersave" cpu profile.

processor       : 0                                           
vendor_id       : GenuineIntel                                
cpu family      : 6                                           
model           : 28                                          
model name      : Intel(R) Atom(TM) CPU N270   @ 1.60GHz      
stepping        : 2                                           
cpu MHz         : 800.000                                     
cache size      : 512 KB                                      
physical id     : 0                                           
siblings        : 2                                           
core id         : 0                                           
cpu cores       : 1                                           
apicid          : 0                                           
initial apicid  : 0                                           
fdiv_bug        : no                                          
hlt_bug         : no                                          
f00f_bug        : no                                          
coma_bug        : no                                          
fpu             : yes                                         
fpu_exception   : yes                                         
cpuid level     : 10                                          
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx constant_tsc arch_perfmon pebs bts pni dtes64 monitor ds_cpl est tm2 ssse3 xtpr pdcm movbe lahf_lm
bogomips        : 3192.41
clflush size    : 64
power management:

processor       : 1
vendor_id       : GenuineIntel
cpu family      : 6
model           : 28
model name      : Intel(R) Atom(TM) CPU N270   @ 1.60GHz
stepping        : 2
cpu MHz         : 800.000
cache size      : 512 KB
physical id     : 0
siblings        : 2
core id         : 0
cpu cores       : 1
apicid          : 1
initial apicid  : 1
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 10
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx constant_tsc arch_perfmon pebs bts pni dtes64 monitor ds_cpl est tm2 ssse3 xtpr pdcm movbe lahf_lm
bogomips        : 3192.03
clflush size    : 64
power management:

[edit] Lspci

There are some slight differences with the Mini 9 guide. I don't think the 25 kernel used by the Mini 9 guide knew about 945GME at that point. Also the Broadcom has been revved from a 4310 to a 4312 here. As a result, I can't get wireless working without falling back to the net-wireless/broadcom-sta ebuild.

00:00.0 Host bridge: Intel Corporation Mobile 945GME Express Memory Controller Hub (rev 03)
00:02.0 VGA compatible controller: Intel Corporation Mobile 945GME Express Integrated Graphics Controller (rev 03)
00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (rev 03)
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02)
00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 02)
00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 (rev 02)
00:1c.2 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 3 (rev 02)
00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2 (rev 02)
00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3 (rev 02)
00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #4 (rev 02)
00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2)
00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02)
00:1f.1 IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller (rev 02)
00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 02)
02:00.0 System peripheral: JMicron Technology Corp. SD/MMC Host Controller
02:00.2 SD Host controller: JMicron Technology Corp. Standard SD Host Controller
02:00.3 System peripheral: JMicron Technology Corp. MS Host Controller
03:00.0 Network controller: Broadcom Corporation BCM4312 802.11b/g (rev 01)
04:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller (rev 02)

[edit] Lsusb

It looks like the webcam is slightly different but I'm not sure what that difference is

Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 0c45:63e4 Microdia
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 002: ID 413c:02b0 Dell Computer Corp.
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub


[edit] Xorg

Current ebuilds as emerged for unstable x86:

xorg-server-1.7.1
xorg-drivers-1.7

xf86-input-evdev-2.3.0
xf86-input-mouse-1.5.0
xf86-video-intel-2.9.1
xf86-input-keyboard-1.4.0
xf86-input-synaptics-1.2.0

This configuration will work without an xorg.conf file provided that you have emerged hald and added it to your default runlevel. With it, I can run KDE 4.3.1 with opengl compositing enabled and do not appear to have any of the issues that were mentioned in the Mini 9 guide.

I used this Ubuntu Synaptic Guide for the Dells to get touchpad tapping and other added functionality working on the touchpad. My resulting 11-x11-synaptics.fdi file looks like this:

<?xml version="1.0" encoding="ISO-8859-1"?>                                                                    
<deviceinfo version="0.2">                                                                                     
  <device>                                                                                                     
    <match key="info.capabilities" contains="input.touchpad">                                                  
      <match key="info.product" contains="Synaptics TouchPad">                                                 
        <merge key="input.x11_driver" type="string">synaptics</merge>                                          
      </match>                                                                                                 
      <match key="info.product" contains="AlpsPS/2 ALPS">                                                      
        <merge key="input.x11_driver" type="string">synaptics</merge>                                          
      </match>                                                                                                 
      <match key="info.product" contains="appletouch">                                                         
        <merge key="input.x11_driver" type="string">synaptics</merge>                                          
      </match>                                                                                                 
      <match key="info.product" contains="bcm5974">                                                            
        <merge key="input.x11_driver" type="string">synaptics</merge>                                          
      </match>                                                                                                 

      <merge key="input.x11_options.SHMConfig" type="string">on</merge>

      <merge key="input.x11_options.LeftEdge" type="string">1700</merge>
      <merge key="input.x11_options.RightEdge" type="string">5100</merge>
      <merge key="input.x11_options.TopEdge" type="string">1600</merge>  
      <merge key="input.x11_options.BottomEdge" type="string">4200</merge>

      <merge key="input.x11_options.FingerLow" type="string">24</merge>
      <merge key="input.x11_options.FingerHigh" type="string">29</merge>
      <merge key="input.x11_options.FingerPress" type="string">255</merge>

      <merge key="input.x11_options.MaxTapTime" type="string">180</merge>
      <merge key="input.x11_options.MaxTapMove" type="string">220</merge>
      <merge key="input.x11_options.MaxDoubleTapTime" type="string">180</merge>

      <merge key="input.x11_options.SingleTapTimeout" type="string">180</merge>
      <merge key="input.x11_options.ClickTime " type="string">100</merge>      
      <merge key="input.x11_options.FastTaps" type="string">1</merge>          
                                                                               
      <merge key="input.x11_options.EmulateMidButtonTime" type="string">80</merge>
      <merge key="input.x11_options.EmulateTwoFingerMinZ" type="string">280</merge>
      <merge key="input.x11_options.EmulateTwoFingerMinW" type="string">7</merge>  

      <merge key="input.x11_options.VerteScrollDelta" type="string">100</merge>
      <merge key="input.x11_options.HorizScrollDelta" type="string">100</merge>
      <merge key="input.x11_options.VertEdgeScroll" type="string">1</merge>    
      <merge key="input.x11_options.HorizEdgeScroll" type="string">1</merge>   

      <merge key="input.x11_options.CornerCoasting" type="string">0</merge>
      <merge key="input.x11_options.VertTwoFingerScroll" type="string">0</merge>
      <merge key="input.x11_options.HorizTwoFingerScroll" type="string">0</merge>

      <merge key="input.x11_options.MinSpeed" type="string">0.4</merge>
      <merge key="input.x11_options.MaxSpeed" type="string">0.7</merge>
      <merge key="input.x11_options.AccelFactor" type="string">0.00995</merge>
      <merge key="input.x11_options.TrackstickSpeed" type="string">40</merge> 

      <merge key="input.x11_options.EdgeMotionMinZ" type="string">30</merge>
      <merge key="input.x11_options.EdgeMotionMaxZ" type="string">160</merge>
      <merge key="input.x11_options.EdgeMotionMinSpeed" type="string">1</merge>
      <merge key="input.x11_options.EdgeMotionMaxSpeed" type="string">400</merge>
      <merge key="input.x11_options.EdgeMotionUseAlways" type="string">0</merge> 

      <merge key="input.x11_options.UpDownScrolling" type="string">1</merge>
      <merge key="input.x11_options.LeftRightScrolling" type="string">1</merge>
      <merge key="input.x11_options.UpDownScrollRepeat" type="string">1</merge>
      <merge key="input.x11_options.LeftRightScrollRepeat" type="string">1</merge>
      <merge key="input.x11_options.ScrollButtonRepeat" type="string">100</merge> 

      <merge key="input.x11_options.TouchpadOff" type="string">0</merge>
      <merge key="input.x11_options.GuestMouseOff" type="string">0</merge>
      <merge key="input.x11_options.LockedDrags" type="string">0</merge>  
      <merge key="input.x11_options.LockedDragTimeout" type="string">5000</merge>

      <merge key="input.x11_options.RTCornerButton" type="string">0</merge>
      <merge key="input.x11_options.RBCornerButton" type="string">0</merge>
      <merge key="input.x11_options.LTCornerButton" type="string">0</merge>
      <merge key="input.x11_options.LBCornerButton" type="string">0</merge>

      <merge key="input.x11_options.TapButton1" type="string">1</merge>
      <merge key="input.x11_options.TapButton2" type="string">2</merge>
      <merge key="input.x11_options.TapButton3" type="string">3</merge>

      <merge key="input.x11_options.ClickFinger1" type="string">1</merge>
      <merge key="input.x11_options.ClickFinger2" type="string">2</merge>
      <merge key="input.x11_options.ClickFinger3" type="string">0</merge>

      <merge key="input.x11_options.CircularScrolling" type="string">0</merge>
      <merge key="input.x11_options.CircScrollTrigger" type="string">0</merge>
      <merge key="input.x11_options.CircScrollDelta" type="string">0.1</merge>

      <merge key="input.x11_options.PalmDetect" type="string">0</merge>
      <merge key="input.x11_options.PalmMinWidth" type="string">10</merge>
      <merge key="input.x11_options.PalmMinZ" type="string">200</merge>

      <merge key="input.x11_options.CoastingSpeed" type="string">0</merge>
      <merge key="input.x11_options.PressureMotionMinZ" type="string">30</merge>
      <merge key="input.x11_options.PressureMotionMaxZ" type="string">160</merge>
      <merge key="input.x11_options.PressureMotionMinFactor" type="string">1</merge>
      <merge key="input.x11_options.PressureMotionMaxFactor" type="string">1</merge>

      <merge key="input.x11_options.GrabEventDevice" type="string">1</merge>
      <merge key="input.x11_options.TapAndDragGesture" type="string">1</merge>
      <merge key="input.x11_options.AreaLeftEdge" type="string">0</merge>
      <merge key="input.x11_options.AreaRightEdge" type="string">0</merge>
      <merge key="input.x11_options.AreaTopEdge" type="string">0</merge>
      <merge key="input.x11_options.AreaBottomEdge" type="string">0</merge>
      <merge key="input.x11_options.JumpyCursorThreshold" type="string">0</merge>

    </match>
  </device>
</deviceinfo>

[edit] Sound

Use the Mini 9 guide to set up your sound. At first I thought that the much newer kernel and audio versions would work out of the box, but you still need to use a Toshiba model and not a Dell in order to get your sound to work properly. Apparently Karmic Koala got bit by this assumption as well ;-)

The new baselayout and udev want you to park conf files in /etc/modprobe.d as a file with a .conf extension. When reading the Mini 9 guide, remember to put your config in something like /etc/modprobe.d/alsa.conf and not where it (or the alsaconf utility) put things.


[edit] make.conf

This is essentially the make.conf I used for emerging this system. I used the Ubuntu partition to create and unpack an autobuild from around late Sept to early Oct 09. I then chrooted into that environment to emerge gnome and kde 3.5.10 desktops with firefox and a few other essentials including a 2.6.30 gentoo-sources kernel. At the time I was working on a stable x86 profile, and this was before KDE 4.3.1 was unmasked to stable. The soup to nuts process for that was about 2-3 days. After seeing how pokey that was, and contemplating emerging openoffice, I did a stage3 tarball which I transferred via flash to one of my Quad Core Phenom desktops. There I set up a 32 bit chroot environment that I could use to emerge updates and then sync to the Vostro.

CFLAGS="-O2 -march=i686 -pipe"
CXXFLAGS="-O2 -march=i686 -pipe"
# WARNING: Changing your CHOST is not something that should be done lightly.
# Please consult http://www.gentoo.org/doc/en/change-chost.xml before changing.
CHOST="i686-pc-linux-gnu"
VIDEO_CARDS="intel"
ACCEPT_KEYWORDS="~x86"
FEATURES="fixpackages noauto -strict"
MAKEOPTS="-j5"
USE="X acl acpi animgif auto-completion bluetooth bzip2 c++ cairo consolekit
     cpufreq dbus -doc emacs encode
     ffmpeg firefox firefox3 flac flash foomaticdb fuse garmin gimp
     gnome gnome-print gstreamer gtk gzip h323 hal hddtemp html id3
     imagemagick imaging iproute2 java jpeg jpeg2k kde laptop lm_sensors
     logrotate lua lzma lzo matroska mjpeg mktemp mmap mmx mmxext mng
     mozilla mp2 mp3 mp4 mpeg mpeg2 mplayer mysql networking nsplugin nspr
     ntfs octave ogg openal openexr opengl pam pango parted pcap pcre perl
     plugins png qt3support qt4 readline regexp samba sdl sockets socks5
     sql sqlite sqlite3 sse sse2 ssl startup-notification svg swat syslog
     theora tiff tk twolame unicode unzip urandom usb v4l v4l2 vorbis
     wav wavpack webkit wifi win32codecs wireshark x264 xanim xine xml
     xscreensaver xulrunner xv xvid zip zlib"

ACCEPT_LICENSE="Broadcom"

Note that the MAKEOPTS is for the Phenom and not the Vostro. I have also decided to move to unstable. I parked this little script in the Ubuntu's /usr/local/bin to rsync the gentoo partition with the Phenom. So far it seems to work without causing me any major heartburn:

#!/bin/bash
cd /mnt/gentoo
rsync -avu --del root@diy4:/video3/bill/vm/nuclear/bin/ bin
rsync -avu --del root@diy4:/video3/bill/vm/nuclear/boot/ boot
rsync -avu --del root@diy4:/video3/bill/vm/nuclear/sbin/ sbin
rsync -avu --del root@diy4:/video3/bill/vm/nuclear/boot/ boot
rsync -avu --del root@diy4:/video3/bill/vm/nuclear/lib/ lib
rsync -avu --del root@diy4:/video3/bill/vm/nuclear/opt/ opt
rsync -avu --del root@diy4:/video3/bill/vm/nuclear/usr/ usr
rsync -avu --del root@diy4:/video3/bill/vm/nuclear/var/db/ var/db
rsync -avu --del root@diy4:/video3/bill/vm/nuclear/var/cache/ var/cache
rsync -avu --del root@diy4:/video3/bill/vm/nuclear/var/www/ var/www
rsync -avub root@diy4:/video3/bill/vm/nuclear/etc/ etc

nuclear is the top level root of the chroot. Also note that I have an authorized_keys type setup between ubuntu and the desktop so that I'm not prompted for password.

Personal tools