Dell_Precision_690_Part_3
| Laptops • TV Tuner Cards • Wireless • Servers • Storage • Other Hardware • Motherboards • Related |
|
Part 3, Upgrade to Latest Stable Platform
Continued from Dell Precision 690 Part 2.
Part 3 turns the 2006.1 Gentoo Reference Platform into the latest stable platform with audio, X11 with GLX OpenGL extensions, GNOME desktop and K Desktop Environment.
Update the Basic Gentoo System
Bring the basic system up-to-date. At present, the system contains many outdated packages, software dating from the 2006.1 GRP snapshot. At early 2007, such represents software almost a whole year behind their current stable versions.
Start by updating the compiler itself. The compiler will be our instrument for compiling and installing all other packages, so makes sense to start here.
b1ynn2j ~ # emerge gcc -up These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild U ] sys-devel/m4-1.4.7 [1.4.4] [ebuild U ] sys-devel/bison-2.2 [2.1] [ebuild U ] sys-apps/texinfo-4.8-r5 [4.8-r2] [ebuild U ] sys-devel/gcc-config-1.3.14 [1.3.13-r3] [ebuild U ] sys-devel/gcc-4.1.1-r1 [4.1.1] USE="-test%" [ebuild U ] sys-libs/timezone-data-2006p [2006a] USE="nls%*" [ebuild U ] sys-libs/glibc-2.4-r4 [2.4-r3] USE="-glibc-compat20%"
The list shows which packages need updating. Remove p (for pretend) to update for real. The update command becomes emerge gcc -u. It takes a while to update the compiler. Especially so because gcc does not use MAKEOPTS="-j5". It overrides with -j1 for single non-parallel build jobs.
At the end, it mentions that 3 configuration files need updating. The changes are trivial and merge automatically using etc-update.
b1ynn2j ~ # etc-update Scanning Configuration files... Automerging trivial changes in: /etc/host.conf Automerging trivial changes in: /etc/init.d/nscd Automerging trivial changes in: /etc/nsswitch.conf Exiting: Nothing left to do; exiting. :)
When complete, Gentoo has recompiled the compiler (using the old compiler) then recompiled the GNU C library using the new compiler. Note the merging order above. All other packages remain compiled by the old compiler and linked originally against the old C library. This is not a huge hurdle. The system will continue running normally anyway. However, the final step of system upgrade will recompile everything from scratch. Recompiling everything will use the new compiler and new library.
Re-merge any deep or USE flag dependencies of gcc as follows.
b1ynn2j ~ # emerge gcc -uDNp These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild U ] sys-apps/findutils-4.3.2 [4.1.20-r2] [ebuild U ] sys-devel/binutils-config-1.9-r3 [1.8-r7] [ebuild R ] sys-kernel/linux-headers-2.6.11-r2 USE="-gcc64%"
Drop the p to actually perform the merge. After merging linux-headers Gentoo advises re-merging glibc using emerge glibc. Follow the advise!
Reboot afterwards. The base system will now link with the new C library.
Automatically run sshd at default run-level.
b1ynn2j ~ # rc-update add sshd default * sshd added to runlevel default
Add a local Portage overlay. Edit /etc/make.conf using nano -w /etc/make.conf and add the following line to the end.
PORTDIR_OVERLAY="/usr/local/portage"
Install enotice. Create a local Portage overlay directory, download the ebuild.
b1ynn2j ~ # mkdir -p /usr/local/portage/app-portage/enotice b1ynn2j ~ # cd /usr/local/portage/app-portage/enotice b1ynn2j enotice # wget http://www.fmp.com/enotice/enotice-0.2.9.1.ebuild
Prepare for compiling by downloading then digesting!
b1ynn2j enotice # ebuild enotice-0.2.9.1.ebuild digest
This may take some time because it attempts to download from a mirror first. At the moment (January 2007) the enotice tarball is not present on Gentoo mirrors. Eventually after many timeouts and retries, the ebuild command takes the tarball from the primary distribution site. Download it directly if you run out of patience (like me).
Unmask before merging enotice.
b1ynn2j enotice # nano -w /etc/portage/package.keywords
Add the line:
app-portage/enotice
You can now merge.
b1ynn2j enotice # emerge enotice
Finally add
PORT_ENOTICE_DIR="/var/tmp/portage/enotice/"
to /etc/make.conf.
Use nano to add
VIDEO_CARDS="nvidia" USE="cjk emacs"
to /etc/make.conf.
Merge ccache package. This will speed up all future compiles. Add
FEATURES="ccache"
to /etc/make.conf.
Update the base system. First pretend.
b1ynn2j ~ # emerge system -up These are the packages that would be merged, in order: Calculating system dependencies... done! [ebuild U ] app-arch/gzip-1.3.5-r10 [1.3.5-r8] [ebuild U ] sys-apps/hdparm-6.6 [6.3] [ebuild U ] sys-devel/make-3.81 [3.80-r4] [ebuild U ] sys-devel/autoconf-wrapper-4-r3 [3.2] [ebuild U ] sys-devel/autoconf-2.61 [2.59-r7] USE="emacs*" [ebuild U ] sys-libs/com_err-1.39 [1.38] [ebuild U ] sys-libs/ss-1.39 [1.38] [ebuild U ] sys-fs/e2fsprogs-1.39 [1.38-r1] [ebuild U ] sys-apps/util-linux-2.12r-r4 [2.12r-r3] [ebuild U ] app-arch/tar-1.16-r2 [1.15.1-r1] [ebuild U ] sys-apps/groff-1.19.2-r1 [1.19.1-r2] USE="cjk%*" [ebuild U ] sys-apps/man-1.6d [1.6-r1] [ebuild U ] sys-devel/automake-wrapper-3-r1 [1-r1] [ebuild N ] perl-core/Test-Simple-0.64 [ebuild N ] virtual/perl-Test-Simple-0.64 [ebuild N ] dev-perl/Locale-gettext-1.05 [ebuild N ] sys-apps/help2man-1.36.4 USE="nls" [ebuild NS ] sys-devel/automake-1.10 [ebuild U ] net-misc/rsync-2.6.9-r1 [2.6.8-r2] [ebuild U ] sys-apps/busybox-1.2.2.1 [1.1.3] [ebuild U ] sys-apps/coreutils-6.4 [5.94-r1] [ebuild U ] sys-apps/baselayout-1.12.6 [1.12.1] [ebuild N ] dev-util/pkgconfig-0.20 USE="-hardened" [ebuild U ] sys-libs/cracklib-2.8.9-r1 [2.8.9] [ebuild U ] sys-apps/shadow-4.0.18.1 [4.0.15-r2] USE="cracklib%*" [ebuild U ] net-misc/openssh-4.4_p1-r6 [4.3_p2-r1] USE="-X%" [ebuild U ] sys-apps/module-init-tools-3.2.2-r1 [3.2.1] USE="-no-old-linux%" [ebuild U ] sys-apps/gawk-3.1.5-r2 [3.1.5-r1] [ebuild U ] sys-apps/kbd-1.12-r8 [1.12-r6] [ebuild U ] sys-apps/file-4.18 [4.17-r1] [ebuild U ] sys-apps/net-tools-1.60-r12 [1.60-r11] [ebuild U ] app-editors/nano-2.0.1 [1.3.11-r2] [ebuild U ] sys-apps/debianutils-2.15-r1 [2.15] [ebuild U ] sys-apps/man-pages-2.42 [2.33]
Then rerun without pretending.
Package comerr gives important warnings. You can use enotice to list the warnings.
b1ynn2j ~ # emerge gentoolkit b1ynn2j ~ # revdep-rebuild
Successful check. The gettext package also gives a warning.
b1ynn2j ~ # revdep-rebuild --library libintl.so.7
Similar for openssl-0.9.8d.
b1ynn2j ~ # revdep-rebuild --library libssl.so.0.9.7
This recompiles wget.
b1ynn2j ~ # revdep-rebuild --library libcrypto.so.0.9.7
This recompiles openssl-0.9.8d. /usr/lib64/libssl.so.0.9.7 /usr/lib64/libcrypto.so.0.9.7
Run etc-update to update the configuration. Accept all updates unconditionally except these:
- /etc/conf.d/clock
- /etc/conf.d/hostname
- /etc/conf.d/keymaps
Reject the clock update; it wants to change back to UTC. Same for hostname; it wants to change host name back to localhost. And same again for keymaps because the update wants to revert to default keyboard layout.
Deep with new USE flags.
b1ynn2j ~ # emerge system -uDNp These are the packages that would be merged, in order: Calculating system dependencies... done! [ebuild R ] sys-devel/gettext-0.15 USE="emacs*" [ebuild R ] dev-libs/openssl-0.9.8d USE="emacs*" [ebuild R ] perl-core/Test-Harness-2.56 [ebuild U ] app-admin/perl-cleaner-1.04.3 [1.04] [ebuild U ] perl-core/PodParser-1.34 [1.32] [ebuild R ] sys-apps/sysvinit-2.86-r5
Rerun without pretend.
Add the Gentoo boot splash. But before doing so, add the png USE flag to your /etc/make.conf. Very important! See Chris Weldon's page about Gentoo Gensplash woes!
b1ynn2j ~ # emerge splash-themes-livecd
It also merges a number of dependencies. Regenerate the initial root disk.
b1ynn2j ~ # genkernel --gensplash=livecd-2006.1 initrd
Add the recommended splash options
splash=silent,theme:livecd-2006.1 CONSOLE=/dev/tty1 quiet
to the end of the kernel boot line in /boot/grub/grub.conf. Use nano editor.
Reboot afterwards because baselayout has changed.
Finally, rebuild the base system again just for the sake of it, 97 packages in total.
b1ynn2j ~ # emerge system -e
This ensures all 97 packages have been compiled by the latest version of the compiler and against the latest C library version. Not normally necessary. Linux systems give a lot of leeway when matching versions and supporting multiple versions in the same system. This rebuild is just paranoia. As a side-effect, it also downloads any missing source archives.
Reboot when done.
Installing Sound
Start by identifying the audio hardware.
b1ynn2j ~ # lspci
The list contains:
00:1b.0 Audio device: Intel Corporation 631xESB/632xESB High Definition Audio Controller (rev 09)
Running lspci -n lists 8086:269a as the PCI vendor and device codes. Linux ALSA drivers support this device in the hda-intel audio driver, sub-device ESB2.
Add
ALSA_CARDS="hda-intel"
to /etc/make.conf. While there add alsa and oss to the USE flags.
Two ways to install: using kernel sources or alsa-driver package. We choose the latter because it often has more up-to-date software. The kernel updates its built-in ALSA drivers more slowly.
Disable the kernel's built-in ALSA.
b1ynn2j ~ # genkernel --splash=livecd-2006.1 --menuconfig all
Find Advanced Linux Sound Architecture (under Device Drivers, Sound) and disable. Exit the configuration menus. Save your new kernel configuration and wait for compilation complete.
Merge ALSA drivers.
b1ynn2j ~ # emerge alsa-driver
Merge ALSA utilities.
b1ynn2j ~ # emerge alsa-utils
Reboot the system at this point. Make sure the old drivers are not loaded.
Configure ALSA by running alsaconf. Select hda-intel.
Make ALSA run automatically at boot time.
b1ynn2j ~ # rc-update add alsasound boot * alsasound added to runlevel boot
Test by merging playing tools.
b1ynn2j ~ # emerge madplay mpg123 vorbis-tools
Then download a sample and play. Change directory to /tmp then enter commands:
b1ynn2j tmp # wget http://www.xiph.org/vorbis/listen/41_30secOgg-q0.ogg b1ynn2j tmp # ogg123 41_30secOgg-q0.ogg
USE Flags
Add the following USE flags.
- X
- gtk for GNOME
- qt3
- qt4
- kde
- svg
- gnome for GNOME
- gstreamer
- hal for GNOME
- dbus
- samba
- jpeg
- mpeg
- mad
- mp3
- ogg
- vorbis
- java
- nsplugin
- xine
- xv
- doc
- examples
- libnotify
- opengl
- dvd
- cdr
- dvdr
- cddb
- encode
- ffmpeg
- audiofile
- sndfile
- usb
- spell
- arts
- avahi for GNOME
- zeroconf
- nvidia
- truetype
Install X11
b1ynn2j ~ # emerge xorg-x11
Insert the nvidia module.
b1ynn2j ~ # modprobe nvidia
Also, ensure that this module loads automatically every time the system boots. Edit the kernel auto-load list and add nvidia.
b1ynn2j ~ # nano -w /etc/modules.autoload.d/kernel-2.6
Then run
b1ynn2j ~ # update-modules
Automatically generate the X configuration.
b1ynn2j ~ # Xorg -configure
Test using
b1ynn2j ~ # X -config /root/xorg.conf.new
The test fails, for two reasons: GLX and mouse.
GLX
b1ynn2j ~ # eselect opengl list Available OpenGL implementations: [1] nvidia [2] xorg-x11 *
Switch to nvidia.
b1ynn2j ~ # eselect opengl set nvidia Switching to nvidia OpenGL interface... done
Retest and the GLX message goes away.
Mouse
Edit the new X configuration.
b1ynn2j ~ # nano -w xorg.conf.new
In section InputDevice, change driver and device as follows.
Driver "evdev"
Option "Device" "/dev/input/event1"
Then rerun the test. This time complete success.
Test mouse buttons by merging xev and running xev from within X.
Keyboard
If necessary, customise keyboard layout.
Option "XkbLayout" "gb"
Finally
Copy the new configuration to /etc/X11.
b1ynn2j ~ # cp xorg.conf.new /etc/X11/xorg.conf
Big One!
The very big one!
b1ynn2j ~ # emerge gnome kde-meta
Some of the Java dependencies require that you download packages from the Internet manually! You can conveniently download using links but you need to install it first.
emerge links
A problem occurs when installing net-dns/libidn. This package's dependencies include JDK 1.3 or 1.4, not 1.5. You need to enter
b1ynn2j ~ # emerge =virtual/jdk-1.4*
This merges 1.4-series JDK. By default, it merges the Blackdown JVM.
emerge emacs-cvs
emerge subversion
Configuring GNOME
Already added USE flags gtk, gnome, hal and avahi. Next add the following line to /etc/portage/package.use.
gnome-base/gnome-session branding
It customises GNOME for Gentoo.
At the end run command:
b1ynn2j ~ # emerge gnome -uDN
It pulls in extra deep dependencies.
Update the default run-level.
b1ynn2j ~ # rc-update add hald default * hald added to runlevel default b1ynn2j ~ # rc-update add avahi-dnsconfd default * avahi-dnsconfd added to runlevel default
Set up GNOME's Display Manager. Set DISPLAYMANAGER to gdm in /etc/conf.d/xdm.
DISPLAYMANAGER="gdm"
Add X display management to the default run-level.
b1ynn2j ~ # rc-update add xdm default * xdm added to runlevel default
KDE
Note that KDE switches off sub-pixel hinting of fonts by default.
Other Useful Packages
- openoffice-bin
- koffice
- emacs-cvs
- subversion
- kdesdk-meta
- mozilla-thunderbird
- freefonts
- artwiz-fonts
- sharefonts
- terminus-font
- unifont
- dejavu
- intlfonts
- urw-fonts
- skype
- k3b
Note you cannot merge standard OpenOffice, only the binary version. This automatically downloads and installs a 32-bit emulator.
For Skype, Sound System's Hardware settings has Full duplex checked.
Log Rotation
b1ynn2j ~ # emerge logrotate
Cleaning Temporary Space
b1ynn2j ~ # emerge tmpwatch
Uncomment the first example.
if [[-d /tmp]] ; then
${TMPWATCH} --ctime 168 /tmp
fi
Notice --ctime option. As installed, tmpwatch uses atime, access time.
Simple SMTP
See HOWTO Gmail and sSMTP. First add to /etc/portage/package.use:
mail-mta/ssmtp mailwrapper
Then merge ssmtp.
b1ynn2j ~ # emerge ssmtp
It also merges net-mail/mailwrapper.
Edit the SMTP configuration. Add your local mail relay.
Add your reverse aliases.
b1ynn2j ~ # nano -w /etc/ssmtp/revaliases
Layout Manager
b1ynn2j ~ # emerge layman b1ynn2j ~ # layman -f
Fetching creates a new directory, /usr/portage/local/layman.
b1ynn2j ~ # layman -L
Add this URL http://www.roy.ratcliffe.dsl.pipex.com/gentoo/layman.xml to the list of overlays in /etc/layman/layman.cfg.
b1ynn2j ~ # layman -f b1ynn2j ~ # layman -a royratcliffe
Add
source /usr/portage/local/layman/make.conf
to /etc/make.conf.
Links and References
- Portage Overlay
- HOWTO Installing 3rd Party Ebuilds
- Enotice — A Gentoo Linux per-package message logger/reader
- The X Server Configuration HOWTO
- Gentoo Linux nVidia Guide
- X11 Mouse
- The GNOME Configuration HOWTO
- HOWTO Xorg and Fonts
Feedback
Concerns or Compliments? Please use the Discussion section.
Created by NickStallman.net, Luxury Homes Australia
Real estate agents should list their apartments, townhouses and units in Australia.
