Saturday, September 30, 2006
Gentoo AMD64 install in Xen DomU
(I'm assuming that you've already created a working Xen Dom0 domain and that you already have a Xen DomU kernel with which you can boot the Gentoo guest OS. I'm skipping a lot of steps and doing what I think works based on previous Gentoo installs.)

Disk preparation: I'm installing the Gentoo guest OSs into LVM volumes managed by the Dom0 hypervisor domain. Each guest OS gets a single partition for root that is exported to the guest OS as /dev/sda1. In rare cases, I'm also providing a 2nd and 3rd LVM partition for the guest OS which are exported as /dev/sda2 and /dev/sda3.

xena-adele thomas # lvcreate -L4G vgmirror -n domu-svn1root
Logical volume "domu-svn1root" created
xena-adele thomas # mke2fs -j /dev/vgmirror/domu-svn1root
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
524288 inodes, 1048576 blocks
52428 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=1073741824
32 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736

Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 20 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
xena-adele thomas # mkdir /mnt/gentoo
mkdir: cannot create directory `/mnt/gentoo': File exists
xena-adele thomas # mount /dev/vgmirror/domu-svn1root /mnt/gentoo


That takes care of the first 4 sections in the handbook. In my case, the vgmirror group is an LVM volume group backed by software RAID (RAID1+hotspare) that the Dom0 hypervisor manages using mdadm.

A 4GB volume is probably about the minimum useful size for a Gentoo install, even a stripped down server-only install like this one. It's safe enough as long as you have a monitoring job to watch disk space and/or are using an aggressive logrotate schedule.

I already had the portage and stage3 *.bz2 files downloaded from last month, so I don't need to download them. Otherwise, you should grab the latest stage3 tarball and the latest portage snapshot from the public servers. Both of these files should be placed into /mnt/gentoo.

Extraction of the 2 bz2 files is simple:

# cd /mnt/gentoo
# ls -l *.bz2
# tar xvjpf stage3-*.tar.bz2
# tar xvjf portage-*.tar.bz2 -C /mnt/gentoo/usr


That puts us at step 5e in the Gentoo Handbook. You can remove the *.bz2 files from /mnt/gentoo, but you'll probably want to back them up somewhere safe so you can reference them when building the next DomU.

Edit your make.conf file and configure the GENTOO_MIRROR=, SYNC=, and USE= lines.

Now you're ready to prepare for the chroot.

# cp -L /etc/resolv.conf /mnt/gentoo/etc/resolv.conf
# mount -t proc none /mnt/gentoo/proc
# mount -o bind /dev /mnt/gentoo/dev
# chroot /mnt/gentoo /bin/bash
# env-update
>> Regenerating /etc/ld.so.cache...
# source /etc/profile
# export PS1="(chroot) $PS1"
# emerge --sync


That will go pretty quick if you have a local rsync mirror.

# ln -sf /usr/share/zoneinfo/EST5EDT /etc/localtime

You can skip configuration of the kernel and installing grub/lilo since both of those tasks are handled by the hypervisor domain. The only exception to this guideline is if you have kernel modules that need to be installed and loaded. This should be a rare occurance in a Xen guest domain.

The fstab should be pretty simple. Especially if you have the system configured with a single partition. In my case, /etc/fstab looks like:

/dev/sda1 / ext3 noatime 0 1
proc /proc proc defaults 0 0
shm /dev/shm tmpfs nodev,nosuid,noexec 0 0


Now for some final clean-up work:

(chroot) livecd linux # nano -w /etc/conf.d/hostname
(chroot) livecd linux # nano -w /etc/conf.d/net
config_eth7=( "192.168.142.100 netmask 255.255.255.0" )
routes_eth7=( "default gw 192.168.142.1" )
(chroot) livecd linux # cd /etc/init.d
(chroot) livecd init.d # ln -s net.lo net.eth0
(chroot) livecd init.d # rc-update add net.eth0 default
* net.eth0 added to runlevel default
* rc-update complete.
(chroot) livecd init.d # cat /etc/resolv.conf
(verify your DNS servers if you specified a static IP)
(chroot) livecd init.d # passwd
(set your root password to something you will remember)
New UNIX password:
Retype new UNIX password:
passwd: password updated successfully
# cd /
# emerge syslog-ng
# rc-update add syslog-ng default
(then update /etc/syslog-ng/syslog-ng.conf)
# emerge dcron
# rc-update add dcron default
# crontab /etc/crontab
# /usr/bin/ssh-keygen -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key -N ""
(the key may take a a minute to generate)
# /usr/bin/ssh-keygen -t dsa -b 1024 -f /etc/ssh/ssh_host_dsa_key -N ""
# chmod 600 /etc/ssh/ssh_host_?sa_key
# chmod 644 /etc/ssh/ssh_host_?sa_key.pub
# rc-update add sshd default
# useradd -m -G users,wheel,audio -s /bin/bash username
(then put your user's public key file in their ~/.ssh folder)

Time to exit the chroot, unmount everything, and try to start the guest domain. Odds are high that you will have trouble completely dismounting /mnt/gentoo (even if you umount /mnt/gentoo/proc and /mnt/gentoo/dev first). So you'll likely have to restart the entire machine to get things clean.

(Which is why you'll only want to create the base system *once*. Then copy it for new setups.)

I strongly suggest running GNU "screen" in the Dom0 hypervisor domain. That will allow you to create a new screen to test out the install ([Ctrl-A][C] to create a new screen). Then you can simply start the new guest domain with:

# xm create -c mydomainconfigfile

You can then shutdown (and exit) the domain by logging in as root and typing "shutdown -h now". Once the guest domain seems to be working, fire it up without the "-c" option to get it running in the background.

Labels: ,

Sunday, August 27, 2006
irq 7: nobody cared (try booting with the "irqpoll" option)
Not sure what I'm going to do about this error on the AMD64 Asus M2N32-SLI Deluxe motherboard.

Aug 27 20:16:42 san1-azure irq 7: nobody cared (try booting with the "irqpoll" option)
Aug 27 20:16:42 san1-azure
Aug 27 20:16:42 san1-azure Call Trace: {__report_bad_irq+48}
Aug 27 20:16:42 san1-azure {note_interrupt+472} {__do_IRQ+183}
Aug 27 20:16:42 san1-azure {do_IRQ+57} {default_idle+0}
Aug 27 20:16:42 san1-azure {ret_from_intr+0} {default_idle+43}
Aug 27 20:16:42 san1-azure {cpu_idle+151} {start_secondary+1141}
Aug 27 20:16:42 san1-azure handlers:
Aug 27 20:16:42 san1-azure [] (usb_hcd_irq+0x0/0x54)
Aug 27 20:16:42 san1-azure Disabling IRQ #7


Putting "irqpoll" on the end of the kernel line in grub.conf causes the system to panic during boot (has to do with the 2nd core in the X2 chip).

Labels: ,

Saturday, August 26, 2006
Gentoo AMD64 on Asus M2N32-SLI Deluxe (part 5)
Now there were a few minor things that I had to fix after the reboot before I could SSH back in. I hadn't pointed my swap line in /etc/fstab at the proper mdadm RAID volume, the 3c509 moved from eth7 to eth4 after the reboot, I had to use the "noapic" kernel option and I'm still getting the IRQ7 warning.

But the system is mostly in a workable state at this point. So it's time to start installing administration packages and cleaning up the install. I'll save the existing kernel as my "base" configuration in case I screw things up.

The first package that I always install is emerge screen. That provides me with multiple virtual terminals in my single SSH connection. Even better, if I disconnect accidentally, I don't lose my state and programs that were running within screen sessions will continue running. After reconnecting, I can type "screen -x" and reconnect to my old sessions.

Other key packages to install, even on a basic system like this one, are:

app-benchmarks/bonnie
app-editors/vim
app-misc/colordiff
app-portage/gentoolkit
app-text/tree
dev-util/subversion
net-analyzer/iptraf
net-analyzer/nettop
net-analyzer/nload
net-misc/ntp
sys-apps/dstat
sys-apps/eject
sys-apps/smartmontools
sys-process/atop

san1-azure ~ # emerge -pv bonnie vim colordiff gentoolkit tree subversion iptraf nettop nload ntp dstat eject smartmontools atop

These are the packages that I would merge, in order:

Calculating dependencies ...done!
[ebuild N ] app-benchmarks/bonnie-2.0.6 6 kB
[ebuild N ] dev-util/ctags-5.5.4-r2 254 kB
[ebuild N ] app-editors/vim-core-7.0.17 -acl -bash-completion -livecd +nls 5,997 kB
[ebuild N ] app-editors/vim-7.0.17 -acl -bash-completion -cscope +gpm -minimal (-mzscheme) +nls +perl +python -ruby -vim-pager -vim-with-x 0 kB
[ebuild N ] app-vim/gentoo-syntax-20051221 -ignore-glep31 18 kB
[ebuild N ] app-misc/colordiff-1.0.5-r2 13 kB
[ebuild N ] app-portage/gentoolkit-0.2.2 84 kB
[ebuild N ] app-text/tree-1.5.0 -bash-completion 25 kB
[ebuild N ] dev-libs/apr-0.9.12 +ipv6 -urandom 1,024 kB
[ebuild N ] dev-libs/apr-util-0.9.12 +berkdb -gdbm -ldap 578 kB
[ebuild N ] net-misc/neon-0.26.1 +expat -gnutls +nls -socks5 +ssl -static +zlib 763 kB
[ebuild N ] dev-util/subversion-1.3.2-r1 -apache2 -bash-completion +berkdb -emacs -java +nls -nowebdav +perl +python -ruby +zlib 6,674 kB
[ebuild N ] net-analyzer/iptraf-2.7.0-r1 +ipv6 410 kB
[ebuild N ] net-libs/libpcap-0.9.4 +ipv6 415 kB
[ebuild N ] sys-libs/slang-1.4.9-r2 -cjk -unicode 628 kB
[ebuild N ] net-analyzer/nettop-0.2.3 22 kB
[ebuild N ] net-analyzer/nload-0.6.0 118 kB
[ebuild N ] net-misc/ntp-4.2.0.20040617-r3 -caps -debug +ipv6 -logrotate -openntpd -parse-clocks (-selinux) +ssl 2,403 kB
[ebuild N ] sys-apps/dstat-0.6.0-r1 35 kB
[ebuild N ] sys-apps/eject-2.1.0-r1 +nls 65 kB
[ebuild N ] mail-client/mailx-support-20030215 8 kB
[ebuild N ] net-libs/liblockfile-1.06-r1 31 kB
[ebuild N ] mail-client/mailx-8.1.2.20040524-r1 126 kB
[ebuild N ] sys-apps/smartmontools-5.36 -static 528 kB
[ebuild N ] sys-process/acct-6.3.5-r1 300 kB
[ebuild N ] sys-process/atop-1.15 102 kB

Total size of downloads: 20,638 kB
san1-azure ~ #


That should take all of about 0.1 seconds on this Athlon64 X2. (I joke, slightly... the box is quite snappy even with only 7200rpm SATA drives.)

Now I'm going to configure SubVersion. There have been some changes in that process that I learned through trial and error. Folders that I would recommend placing under version control are:

/boot (most files)
/etc (most files, especially configuration files)
/usr/local/sbin (local sysadmin scripts that you create)
/usr/src (the .config file, make sure you add the actual directory with "svn add -N" before adding the "linux" symbolic link)

I know there are other folders to add, but I typically add them on the fly as I start customizing the system.

Labels: ,

Gentoo AMD64 on Asus M2N32-SLI Deluxe (part 4)
This is a record of the kernel flags that I'm going to use for my AMD64 system. It's an Asus M2N32-SLI Deluxe (NVIDIA nForce 590 SLI MCP chipset) with an Athlon64 X2 4200+ chip along with 2GB of RAM. Hard drives are hooked up to the onboard SATA-II controller (NVIDIA nForce 590 SLI MCP chipset). Plus the motherboard has a pair of onboard gigabit ethernet NICs (Marvell 88E1116) and a Silicon Image Sil3132 SATA-II controller. Other chips on the motherboard are the nVidia C51XE, nVidia MCP55PXE, AD1988B, and TSB43AB22A.

In addition, I'll have even more hard drives hooked up to a HighPoint RocketRAID 2300 PCIe card. There's also a 3Com 3C905B PCI ethernet card installed along with a pair of Intel PRO/1000 PCIe gigabit NICs.

# emerge mdadm
# emerge lvm2
# cd /usr/src/linux
# make menuconfig


Linux Kernel v2.6.17-gentoo-r4 Configuration
Code maturity level options
General setup
Loadable module support
Processor type and features
--> Processor family (changed to "AMD-Opteron/Athlon64")
--> Preemption Model (No Forced Preemption (Server))
Power management options (ACPI, APM)
Bus options (PCI, etc.)
Executable file formats
Device drivers
--> ATA/ATAPI/MFM/RLL support
--> --> generic/default IDE chipset support (should already be ON)
--> --> --> ATI IXP chipset IDE support (turn OFF)
--> --> --> Intel PIIXn chipsets support (turn OFF)
--> --> --> IT821X IDE support (turn OFF)
--> SCSI device support
--> --> SCSI generic support (turn this ON)
--> --> SCSI low-level drivers
--> --> --> Serial ATA (SATA) support (should already be ON)
--> --> --> --> Intel PIIX/ICH SATA support (turn OFF)
--> --> --> --> Silicon Image SATA support (turn OFF)
--> --> --> --> Silicon Image 3124/3132 SATA support (turn ON as BUILT-IN)
--> --> --> --> VIA SATA support (turn OFF)
--> Multi-device support (should already be ON)
--> --> RAID support (turn it ON as BUILT-IN)
--> --> --> RAID-1 mirroring mode (turn it ON as BUILT-IN)
--> --> --> RAID-10 mirroring striping mode (turn it ON as BUILT-IN)
--> --> Device mapper support (turn ON as BUILT-IN)
--> Networking support
--> --> Ethernet (1000Mbit)
--> --> --> Intel. PRO/1000 Gigabit Ethernet support (turn ON)
--> --> --> Broadcom Tigon3 support (turn OFF)
--> Character Devices
--> --> Intel/AMD/VIA HW Random Number Generator (should be ON)
--> --> Intel 440LX/BX/GX, I8xx and E7x05 chipset support (turn it OFF)
--> Sound
--> --> Sound card support (turn OFF)
File systems
--> Network File Systems
--> --> SMB file system support (turn ON as BUILT-IN)
--> --> CIFS support (turn ON as BUILT-IN)
Profiling support
Kernel hacking
Security options
Cryptographic options
--> Cryptographic API (turn ON)
--> --> HMAC support (NEW) (turn ON as BUILT-IN)
--> --> (turn ON all other options as MODULE)
Library routines

Now we can compile and copy the kernel to the /boot partition.

# make && make modules_install
# ls -l /boot
# ls -l arch/x86_64/boot
# df
# cp arch/x86_64/boot/bzImage /boot/kernel-2.6.17-25Aug2006-2300
# cp System.map /boot/System.map-2.6.17-25Aug2006-2300
# cp .config /boot/config-2.6.17-25Aug2006-2300
# ls -l /boot


Next is Chapter 8, Configuring your System.

(chroot) livecd linux # nano -w /etc/fstab

My fstab (there are lines not shown):

/dev/md0                /boot           ext2            noauto,noatime  1 2        
/dev/md1 / ext3 noatime 0 1
/dev/md3 none swap sw 0 0
/dev/cdroms/cdrom0 /mnt/cdrom iso9660 noauto,ro 0 0
#/dev/fd0 /mnt/floppy auto noauto 0 0

/dev/vgmirror/home /home ext3 noatime 0 3
/dev/vgmirror/tmp /tmp ext2 noatime 0 3
/dev/vgmirror/vartmp /var/tmp ext2 noatime 0 3
/dev/vgmirror/log1 /var/log ext3 noatime 0 3
/dev/vgmirror/portage /usr/portage ext3 noatime 0 3

/dev/vgmirror/svn /var/svn ext3 noatime 0 4
/dev/vgmirror/backupsys /backup/system ext3 noatime 0 4


Now for some final clean-up work:

(chroot) livecd linux # nano -w /etc/conf.d/hostname
(chroot) livecd linux # nano -w /etc/conf.d/net
config_eth7=( "192.168.142.100 netmask 255.255.255.0" )
routes_eth7=( "default gw 192.168.142.1" )
(chroot) livecd linux # cd /etc/init.d
(chroot) livecd init.d # ln -s net.lo net.eth7
(chroot) livecd init.d # rc-update add net.eth7 default
* net.eth7 added to runlevel default
* rc-update complete.
(chroot) livecd init.d # cat /etc/resolv.conf
(verify your DNS servers if you specified a static IP)
(chroot) livecd init.d # nano -w /etc/conf.d/clock
CLOCK_SYSTOHC="yes"
(chroot) livecd init.d # passwd
(set your root password to something you will remember)
(chroot) livecd init.d # passwd
New UNIX password:
Retype new UNIX password:
passwd: password updated successfully
(chroot) livecd init.d #
# emerge syslog-ng
# rc-update add syslog-ng default
# emerge dcron
# rc-update add dcron default
# crontab /etc/crontab
# /usr/bin/ssh-keygen -t dsa -b 2048 -f /etc/ssh/ssh_host_dsa_key -N ""
(the key may take a a minute to generate)
# chmod 600 /etc/ssh/ssh_host_dsa_key
# chmod 644 /etc/ssh/ssh_host_dsa_key.pub
# rc-update add sshd default


Now it's time for grub.

(chroot) livecd init.d # emerge grub
(chroot) livecd init.d # ls -l /boot
total 3468
-rw-r--r-- 1 root root 1090703 Aug 26 00:35 System.map-2.6.17-25Aug2006-2300
lrwxrwxrwx 1 root root 1 Aug 25 18:09 boot -> .
-rw-r--r-- 1 root root 28714 Aug 26 00:35 config-2.6.17-25Aug2006-2300
drwxr-xr-x 2 root root 1024 Aug 26 01:03 grub
-rw-r--r-- 1 root root 2397504 Aug 26 00:35 kernel-2.6.17-25Aug2006-2300
drwx------ 2 root root 12288 Aug 25 16:46 lost+found
(chroot) livecd init.d # nano -w /boot/grub/grub.conf
# Which listing to boot as default. 0 is the first, 1 the second etc.
default 0
timeout 30

# Aug 2006 Base Installation (software RAID, LVM2)
title=Gentoo Linux 2.6.17 (Aug 25 2006) BASE INSTALL
root (hd0,0)
kernel /kernel-2.6.17-25Aug2006-2300 root=/dev/md1

# Aug 2006 Base Installation (software RAID, LVM2) - NOAPIC
title=Gentoo Linux 2.6.17 (Aug 25 2006) BASE NOAPIC
root (hd0,0)
kernel /kernel-2.6.17-25Aug2006-2300 root=/dev/md1 noapic
(chroot) livecd init.d # grub --no-floppy
grub> find /grub/stage1
(hd0,0)
(hd1,0)
grub> root (hd0,0)
grub> setup (hd0)
grub> device (hd0) /dev/sdb
grub> root (hd0,0)
grub> setup (hd0)
grub> quit


Time to exit the chroot, unmount everything, and try a reboot.

livecd / # cat /proc/mounts
rootfs / rootfs rw 0 0
tmpfs / tmpfs rw 0 0
/dev/hda /mnt/cdrom iso9660 ro 0 0
/dev/loop/0 /mnt/livecd squashfs ro 0 0
proc /proc proc rw,nodiratime 0 0
sysfs /sys sysfs rw 0 0
udev /dev tmpfs rw,nosuid 0 0
devpts /dev/pts devpts rw 0 0
tmpfs /mnt/livecd/lib64/firmware tmpfs rw 0 0
tmpfs /mnt/livecd/usr/portage tmpfs rw 0 0
usbfs /proc/bus/usb usbfs rw 0 0
/dev/md1 /mnt/gentoo ext3 rw,data=ordered 0 0
/dev/md0 /mnt/gentoo/boot ext2 rw,nogrpid 0 0
/dev/vgmirror/tmp /mnt/gentoo/tmp ext2 rw,nogrpid 0 0
/dev/vgmirror/vartmp /mnt/gentoo/var/tmp ext2 rw,nogrpid 0 0
/dev/vgmirror/home /mnt/gentoo/home ext3 rw,data=ordered 0 0
/dev/vgmirror/portage /mnt/gentoo/usr/portage ext3 rw,data=ordered 0 0
/dev/vgmirror/log1 /mnt/gentoo/var/log ext3 rw,data=ordered 0 0
/dev/vgmirror/svn /mnt/gentoo/var/svn ext3 rw,data=ordered 0 0
/dev/vgmirror/backupsys /mnt/gentoo/backup/system ext3 rw,data=ordered 0 0
none /mnt/gentoo/proc proc rw,nodiratime 0 0
udev /mnt/gentoo/dev tmpfs rw,nosuid 0 0
livecd / # unmount /mnt/gentoo/backup/system /mnt/gentoo/var/svn /mnt/gentoo/var/log /mnt/gentoo/usr/portage
-bash: unmount: command not found
livecd / # umount /mnt/gentoo/backup/system /mnt/gentoo/var/svn /mnt/gentoo/var/log /mnt/gentoo/usr/portage
livecd / # umount /mnt/gentoo/home /mnt/gentoo/var/tmp /mnt/gentoo/tmp
livecd / # umount /mnt/gentoo/boot /mnt/gentoo/dev /mnt/gentoo/proc /mnt/gentoo
livecd / # reboot


Remove the LiveCD and cross your fingers. Success!

Labels: ,

Friday, August 25, 2006
Gentoo AMD64 on Asus M2N32-SLI Deluxe (part 3)
It's now time to start refering to the Gentoo Installation Handbook for AMD64. While I'm pretty sure that my install method works, it's worthwhile verifying against the handbook. Plus I'm using a minimal CD to do the installation, so things will be slightly different then normal.

(I use my own recipe for the initial configuration due to the mix of Software RAID + LVM2. It has served me well over the past few years and works well.)

This page starts with section 5 in the Gentoo handbook (Installing the Gentoo Installation Files).

livecd / # date
Fri Aug 25 21:23:52 UTC 2006
livecd / # cd /mnt/gentoo
livecd gentoo # links http://www.gentoo.org/main/en/mirrors.xml


Follow the directions on the Gentoo handbook page to download the correct stage3 tarball for your install. The steps are roughly thus:


  1. Pick an HTTP mirror from the list (arrow up/down then press [Enter] on the link)
  2. Go into the "releases/" folder
  3. Go into the "amd64/" folder (note: Not all mirrors carry the AMD64 folder, you may need to pick another mirror)
  4. Go into the "current/" folder
  5. Go into the "stages/" folder
  6. Find the stage3-amd64-NNNN.N-tar.bz2 tarball, highlight it and click [D] to download
  7. Press [Q] to quit out of links


Now you should have the tarball in /mnt/gentoo:

livecd gentoo # ls -l
total 105797
drwxr-xr-x 3 root root 4096 Aug 25 21:11 backup
drwxr-xr-x 3 root root 1024 Aug 25 20:46 boot
drwxr-xr-x 3 root root 4096 Aug 25 20:59 home
drwx------ 2 root root 16384 Aug 25 20:47 lost+found
-rw-r--r-- 1 root root 108186115 Aug 25 22:05 stage3-amd64-2006.0.tar.bz2
drwxrwxrwt 3 root root 4096 Aug 25 20:59 tmp
drwxr-xr-x 3 root root 4096 Aug 25 21:00 usr
drwxr-xr-x 5 root root 4096 Aug 25 21:10 var
livecd gentoo #


Extract the tarball:

livecd gentoo # tar xvjpf stage3-*.tar.bz2

You'll follow similar steps for the portage tarball. In fact, we probably should've downloaded it at the same time to /mnt/gentoo.

livecd gentoo # tar xvjf /mnt/gentoo/portage-20060123.tar.bz2 -C /mnt/gentoo/usr

Setup your make flags. Since I have an X2 CPU, I'm using "-j3" for MAKEOPTS.

livecd gentoo # vi /mnt/gentoo/etc/make.conf
# These settings were set by the catalyst build script that automatically built this stage
# Please consult /etc/make.conf.example for a more detailed example
CFLAGS="-march=k8 -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"
MAKEOPTS="-j3"


Now we start in on Section 6 (Installing the Gentoo Base System). Time to pick mirrors and other things.

livecd gentoo # mirrorselect -i -o >> /mnt/gentoo/etc/make.conf
livecd gentoo # mirrorselect -i -r -o >> /mnt/gentoo/etc/make.conf
livecd gentoo # cat /mnt/gentoo/etc/make.conf
# These settings were set by the catalyst build script that automatically built this stage
# Please consult /etc/make.conf.example for a more detailed example
CFLAGS="-march=k8 -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"
MAKEOPTS="-j3"


GENTOO_MIRRORS="http://gentoo.arcticnetwork.ca/ http://www.gtlib.gatech.edu/pub/gentoo http://gentoo.chem.wisc.edu/gentoo/ http://gentoo.mirrors.pair.com/ "

SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage"
livecd gentoo #


Copy the resolv.conf file and mount /proc and /dev:

livecd gentoo # cp -L /etc/resolv.conf /mnt/gentoo/etc/resolv.conf
livecd gentoo # mount -t proc none /mnt/gentoo/proc
livecd gentoo # mount -o bind /dev /mnt/gentoo/dev


We're ready to chroot and start the build.

livecd gentoo # chroot /mnt/gentoo /bin/bash
livecd / # env-update
>>> Regenerating /etc/ld.so.cache...
livecd / # source /etc/profile
livecd / # export PS1="(chroot) $PS1"
(chroot) livecd / #


Read the next section carefully! I use an extremely limited USE flag (that turns off all multimedia and graphical support).

(chroot) livecd / # emerge --sync

(chroot) livecd / # ls -FGg /etc/make.profile
lrwxrwxrwx 1 50 Aug 25 22:10 /etc/make.profile -> ../usr/portage/profiles/default-linux/amd64/2006.0/
(chroot) livecd / # nano -w /etc/make.conf
USE="-alsa -apm -arts -bitmap-fonts -gnome -gtk -gtk2 -kde -mad -mikmod -motif -opengl -oss -qt -quicktime -sdl -truetype -truetype-fonts -type1-fonts -X -xmms -xv"
(chroot) livecd / # ls /usr/share/zoneinfo
(chroot) livecd / # ln -sf /usr/share/zoneinfo/EST5EDT /etc/localtime
(chroot) livecd / # date
(chroot) livecd / # zdump GMT
(chroot) livecd / # zdump EST5EDT


Read section 7 carefully. I'm using the default "gentoo-sources" kernel.

(chroot) livecd / # USE="-doc symlink" emerge gentoo-sources

I'll cover configuration of the kernel in the next post.

Labels: ,

Gentoo AMD64 on Asus M2N32-SLI Deluxe (part 2)
As I said last time, I'm setting this unit up with the following partitions on the 2-disk RAID1 set (sda and sdb):

sda1 (md0) - 128MB for /boot
sda2 (md1) - 8GB for the root partition (primary)
sda3 (md2) - 8GB for a root partition (backup operating system)
sda4 - place-holder for extended partition
sda5 (md3) - 4GB swap file partition
sda6 (md4) - 679GB in LVM2 volume group (vgmirror)

Since I already created the RAID arrays last time, this time I only need to start up the RAID sets.

# modprobe md
# modprobe raid1
# for i in 0 1 2 3 4; do mknod /dev/md$i b 9 $i; done
# mdadm --assemble /dev/md0 /dev/sda1 /dev/sdb1
# mdadm --assemble /dev/md1 /dev/sda2 /dev/sdb2
# mdadm --assemble /dev/md2 /dev/sda3 /dev/sdb3
# mdadm --assemble /dev/md3 /dev/sda5 /dev/sdb5
# mdadm --assemble /dev/md4 /dev/sda6 /dev/sdb6


The LVM2 area on /dev/md4 is already created as well:

# modprobe dm-mod
# pvscan
PV /dev/md4 VG vgmirror lvm2 [679.39 GB / 679.39 GB free]
Total: 1 [679.39 GB] / in use: 1 [679.39 GB] / in no VG: 0 [0 ]
# vgscan
Reading all physical volumes. This may take a while...
Found volume group "vgmirror" using metadata type lvm2


Create the basic mdadm configuration file. While mdadm is able to figure out most things automatically, it's useful to give it hints.

# mdadm --detail --scan >> /etc/mdadm.conf
# vi /etc/mdadm.conf


Here's my mdadm.conf file. Notice the use of UUIDs by mdadm to ensure that it always matches up the correct partitions with the mdadm device numbers. This also should ensure that the mdadm device numbers never change.

ARRAY /dev/md4 level=raid1 num-devices=2 UUID=9b76e544:c3775946:1458656b:c78ce692
ARRAY /dev/md3 level=raid1 num-devices=2 UUID=a441836c:a3801fed:a6e616da:dd829ebc
ARRAY /dev/md2 level=raid1 num-devices=2 UUID=84c2076e:edd3ceaf:595ae236:381044ca
ARRAY /dev/md1 level=raid1 num-devices=2 UUID=b4da9f10:265c3868:db128369:583c900e
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=ada9bc71:2044d255:74204255:b1ba5cd1


Next we create the file systems:

livecd / # mke2fs /dev/md0
livecd / # mke2fs -j /dev/md1
livecd / # mke2fs -j /dev/md2
livecd / # mkswap /dev/md3 ; swapon /dev/md3
livecd / # mount /dev/md1 /mnt/gentoo
livecd / # mkdir /mnt/gentoo/boot ; mount /dev/md0 /mnt/gentoo/boot


For the LVM2 volumes, things are a bit more complex. The majority of the action is going to take place inside of the root volumes since we are only doing a minimal build on order to prep for a Xen Domain0 kernel. However, there are a few volumes that are worthwhile placing in LVM so that they are available to both the primary and the backup operating system. (Mostly /home and /usr/portage along with the temporary volumes.)

# lvcreate -L2G -ntmp vgmirror
# lvcreate -L2G -nvartmp vgmirror
# lvcreate -L2G -nhome vgmirror
# lvcreate -L4G -nportage vgmirror
# ls -l /dev/vgmirror
# lvscan
# mke2fs /dev/vgmirror/tmp
# mke2fs /dev/vgmirror/vartmp
# mke2fs -j /dev/vgmirror/home
# mke2fs -j /dev/vgmirror/portage
# mkdir /mnt/gentoo/tmp ; mount /dev/vgmirror/tmp /mnt/gentoo/tmp
# chmod 1777 /mnt/gentoo/tmp
# mkdir /mnt/gentoo/var
# mkdir /mnt/gentoo/var/tmp ; mount /dev/vgmirror/vartmp /mnt/gentoo/var/tmp
# chmod 1777 /mnt/gentoo/var/tmp
# mkdir /mnt/gentoo/home ; mount /dev/vgmirror/home /mnt/gentoo/home
# mkdir /mnt/gentoo/usr
# mkdir /mnt/gentoo/usr/portage ; mount /dev/vgmirror/portage /mnt/gentoo/usr/portage


Now for the supplementary volumes (logs, subversion and system backup). I'm using separate volumes for the log files of the primary vs secondary operating system. The secondary (backup) O/S only gets 1GB of space for its log files.

# lvcreate -L4G -nlog1 vgmirror
# lvcreate -L1G -nlog2 vgmirror
# lvcreate -L2G -nsvn vgmirror
# lvcreate -L16G -nbackupsys vgmirror
# mke2fs -j /dev/vgmirror/log1
# mke2fs -j /dev/vgmirror/log2
# mke2fs -j /dev/vgmirror/svn
# mke2fs -j /dev/vgmirror/backupsys
# mkdir /mnt/gentoo/var/log ; mount /dev/vgmirror/log1 /mnt/gentoo/var/log
# mkdir /mnt/gentoo/var/svn ; mount /dev/vgmirror/svn /mnt/gentoo/var/svn
# mkdir /mnt/gentoo/backup
# mkdir /mnt/gentoo/backup/system ; mount /dev/vgmirror/backupsys /mnt/gentoo/backup/system


Whew, that's a big packet of LVM partitions. But it prevents problems down the road.

At this point, everything is setup and ready for the initial install (or a chroot into an existing system for repairs).

Labels: ,

Gentoo AMD64 on Asus M2N32-SLI Deluxe (part 1)
Time to build the base Gentoo Linux O/S. While I plan on switching over to a Xen hypervisor kernel in a few days, I still need to get a base Gentoo system up and running. But first, let me document what sort of machine I'm building and the reasoning behind some of the decisions.

The unit is a custom-built system that will serve as a test unit for building out an iSCSI SAN (and eventually serve as part of that SAN if it tests well). There will be multiple NICs so that I can bond NICs for bandwidth and so that I can connect NICs to multiple switches in the SAN mesh (for fault-tolerance). Initially, it will have only (2) SATA drives installed, but the eventual loadout will have a total of (14) SATA drives.

Since I needed (2) SATA RAID cards and (2) Intel PRO/1000 dual-port server gigabit NICs, I needed a motherboard with multiple PCIe slots. The Asus M2N32-SLI Deluxe meets that requirement with (2) x16, (1) x4, and (1) x1 slots. Plus it has (2) PCI slots. These slots will be populated as follows:

PCIe x16: Intel PRO/1000 dual-port PCIe x4
PCIe x4: 8-port SATA RAID card PCIe x4
PCIe x1: HighPoint RocketRAID 2300 SATA-II 4-port PCIe x1
PCIe x16: Intel PRO/1000 dual-port PCIe x4
PCI: 3com 3C905B NIC
PCI: old PCI video card

So I'm using the x16 slots for something other then a video card (which works on newer BIOS revisions).

Plus, the motherboard is an AM2 with the newer AMD Pacifica virtualization technology (AMD-V). That will do a better job of running Xen then the current Opteron 940pin CPUs. This motherboard also supports ECC, which I will be installing in a few weeks. Other features include: (6) SATA-II ports, (2) gigabit Marvel NICs, (1) internal SATA-II port on a Silicon Image chip, (1) ESATA on the Silicon Image chip, (10) USB ports, (2) Firewire ports.

Not a cheap board ($200 retail) and has quite a bit of headroom. The PCIe architecture should also perform better then the older PCI motherboards, which is important in a 14-disk SAN unit.

All of this is being installed in a ThermalTake Armor tower case (MODELNUMBER?). The Armor case has (2) internal hard drive bays (actually 3, but I'm only using 2 for thermal reasons) and (11) 5.25" bays on the front. One of those 5.25" bays is occupied by the floppy drive mount location, the power and reset switches and the power and HD LEDs. That leaves me with (10) 5.25" bays.

In those (10) 5.25" bays, I'm installing a DVD-RW in the top and then filling the rest of the (9) bays with 4:3 SATA hot-plug back planes. These will hold (12) SATA-II hard drives and allow us to swap out hard drives easily (even if we don't hotplug we can still minimize downtime). The two internal drives are not as easy to replace, but they are still fairly easy to get at and replace in under 30 minutes.

My initial configuration plan is a (2) drive RAID1 using the internal bays and the motherboard SATA-II connectors. That will allow me to get the OS up and running and do some limited testing. After that I will add (4) HDs to the first hotswap bay, connect them to the HighPoint 2300 card, and run them as RAID10 for twice the performance as a 2-drive RAID1 set.

Down the road we will add the 8-port SATA RAID card and fill the other 8 bays in the front. These will be configured as a (6) drive RAID10 set (3x performance) with (2) hot spare drives. That will fill out the unit. If I'm pressed for space and capacity, I could add a 3rd drive to the internal drive bay for a hot-spare (risking more heat) and setup the last (8) drives up front as a (8) drive RAID10.

The current power-supply is a 750W ThermalTake ToughPower unit. Ideally, I'd install a redundant PSU in this case, but I'll tackle that at a future date. One thing that I do wish I had done was to have bought the "modular" 750W PSU. That unit makes the component power cables connect to plugs on the PSU making it easier to swap out a failed PSU without re-wiring all of the components. However, due to all of the room inside the Armor case, re-wiring is not that difficult or time-consuming.

I'm also not ready to spend $500-$600 on a redundant PSU until I know whether the 750W can handle (15) hard drives plus an Athlon64 X2 4200+ with multiple NICs and expansion cards. I'm pretty sure that it will. The base recommendation for an Athlon64 X2 with a simple setup is 300-350W. Figure that each additional hard drive adds 20W to the load (overstatement) and 15x20W = 300W. That puts us up around 600-650W not including the extra expansion cards. So the 750W should perform very well.

...

For the install, I plan on a partition layout like so (both sda and sdb are configured identically and then mirrored together):

Disk /dev/sda: 750.1 GB, 750156374016 bytes
255 heads, 63 sectors/track, 91201 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 1 17 136521 fd Linux raid autodetect
/dev/sda2 18 1015 8016435 fd Linux raid autodetect
/dev/sda3 1016 2013 8016435 fd Linux raid autodetect
/dev/sda4 2014 91201 716402610 5 Extended
/dev/sda5 2014 2512 4008186 fd Linux raid autodetect
/dev/sda6 2513 91201 712394361 fd Linux raid autodetect


Partition #1 is the boot partition. I generally go with 128MB as it allows me to have a dozen or so kernels setup in grub.

Partition #2 and #3 are 8GB install partitions. I plan on installing once to the first 8GB partition, then cloning the install to the second 8GB partition. That way, worst case, if the primary install gets hosed, we can boot to the second partition which is still functional.

Partition #4 is simply the extended (logical) partition place-holder.

Partition #5 will be used for the Linux swap area. I always mirror my swap so that the machine keeps running even if one of the drives fails.

Partition #6 is for LVM2 and will be sub-divided up. I estimate that I'll use about 50-100GB for the O/S which will leave 600GB or so for use by clients.

That's a fairly conservative partition layout and should provide me with enough flexibility to recover from most situations without having to toss an install CD into the unit.

...

Other sysadmin tricks that I plan on using are:

- Using SubVersion to store the contents of /boot, /etc, and other system configuration files. That will give me a history of changes to the system. That has been working very well on my other systems.

- Using Bacula or rdiff-snapshot or rsync or dd to create snapshots of the working root volumes. In worst-case, we restore the root volumes from backups.

- Sharing the portage tree between the two root partitions. This is low-risk and will save space and time.

- Sharing the /tmp and /var/tmp LVM partitions between the two root partitions. Naturally, the swap partition is also shared between the two root partitions.

- Putting /home on its own LVM partition and sharing it between the two root partitions. Moderately risky, but since this is a server-only headless setup with no users, it's not a big deal.

...

So it's a moderately complex setup, but provides me with multiple fall-back positions and restoration options. Anything from reverting a configuration file to a newer version, to booting a known-good root partition, to restoring the system from backups.

And there's always the last resort of putting a Gentoo boot CD in the unit, starting networking and the SSH daemon, and attempting to fix the unit remotely.

Labels: ,

Thursday, August 24, 2006
Gentoo AMD64 and Asus M2N32-SLI Deluxe
Finally got my Asus M2N32-SLI Deluxe motherboard setup and ready for installation. Tossed the 2006.0 Gentoo AMD64 CD in and told it to use 80x25 for the old PCI video card that I have in it. Unforunately, it hangs after a bit.

So my first plan of attack is to update the Asus BIOS from 0406 to 0603 (which is 2 revisions newer). The 0603 revision was released on June 29, 2006. The Asus BIOS includes an EZ-FLASH tool in the BIOS Setup (Tools menu), all I have to do is burn the BIOS file to a CD-ROM or diskette.

Update: It was actually easier to put the BIOS update on a USB flash drive and connect it one of the the USB ports.

Update #2: I had to boot the kernel using:

boot: gentoo noapic noacpi

Which gets me past the hang at:

io scheduler noop registered
io scheduler deadline registered


I'm also using a very old PCI video card so I have to specify my video mode at the prompt (I usually pick 80x43).

Instead it now hangs at "Letting udev process events". Could be time to try the "gentoo-nofb noapic" kernel option (no frame buffer). Hmm, that got me farther, but still no luck. I'm reading that the nForce 590 chipsets aren't well supported by Linux yet. Trying with the "noapic" option resulted in a hang entering kernel mode 3.

Time for plan B... seeing if the latest Ubuntu 6.06 CD works on this system. That may give me some hints. From what I'm reading I have to use the "apic=off" option on the Ubuntu 6.06 CD. Hmm... that hung as well.

# gentoo-nofb noapic noacpi nolapic

Hmm... still hangs. Off to do some more research.

Update #3: Finally got a system that seems to be working.

Reverted the BIOS from the 0604 revision back to the 0503 revision. Now I can boot the Gentoo AMD64 2006.0 minimal CD using the options gentoo-nofb noapic. I still get the IRQ7 error that seems to be bugging other Gentoo users, but the system is stable enough to start the install.

Labels: ,

Xen plans
So as I wait for parts to be delivered for the Test SAN unit, I'm reading up on Xen and iSCSI and debating what my plan of attack will be. My options (roughly) are:

1) Build a normal Gentoo server and load iscsitarget on top of it. This is the simplest of all options and something that I'm very comfortable with. However, if I were then then need to run other services on top of the unit, I run the risk of making the iSCSI server portion unstable.

2) Xen with various services running in DomUs. A bit more complex but offers a lot more flexibility. I can start setting up virtual servers for the sub-tasks and then migrate them off of the test unit when I have more hardware available.

What I'm not sure is whether to run iscsitarget in its own DomU or if it should run in Dom0. If I run the iscsitarget in its own DomU, then it becomes easy to restart the iscsitarget server in a worst case without taking down the entire box.

Links:

Infrastructure virtualisation with Xen advisory

Labels: , , , ,

Tuesday, June 20, 2006
VIA EPIA Gentoo Migration
Currently, I was using a VIA EPIA system as my music server, but now I'm thinking about turning it into a smart router for the home office. This will entail adding a ethernet card to the unit in addition to migrating my hard drives from a pair of 300GB drives to a pair of notebook drives (for less power). Since I'm using Software RAID, moving from one set of disks to another should be nearly seamless.

The hardware has changed a little bit since my previous attempt at building the system back in March 2005, but the BIOS settings are identical. The current hardware consists of:

(1) VIA EPIA ME6000 (EPIA M series), 600Mhz fanless CPU
(2) 300GB 5400rpm hard drives
(1) DVD-ROM
(1) Morex Venus 668 Black Case
(1) 1GB PC2100 DIMM

I'm going to replace the two 300GB 3.5" drives with less power-hungry 60GB laptop drives. The basic process is:

  1. Detach the DVD-ROM (which happens to be the master drive on the 2nd cable) and connect the laptop drive. That will allow me to work with the new drives one at a time while I migrate from the old to the new.
  2. Copy the boot sector from the old /dev/hda to the new laptop drive: dd if=/dev/hda bs=512 count=1 of=/dev/hdc
  3. Verify that the first (3) partitions on the new drive are identically sized as the original drive.
  4. Copy the filesystem from the old drive to the new drive: dd if=/dev/hda1 of=/dev/hdc1
  5. Install grub on the new disk.
  6. Shutdown
  7. Remove the old /dev/hda 300GB drive, move the new laptop drive into place
  8. Restart the system, verify the Software RAID. I had to tell mdadm to add the /dev/hda partitions to the arrays: mdadm /dev/md0 -a /dev/hda1


Note: I forgot to install grub on the new disk this last time. So I need to boot from the LiveCD, chroot into the O/S and re-install grub on the new disks.

Labels: , ,

Friday, January 27, 2006
Gentoo - dcfldd
dcfldd

A fancier version of the basic "dd" command. The big advantage that I wanted was:

- Status information (useful when wiping large hard drives)

Here's my wipe command.

# dcfldd if=/dev/urandom of=/dev/sda conv=notrunc bs=128k

If you're in more of a hurry, try:

# dcfldd if=/dev/zero of=/dev/sda conv=notrunc bs=128k

Some slower CPUs can't generate PRNG numbers (/dev/urandom) fast enough to keep up with the disk wipe process. If you're using "atop" you'll notice that the system is spending 100% of the time in the "sys" (and dcfldd is using up 100% CPU). In addition, the hard drive lights will not be constantly lit. Plus the "DSK" line for the drive being wiped will not be busy 100% of the time in "atop".

Labels: ,

Monday, November 21, 2005
Success at fixing sluggishness
Hah, I finally flipped the right bit on my AMD64 Gentoo server to eliminate the issue with sluggishness while mdadm is rebuilding a RAID array. So, without further ado, here is my current .config file for a 2.6.13 kernel along with the diff between the last unsuccessful kernel and the kernel that worked.

KernelConfig-1122-0030.txt

KernelConfig-1122-0030-diff.txt

I changed close to a dozen flags when I built the last kernel. One (or more) of them was key in getting rid of the sluggishness.

Labels: ,

Troubleshooting (comparison of kernel configs)
I now have a few sample kernel configs from kind folks in alt.os.linux.gentoo. There are two that I've focused in on (mostly because they posted first and they gave background on the config files).

2005_1-LiveCDConfig.txt - This is the .config file from the AMD64 2005.1 LiveCD. Since I know this kernel works, it's a prime starting point for researching why I'm having the issues that I'm having.

Anton-AsusK8VSE-Sep2005-config.txt - This kernel config is for an Asus K8VSE, which isn't exactly the board that I'm using (an Asus A8V). However, it is at least a VIA chipset so is pretty relevant. Comparing against this helps to narrow what is different between my kernel, Anton's kernel and the kernel config on the LiveCD.

Scharf-AsusA8V-Aug2005-config.txt - This is a kernel config for an Asus A8V (same motherboard as me). So it will help me verify my particular configuration.

Now for the comparison files. These were created by GNU's diff3 tool on my WinXP laptop, but the output should be pretty standard diff3 output. File #1 is always the LiveCD, file #2 is my current kernel config and file #3 is whatever .config file that I'm comparing against.

LiveCD-vs-Kernel11141600-vs-Anton.txt

LiveCD-vs-Kernel11141600-vs-Scharf.txt

Lines that are the same between the LiveCD and the sample config, but *different* on my config would show up as:

1:35c
3:35c
CONFIG_HOTPLUG=y
2:36c
# CONFIG_HOTPLUG is not set


CONFIG_HOTPLUG is set as "y" in both the LiveCD kernel config and Anton's kernel config, but not defined in my kernel config. Naturally, my first pass through the comparison is looking for instances like this and then researching the option to understand whether it should be uniquely set on my system.

Now for the details, I've identified a few troublespots in my kernel config that could be causing issues (these are comparisons against the Scharf config). What I'm finding is that there are very few places in my config where I'm doing something different then the Scharf config (but the LiveCD is the same as the Scharf config).:

1:35c
3:35c
CONFIG_HOTPLUG=y
2:36c
# CONFIG_HOTPLUG is not set

Both Anton/Scharf configs set this the same way as the LiveCD.

1:61c
3:60c
# CONFIG_MODULE_FORCE_UNLOAD is not set
2:62c
CONFIG_MODULE_FORCE_UNLOAD=y

Both Anton/Scharf configs set this the same way as the LiveCD.

1:110c
3:102c
# CONFIG_SOFTWARE_SUSPEND is not set
2:120,121c
CONFIG_SOFTWARE_SUSPEND=y
CONFIG_PM_STD_PARTITION=""

The software suspend option is probably not the cause of my troubles. Anton's config uses software suspend to a dedicated partition. However, I should still plan on turning this off since I'm not going to use software suspend.

1:211c
3:189c
# CONFIG_IA32_AOUT is not set
2:211c
CONFIG_IA32_AOUT=y

Anton configuration has this set to "Y", the Scharf has it not set.

1:895c
3:613c
# CONFIG_NETCONSOLE is not set
2:591,595c
CONFIG_NETCONSOLE=y
CONFIG_NETPOLL=y
# CONFIG_NETPOLL_RX is not set
# CONFIG_NETPOLL_TRAP is not set
CONFIG_NET_POLL_CONTROLLER=y

Mine is the only config to set this to "Y".

1:1597c
3:1334c
# CONFIG_PROFILING is not set
2:1089,1090c
CONFIG_PROFILING=y
CONFIG_OPROFILE=y

Probably not an issue. The Anton config sets this to "Y"/"M" instead of "Y"/"Y".

Updates:

None of the above settings seem to have made any difference.

Labels: ,

Monday, November 14, 2005
More troubleshooting steps
A) AMD64 / Athlon X2 Opinions - Recommends adding "clock=pmtmr notsc" to the kernel parameters in the grub.conf file. It probably won't help with the sluggishness and lost ticks since those arguments are not being passed on the LiveCD boot.

The LiveCD boots with:

livecd / # dmesg
Bootdata ok (command line is initrd=gentoo.igz root=/dev/ram0 init=/linuxrc looptype=squashfs loop=/livecd.squashfs udev nodevfs dokeymap cdroot vga=791 splash=silent,theme:livecd-2005.1 CONSOLE=/dev/tty1 quiet BOOT_IMAGE=gentoo )
Linux version 2.6.12-gentoo-r6 (root@poseidon) (gcc version 3.4.3 20041125 (Gentoo 3.4.3-r1, ssp-3.4.3-0, pie-8.7.7)) #1 SMP Mon Aug 1 14:22:17 UTC 2005
(snip)


B) Abit AN8 config file from Help with kernel .config (amd64 3000+, s939 nforce4). The poster is also using "pci=biosirq pci=irqroute clock=pmtmr notsc" in their kernel config line.

(haven't tried yet)

C) Config file for an Abit AN8-Ultra. No reported issues by the poster (same thread as #B above).

(haven't tried yet)

D) Turning off power management and CPU frequency options (in both the kernel and the BIOS). A somewhat drastic step, but will allow me to hopefully rule this in/out. This kernel will be my Nov 14th 1500 kernel.

I'm in the process of building this kernel. But after booting and testing with it, no change in the issue.

E) Going to try flipping back to an earlier kernel. I went back to my Nov 8th kernel and merely added in the driver support for sata_promise, the HPT302 chip and the TX2 card (even though the latter two are not installed at the moment). I now have a slightly different "ticks" message:

Losing some ticks... checking if CPU frequency changed.
warning: many lost ticks.
Your time source seems to be instable or some driver is hogging interupts
rip scsi_dispatch_cmd+0x1f3/0x250

I had not seen "rip scsi_dispatch_cmd+0x1f3/0x250" yet. The old message was "rip __do_softirq+0x48/0xb0". Wow, no google hit for the scsi_dispatch_cmd line.

Labels: ,

Sunday, November 13, 2005
AMD64 broken kernel config file
Current broken configuration. Here is the diff between my current configuration and what was on the LiveCD. Left side is the LiveCD config file, right side is my kernel's config file.

AMD64 2005.1 Gentoo LiveCD Kernel Config

I'm still trying to puzzle out what is different on the LiveCD (which works, and which options are causing me grief on the installed kernel). I've even tried adding the "noapic notsc" to my kernel line in grub.conf, but it doesn't fix the issue of sluggishness (it just hides the error).

3,4c3,4
< # Linux kernel version: 2.6.12-gentoo-r6
< # Mon Aug 1 14:21:03 2005
---
> # Linux kernel version: 2.6.13-gentoo-r5
> # Sun Nov 13 14:44:42 2005
22c22
< CONFIG_LOCK_KERNEL=y
---
> CONFIG_BROKEN_ON_SMP=y
31c31
< # CONFIG_POSIX_MQUEUE is not set
---
> CONFIG_POSIX_MQUEUE=y
35c35
< CONFIG_HOTPLUG=y
---
> # CONFIG_HOTPLUG is not set
39,41c39,42
< CONFIG_CPUSETS=y
< CONFIG_EMBEDDED=y
< # CONFIG_KALLSYMS is not set
---
> # CONFIG_EMBEDDED is not set
> CONFIG_KALLSYMS=y
> CONFIG_KALLSYMS_ALL=y
> # CONFIG_KALLSYMS_EXTRA_PASS is not set
47d47
< CONFIG_CC_OPTIMIZE_FOR_SIZE=y
61c61
< # CONFIG_MODULE_FORCE_UNLOAD is not set
---
> CONFIG_MODULE_FORCE_UNLOAD=y
63c63
< CONFIG_MODVERSIONS=y
---
> # CONFIG_MODVERSIONS is not set
65,66c65
< CONFIG_KMOD=y
< CONFIG_STOP_MACHINE=y
---
> # CONFIG_KMOD is not set
71c70
< # CONFIG_MK8 is not set
---
> CONFIG_MK8=y
73,75c72,74
< CONFIG_GENERIC_CPU=y
< CONFIG_X86_L1_CACHE_BYTES=128
< CONFIG_X86_L1_CACHE_SHIFT=7
---
> # CONFIG_GENERIC_CPU is not set
> CONFIG_X86_L1_CACHE_BYTES=64
> CONFIG_X86_L1_CACHE_SHIFT=6
79,81c78,79
< # CONFIG_X86_MSR is not set
< # CONFIG_X86_CPUID is not set
< CONFIG_X86_HT=y
---
> CONFIG_X86_MSR=y
> CONFIG_X86_CPUID=y
85,90c83,86
< CONFIG_SMP=y
< CONFIG_PREEMPT=y
< CONFIG_PREEMPT_BKL=y
< CONFIG_SCHED_SMT=y
< # CONFIG_K8_NUMA is not set
< # CONFIG_NUMA_EMU is not set
---
> # CONFIG_SMP is not set
> CONFIG_PREEMPT_NONE=y
> # CONFIG_PREEMPT_VOLUNTARY is not set
> # CONFIG_PREEMPT is not set
92,93c88,95
< CONFIG_HAVE_DEC_LOCK=y
< CONFIG_NR_CPUS=8
---
> CONFIG_ARCH_FLATMEM_ENABLE=y
> CONFIG_SELECT_MEMORY_MODEL=y
> CONFIG_FLATMEM_MANUAL=y
> # CONFIG_DISCONTIGMEM_MANUAL is not set
> # CONFIG_SPARSEMEM_MANUAL is not set
> CONFIG_FLATMEM=y
> CONFIG_FLAT_NODE_MEM_MAP=y
> CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID=y
95,99c97,104
< # CONFIG_X86_PM_TIMER is not set
< # CONFIG_HPET_EMULATE_RTC is not set
< # CONFIG_GART_IOMMU is not set
< CONFIG_DUMMY_IOMMU=y
< # CONFIG_X86_MCE is not set
---
> CONFIG_X86_PM_TIMER=y
> CONFIG_HPET_EMULATE_RTC=y
> CONFIG_GART_IOMMU=y
> CONFIG_SWIOTLB=y
> CONFIG_X86_MCE=y
> CONFIG_X86_MCE_INTEL=y
> CONFIG_PHYSICAL_START=0x100000
> # CONFIG_KEXEC is not set
100a106,109
> # CONFIG_HZ_100 is not set
> CONFIG_HZ_250=y
> # CONFIG_HZ_1000 is not set
> CONFIG_HZ=250
110c119,120
< # CONFIG_SOFTWARE_SUSPEND is not set
---
> CONFIG_SOFTWARE_SUSPEND=y
> CONFIG_PM_STD_PARTITION=""
119,120c129,130
< CONFIG_ACPI_AC=m
< CONFIG_ACPI_BATTERY=m
---
> # CONFIG_ACPI_AC is not set
> # CONFIG_ACPI_BATTERY is not set
122a133
> # CONFIG_ACPI_HOTKEY is not set
126,129c137,140
< CONFIG_ACPI_ASUS=m
< CONFIG_ACPI_IBM=m
< CONFIG_ACPI_TOSHIBA=m
< CONFIG_ACPI_BLACKLIST_YEAR=0
---
> # CONFIG_ACPI_ASUS is not set
> # CONFIG_ACPI_IBM is not set
> # CONFIG_ACPI_TOSHIBA is not set
> CONFIG_ACPI_BLACKLIST_YEAR=2001
136c147
< CONFIG_ACPI_CONTAINER=m
---
> # CONFIG_ACPI_CONTAINER is not set
142c153
< CONFIG_CPU_FREQ_TABLE=m
---
> CONFIG_CPU_FREQ_TABLE=y
144c155
< CONFIG_CPU_FREQ_STAT=m
---
> CONFIG_CPU_FREQ_STAT=y
149,152c160,163
< CONFIG_CPU_FREQ_GOV_POWERSAVE=m
< CONFIG_CPU_FREQ_GOV_USERSPACE=m
< CONFIG_CPU_FREQ_GOV_ONDEMAND=m
< CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
---
> # CONFIG_CPU_FREQ_GOV_POWERSAVE is not set
> # CONFIG_CPU_FREQ_GOV_USERSPACE is not set
> # CONFIG_CPU_FREQ_GOV_ONDEMAND is not set
> CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
157,161c168,170
< CONFIG_X86_POWERNOW_K8=m
< CONFIG_X86_POWERNOW_K8_ACPI=y
< CONFIG_X86_SPEEDSTEP_CENTRINO=m
< CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI=y
< CONFIG_X86_ACPI_CPUFREQ=m
---
> CONFIG_X86_POWERNOW_K8=y
> # CONFIG_X86_SPEEDSTEP_CENTRINO is not set
> # CONFIG_X86_ACPI_CPUFREQ is not set
166,168c175
< # CONFIG_X86_ACPI_CPUFREQ_PROC_INTF is not set
< CONFIG_X86_P4_CLOCKMOD=m
< CONFIG_X86_SPEEDSTEP_LIB=m
---
> # CONFIG_X86_SPEEDSTEP_LIB is not set
177c184
< CONFIG_PCIEPORTBUS=y
---
> # CONFIG_PCIEPORTBUS is not set
186,198c193
< CONFIG_PCCARD=m
< # CONFIG_PCMCIA_DEBUG is not set
< CONFIG_PCMCIA=m
< CONFIG_CARDBUS=y
<
< #
< # PC-card bridges
< #
< CONFIG_YENTA=m
< CONFIG_PD6729=m
< CONFIG_I82092=m
< CONFIG_TCIC=m
< CONFIG_PCCARD_NONSTATIC=m
---
> # CONFIG_PCCARD is not set
211c206
< # CONFIG_IA32_AOUT is not set
---
> CONFIG_IA32_AOUT=y
216a212,277
> # Networking
> #
> CONFIG_NET=y
>
> #
> # Networking options
> #
> CONFIG_PACKET=y
> # CONFIG_PACKET_MMAP is not set
> CONFIG_UNIX=y
> # CONFIG_NET_KEY is not set
> CONFIG_INET=y
> CONFIG_IP_MULTICAST=y
> # CONFIG_IP_ADVANCED_ROUTER is not set
> CONFIG_IP_FIB_HASH=y
> # CONFIG_IP_PNP is not set
> # CONFIG_NET_IPIP is not set
> # CONFIG_NET_IPGRE is not set
> # CONFIG_IP_MROUTE is not set
> # CONFIG_ARPD is not set
> # CONFIG_SYN_COOKIES is not set
> # CONFIG_INET_AH is not set
> # CONFIG_INET_ESP is not set
> # CONFIG_INET_IPCOMP is not set
> # CONFIG_INET_TUNNEL is not set
> CONFIG_IP_TCPDIAG=y
> CONFIG_IP_TCPDIAG_IPV6=y
> # CONFIG_TCP_CONG_ADVANCED is not set
> CONFIG_TCP_CONG_BIC=y
> CONFIG_IPV6=y
> # CONFIG_IPV6_PRIVACY is not set
> # CONFIG_INET6_AH is not set
> # CONFIG_INET6_ESP is not set
> # CONFIG_INET6_IPCOMP is not set
> # CONFIG_INET6_TUNNEL is not set
> # CONFIG_IPV6_TUNNEL is not set
> # CONFIG_NETFILTER is not set
>
> #
> # SCTP Configuration (EXPERIMENTAL)
> #
> # CONFIG_IP_SCTP is not set
> # CONFIG_ATM is not set
> # CONFIG_BRIDGE is not set
> # CONFIG_VLAN_8021Q is not set
> # CONFIG_DECNET is not set
> # CONFIG_LLC2 is not set
> # CONFIG_IPX is not set
> # CONFIG_ATALK is not set
> # CONFIG_X25 is not set
> # CONFIG_LAPB is not set
> # CONFIG_NET_DIVERT is not set
> # CONFIG_ECONET is not set
> # CONFIG_WAN_ROUTER is not set
> # CONFIG_NET_SCHED is not set
> # CONFIG_NET_CLS_ROUTE is not set
>
> #
> # Network testing
> #
> # CONFIG_NET_PKTGEN is not set
> # CONFIG_HAMRADIO is not set
> # CONFIG_IRDA is not set
> # CONFIG_BT is not set
>
> #
225c286
< CONFIG_FW_LOADER=m
---
> # CONFIG_FW_LOADER is not set
236,244c297
< CONFIG_PARPORT=m
< CONFIG_PARPORT_PC=m
< CONFIG_PARPORT_SERIAL=m
< CONFIG_PARPORT_PC_FIFO=y
< CONFIG_PARPORT_PC_SUPERIO=y
< CONFIG_PARPORT_PC_PCMCIA=m
< CONFIG_PARPORT_NOT_PC=y
< # CONFIG_PARPORT_GSC is not set
< CONFIG_PARPORT_1284=y
---
> # CONFIG_PARPORT is not set
260,295c313,317
< CONFIG_BLK_DEV_FD=m
< CONFIG_PARIDE=m
< CONFIG_PARIDE_PARPORT=m
<
< #
< # Parallel IDE high-level drivers
< #
< CONFIG_PARIDE_PD=m
< CONFIG_PARIDE_PCD=m
< CONFIG_PARIDE_PF=m
< CONFIG_PARIDE_PT=m
< CONFIG_PARIDE_PG=m
<
< #
< # Parallel IDE protocol modules
< #
< CONFIG_PARIDE_ATEN=m
< CONFIG_PARIDE_BPCK=m
< CONFIG_PARIDE_COMM=m
< CONFIG_PARIDE_DSTR=m
< CONFIG_PARIDE_FIT2=m
< CONFIG_PARIDE_FIT3=m
< CONFIG_PARIDE_EPAT=m
< CONFIG_PARIDE_EPATC8=y
< CONFIG_PARIDE_EPIA=m
< CONFIG_PARIDE_FRIQ=m
< CONFIG_PARIDE_FRPW=m
< CONFIG_PARIDE_KBIC=m
< CONFIG_PARIDE_KTTI=m
< CONFIG_PARIDE_ON20=m
< CONFIG_PARIDE_ON26=m
< CONFIG_BLK_CPQ_DA=m
< CONFIG_BLK_CPQ_CISS_DA=m
< # CONFIG_CISS_SCSI_TAPE is not set
< CONFIG_BLK_DEV_DAC960=m
< CONFIG_BLK_DEV_UMEM=m
---
> CONFIG_BLK_DEV_FD=y
> # CONFIG_BLK_CPQ_DA is not set
> # CONFIG_BLK_CPQ_CISS_DA is not set
> # CONFIG_BLK_DEV_DAC960 is not set
> # CONFIG_BLK_DEV_UMEM is not set
299,300c321,322
< CONFIG_BLK_DEV_NBD=m
< CONFIG_BLK_DEV_SX8=m
---
> # CONFIG_BLK_DEV_NBD is not set
> # CONFIG_BLK_DEV_SX8 is not set
304c326
< CONFIG_BLK_DEV_RAM_SIZE=8192
---
> CONFIG_BLK_DEV_RAM_SIZE=4096
316c338
< # CONFIG_IOSCHED_CFQ is not set
---
> CONFIG_IOSCHED_CFQ=y
332d353
< CONFIG_BLK_DEV_IDECS=m
335c356
< CONFIG_BLK_DEV_IDEFLOPPY=m
---
> # CONFIG_BLK_DEV_IDEFLOPPY is not set
343,345c364,365
< CONFIG_BLK_DEV_CMD640=y
< CONFIG_BLK_DEV_CMD640_ENHANCED=y
< CONFIG_BLK_DEV_IDEPNP=y
---
> # CONFIG_BLK_DEV_CMD640 is not set
> # CONFIG_BLK_DEV_IDEPNP is not set
350,351c370,371
< CONFIG_BLK_DEV_OPTI621=y
< CONFIG_BLK_DEV_RZ1000=y
---
> # CONFIG_BLK_DEV_OPTI621 is not set
> # CONFIG_BLK_DEV_RZ1000 is not set
356,358c376,377
< CONFIG_BLK_DEV_AEC62XX=y
< CONFIG_BLK_DEV_ALI15X3=y
< # CONFIG_WDC_ALI15X3 is not set
---
> # CONFIG_BLK_DEV_AEC62XX is not set
> # CONFIG_BLK_DEV_ALI15X3 is not set
360,367c379,385
< CONFIG_BLK_DEV_ATIIXP=y
< CONFIG_BLK_DEV_CMD64X=y
< CONFIG_BLK_DEV_TRIFLEX=y
< CONFIG_BLK_DEV_CY82C693=y
< CONFIG_BLK_DEV_CS5520=y
< CONFIG_BLK_DEV_CS5530=y
< CONFIG_BLK_DEV_HPT34X=y
< # CONFIG_HPT34X_AUTODMA is not set
---
> # CONFIG_BLK_DEV_ATIIXP is not set
> # CONFIG_BLK_DEV_CMD64X is not set
> # CONFIG_BLK_DEV_TRIFLEX is not set
> # CONFIG_BLK_DEV_CY82C693 is not set
> # CONFIG_BLK_DEV_CS5520 is not set
> # CONFIG_BLK_DEV_CS5530 is not set
> # CONFIG_BLK_DEV_HPT34X is not set
369,374c387,391
< CONFIG_BLK_DEV_SC1200=y
< CONFIG_BLK_DEV_PIIX=y
< CONFIG_BLK_DEV_IT821X=y
< CONFIG_BLK_DEV_NS87415=y
< CONFIG_BLK_DEV_PDC202XX_OLD=y
< # CONFIG_PDC202XX_BURST is not set
---
> # CONFIG_BLK_DEV_SC1200 is not set
> # CONFIG_BLK_DEV_PIIX is not set
> # CONFIG_BLK_DEV_IT821X is not set
> # CONFIG_BLK_DEV_NS87415 is not set
> # CONFIG_BLK_DEV_PDC202XX_OLD is not set
377,382c394,399
< CONFIG_BLK_DEV_SVWKS=y
< CONFIG_BLK_DEV_SIIMAGE=m
< CONFIG_BLK_DEV_SIS5513=y
< CONFIG_BLK_DEV_SLC90E66=y
< CONFIG_BLK_DEV_TRM290=y
< CONFIG_BLK_DEV_VIA82CXXX=y
---
> # CONFIG_BLK_DEV_SVWKS is not set
> # CONFIG_BLK_DEV_SIIMAGE is not set
> # CONFIG_BLK_DEV_SIS5513 is not set
> # CONFIG_BLK_DEV_SLC90E66 is not set
> # CONFIG_BLK_DEV_TRM290 is not set
> # CONFIG_BLK_DEV_VIA82CXXX is not set
401,403c418,420
< CONFIG_BLK_DEV_SR=y
< CONFIG_BLK_DEV_SR_VENDOR=y
< CONFIG_CHR_DEV_SG=m
---
> # CONFIG_BLK_DEV_SR is not set
> # CONFIG_CHR_DEV_SG is not set
> # CONFIG_CHR_DEV_SCH is not set
415,416c432,433
< CONFIG_SCSI_SPI_ATTRS=m
< CONFIG_SCSI_FC_ATTRS=m
---
> # CONFIG_SCSI_SPI_ATTRS is not set
> # CONFIG_SCSI_FC_ATTRS is not set
422,431c439,443
< CONFIG_BLK_DEV_3W_XXXX_RAID=m
< CONFIG_SCSI_3W_9XXX=m
< CONFIG_SCSI_ACARD=m
< CONFIG_SCSI_AACRAID=m
< CONFIG_SCSI_AIC7XXX=m
< CONFIG_AIC7XXX_CMDS_PER_DEVICE=32
< CONFIG_AIC7XXX_RESET_DELAY_MS=5000
< # CONFIG_AIC7XXX_DEBUG_ENABLE is not set
< CONFIG_AIC7XXX_DEBUG_MASK=0
< CONFIG_AIC7XXX_REG_PRETTY_PRINT=y
---
> # CONFIG_BLK_DEV_3W_XXXX_RAID is not set
> # CONFIG_SCSI_3W_9XXX is not set
> # CONFIG_SCSI_ACARD is not set
> # CONFIG_SCSI_AACRAID is not set
> # CONFIG_SCSI_AIC7XXX is not set
433,443c445,447
< CONFIG_SCSI_AIC79XX=m
< CONFIG_AIC79XX_CMDS_PER_DEVICE=32
< CONFIG_AIC79XX_RESET_DELAY_MS=5000
< # CONFIG_AIC79XX_ENABLE_RD_STRM is not set
< # CONFIG_AIC79XX_DEBUG_ENABLE is not set
< CONFIG_AIC79XX_DEBUG_MASK=0
< # CONFIG_AIC79XX_REG_PRETTY_PRINT is not set
< CONFIG_MEGARAID_NEWGEN=y
< CONFIG_MEGARAID_MM=m
< CONFIG_MEGARAID_MAILBOX=m
< CONFIG_MEGARAID_LEGACY=m
---
> # CONFIG_SCSI_AIC79XX is not set
> # CONFIG_MEGARAID_NEWGEN is not set
> # CONFIG_MEGARAID_LEGACY is not set
445,484c449,472
< CONFIG_SCSI_SATA_AHCI=m
< CONFIG_SCSI_SATA_SVW=m
< CONFIG_SCSI_ATA_PIIX=m
< CONFIG_SCSI_SATA_NV=m
< CONFIG_SCSI_SATA_PROMISE=m
< CONFIG_SCSI_SATA_QSTOR=m
< CONFIG_SCSI_SATA_SX4=m
< CONFIG_SCSI_SATA_SIL=m
< CONFIG_SCSI_SATA_SIS=m
< CONFIG_SCSI_SATA_ULI=m
< CONFIG_SCSI_SATA_VIA=m
< CONFIG_SCSI_SATA_VITESSE=m
< CONFIG_SCSI_BUSLOGIC=m
< # CONFIG_SCSI_OMIT_FLASHPOINT is not set
< CONFIG_SCSI_DMX3191D=m
< CONFIG_SCSI_EATA=m
< CONFIG_SCSI_EATA_TAGGED_QUEUE=y
< CONFIG_SCSI_EATA_LINKED_COMMANDS=y
< CONFIG_SCSI_EATA_MAX_TAGS=16
< CONFIG_SCSI_FUTURE_DOMAIN=m
< CONFIG_SCSI_GDTH=m
< CONFIG_SCSI_IPS=m
< CONFIG_SCSI_INITIO=m
< CONFIG_SCSI_INIA100=m
< CONFIG_SCSI_PPA=m
< CONFIG_SCSI_IMM=m
< # CONFIG_SCSI_IZIP_EPP16 is not set
< # CONFIG_SCSI_IZIP_SLOW_CTR is not set
< CONFIG_SCSI_SYM53C8XX_2=m
< CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
< CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
< CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
< # CONFIG_SCSI_SYM53C8XX_IOMAPPED is not set
< CONFIG_SCSI_IPR=m
< # CONFIG_SCSI_IPR_TRACE is not set
< # CONFIG_SCSI_IPR_DUMP is not set
< CONFIG_SCSI_QLOGIC_FC=m
< # CONFIG_SCSI_QLOGIC_FC_FIRMWARE is not set
< CONFIG_SCSI_QLOGIC_1280=m
< CONFIG_SCSI_QLOGIC_1280_1040=y
---
> # CONFIG_SCSI_SATA_AHCI is not set
> # CONFIG_SCSI_SATA_SVW is not set
> # CONFIG_SCSI_ATA_PIIX is not set
> # CONFIG_SCSI_SATA_NV is not set
> CONFIG_SCSI_SATA_PROMISE=y
> # CONFIG_SCSI_SATA_QSTOR is not set
> # CONFIG_SCSI_SATA_SX4 is not set
> # CONFIG_SCSI_SATA_SIL is not set
> # CONFIG_SCSI_SATA_SIS is not set
> # CONFIG_SCSI_SATA_ULI is not set
> CONFIG_SCSI_SATA_VIA=y
> # CONFIG_SCSI_SATA_VITESSE is not set
> # CONFIG_SCSI_BUSLOGIC is not set
> # CONFIG_SCSI_DMX3191D is not set
> # CONFIG_SCSI_EATA is not set
> # CONFIG_SCSI_FUTURE_DOMAIN is not set
> # CONFIG_SCSI_GDTH is not set
> # CONFIG_SCSI_IPS is not set
> # CONFIG_SCSI_INITIO is not set
> # CONFIG_SCSI_INIA100 is not set
> # CONFIG_SCSI_SYM53C8XX_2 is not set
> # CONFIG_SCSI_IPR is not set
> # CONFIG_SCSI_QLOGIC_FC is not set
> # CONFIG_SCSI_QLOGIC_1280 is not set
486,493c474,482
< CONFIG_SCSI_QLA21XX=m
< CONFIG_SCSI_QLA22XX=m
< CONFIG_SCSI_QLA2300=m
< CONFIG_SCSI_QLA2322=m
< CONFIG_SCSI_QLA6312=m
< CONFIG_SCSI_LPFC=m
< CONFIG_SCSI_DC395x=m
< CONFIG_SCSI_DC390T=m
---
> # CONFIG_SCSI_QLA21XX is not set
> # CONFIG_SCSI_QLA22XX is not set
> # CONFIG_SCSI_QLA2300 is not set
> # CONFIG_SCSI_QLA2322 is not set
> # CONFIG_SCSI_QLA6312 is not set
> # CONFIG_SCSI_QLA24XX is not set
> # CONFIG_SCSI_LPFC is not set
> # CONFIG_SCSI_DC395x is not set
> # CONFIG_SCSI_DC390T is not set
497,503d485
< # PCMCIA SCSI adapter support
< #
< CONFIG_PCMCIA_FDOMAIN=m
< CONFIG_PCMCIA_QLOGIC=m
< CONFIG_PCMCIA_SYM53C500=m
<
< #
507c489
< CONFIG_BLK_DEV_MD=m
---
> CONFIG_BLK_DEV_MD=y
510c492
< CONFIG_MD_RAID1=m
---
> CONFIG_MD_RAID1=y
516c498
< CONFIG_BLK_DEV_DM=m
---
> CONFIG_BLK_DEV_DM=y
528,531c510,512
< CONFIG_FUSION=m
< CONFIG_FUSION_MAX_SGE=40
< CONFIG_FUSION_CTL=m
< CONFIG_FUSION_LAN=m
---
> # CONFIG_FUSION is not set
> # CONFIG_FUSION_SPI is not set
> # CONFIG_FUSION_FC is not set
536c517
< CONFIG_IEEE1394=m
---
> CONFIG_IEEE1394=y
543,544c524,525
< CONFIG_IEEE1394_EXTRA_CONFIG_ROMS=y
< CONFIG_IEEE1394_CONFIG_ROM_IP1394=y
---
> # CONFIG_IEEE1394_EXTRA_CONFIG_ROMS is not set
> # CONFIG_IEEE1394_EXPORT_FULL_API is not set
553c534
< CONFIG_IEEE1394_OHCI1394=m
---
> # CONFIG_IEEE1394_OHCI1394 is not set
558,565c539,542
< CONFIG_IEEE1394_VIDEO1394=m
< CONFIG_IEEE1394_SBP2=m
< # CONFIG_IEEE1394_SBP2_PHYS_DMA is not set
< CONFIG_IEEE1394_ETH1394=m
< CONFIG_IEEE1394_DV1394=m
< CONFIG_IEEE1394_RAWIO=m
< CONFIG_IEEE1394_CMP=m
< # CONFIG_IEEE1394_AMDTP is not set
---
> # CONFIG_IEEE1394_SBP2 is not set
> # CONFIG_IEEE1394_ETH1394 is not set
> # CONFIG_IEEE1394_RAWIO is not set
> # CONFIG_IEEE1394_CMP is not set
570,638c547
< CONFIG_I2O=m
< CONFIG_I2O_CONFIG=m
< CONFIG_I2O_BLOCK=m
< CONFIG_I2O_SCSI=m
< CONFIG_I2O_PROC=m
<
< #
< # Networking support
< #
< CONFIG_NET=y
<
< #
< # Networking options
< #
< CONFIG_PACKET=y
< # CONFIG_PACKET_MMAP is not set
< CONFIG_UNIX=y
< # CONFIG_NET_KEY is not set
< CONFIG_INET=y
< # CONFIG_IP_MULTICAST is not set
< # CONFIG_IP_ADVANCED_ROUTER is not set
< # CONFIG_IP_PNP is not set
< # CONFIG_NET_IPIP is not set
< # CONFIG_NET_IPGRE is not set
< # CONFIG_ARPD is not set
< # CONFIG_SYN_COOKIES is not set
< # CONFIG_INET_AH is not set
< # CONFIG_INET_ESP is not set
< # CONFIG_INET_IPCOMP is not set
< # CONFIG_INET_TUNNEL is not set
< CONFIG_IP_TCPDIAG=y
< # CONFIG_IP_TCPDIAG_IPV6 is not set
< CONFIG_IPV6=m
< CONFIG_IPV6_PRIVACY=y
< CONFIG_INET6_AH=m
< CONFIG_INET6_ESP=m
< CONFIG_INET6_IPCOMP=m
< CONFIG_INET6_TUNNEL=m
< CONFIG_IPV6_TUNNEL=m
< # CONFIG_NETFILTER is not set
< CONFIG_XFRM=y
< # CONFIG_XFRM_USER is not set
<
< #
< # SCTP Configuration (EXPERIMENTAL)
< #
< # CONFIG_IP_SCTP is not set
< CONFIG_ATM=m
< # CONFIG_ATM_CLIP is not set
< # CONFIG_ATM_LANE is not set
< # CONFIG_ATM_BR2684 is not set
< # CONFIG_BRIDGE is not set
< CONFIG_VLAN_8021Q=m
< # CONFIG_DECNET is not set
< CONFIG_LLC=y
< # CONFIG_LLC2 is not set
< # CONFIG_IPX is not set
< # CONFIG_ATALK is not set
< # CONFIG_X25 is not set
< # CONFIG_LAPB is not set
< # CONFIG_NET_DIVERT is not set
< # CONFIG_ECONET is not set
< # CONFIG_WAN_ROUTER is not set
<
< #
< # QoS and/or fair queueing
< #
< # CONFIG_NET_SCHED is not set
< # CONFIG_NET_CLS_ROUTE is not set
---
> # CONFIG_I2O is not set
641c550
< # Network testing
---
> # Network device support
643,675d551
< # CONFIG_NET_PKTGEN is not set
< # CONFIG_NETPOLL is not set
< # CONFIG_NET_POLL_CONTROLLER is not set
< # CONFIG_HAMRADIO is not set
< # CONFIG_IRDA is not set
< CONFIG_BT=m
< CONFIG_BT_L2CAP=m
< CONFIG_BT_SCO=m
< CONFIG_BT_RFCOMM=m
< CONFIG_BT_RFCOMM_TTY=y
< CONFIG_BT_BNEP=m
< CONFIG_BT_BNEP_MC_FILTER=y
< CONFIG_BT_BNEP_PROTO_FILTER=y
< # CONFIG_BT_CMTP is not set
< CONFIG_BT_HIDP=m
<
< #
< # Bluetooth device drivers
< #
< CONFIG_BT_HCIUSB=m
< CONFIG_BT_HCIUSB_SCO=y
< CONFIG_BT_HCIUART=m
< CONFIG_BT_HCIUART_H4=y
< CONFIG_BT_HCIUART_BCSP=y
< CONFIG_BT_HCIUART_BCSP_TXCRC=y
< CONFIG_BT_HCIBCM203X=m
< CONFIG_BT_HCIBPA10X=m
< CONFIG_BT_HCIBFUSB=m
< CONFIG_BT_HCIDTL1=m
< CONFIG_BT_HCIBT3C=m
< CONFIG_BT_HCIBLUECARD=m
< CONFIG_BT_HCIBTUART=m
< CONFIG_BT_HCIVHCI=m
680,681c556,557
< # CONFIG_TUN is not set
< CONFIG_NET_SB1000=m
---
> CONFIG_TUN=y
> # CONFIG_NET_SB1000 is not set
691,739c567
< CONFIG_NET_ETHERNET=y
< CONFIG_MII=m
< CONFIG_HAPPYMEAL=m
< CONFIG_SUNGEM=m
< CONFIG_NET_VENDOR_3COM=y
< CONFIG_VORTEX=m
< CONFIG_TYPHOON=m
<
< #
< # Tulip family network device support
< #
< CONFIG_NET_TULIP=y
< CONFIG_DE2104X=m
< CONFIG_TULIP=m
< CONFIG_TULIP_MWI=y
< CONFIG_TULIP_MMIO=y
< CONFIG_TULIP_NAPI=y
< CONFIG_TULIP_NAPI_HW_MITIGATION=y
< CONFIG_DE4X5=m
< CONFIG_WINBOND_840=m
< CONFIG_DM9102=m
< CONFIG_PCMCIA_XIRCOM=m
< CONFIG_HP100=m
< CONFIG_NET_PCI=y
< CONFIG_PCNET32=m
< CONFIG_AMD8111_ETH=m
< # CONFIG_AMD8111E_NAPI is not set
< CONFIG_ADAPTEC_STARFIRE=m
< # CONFIG_ADAPTEC_STARFIRE_NAPI is not set
< CONFIG_B44=m
< CONFIG_FORCEDETH=m
< CONFIG_DGRS=m
< # CONFIG_EEPRO100 is not set
< CONFIG_E100=m
< CONFIG_FEALNX=m
< CONFIG_NATSEMI=m
< CONFIG_NE2K_PCI=m
< CONFIG_8139CP=m
< CONFIG_8139TOO=m
< # CONFIG_8139TOO_PIO is not set
< CONFIG_8139TOO_TUNE_TWISTER=y
< CONFIG_8139TOO_8129=y
< # CONFIG_8139_OLD_RX_RESET is not set
< CONFIG_SIS900=m
< CONFIG_EPIC100=m
< CONFIG_SUNDANCE=m
< CONFIG_SUNDANCE_MMIO=y
< CONFIG_VIA_RHINE=m
< CONFIG_VIA_RHINE_MMIO=y
---
> # CONFIG_NET_ETHERNET is not set
744,759c572,582
< CONFIG_ACENIC=m
< # CONFIG_ACENIC_OMIT_TIGON_I is not set
< CONFIG_DL2K=m
< CONFIG_E1000=m
< # CONFIG_E1000_NAPI is not set
< CONFIG_NS83820=m
< CONFIG_HAMACHI=m
< CONFIG_YELLOWFIN=m
< CONFIG_R8169=m
< # CONFIG_R8169_NAPI is not set
< CONFIG_R8169_VLAN=y
< CONFIG_SKGE=m
< CONFIG_SK98LIN=m
< CONFIG_VIA_VELOCITY=m
< CONFIG_TIGON3=m
< CONFIG_BNX2=m
---
> # CONFIG_ACENIC is not set
> # CONFIG_DL2K is not set
> # CONFIG_E1000 is not set
> # CONFIG_NS83820 is not set
> # CONFIG_HAMACHI is not set
> # CONFIG_YELLOWFIN is not set
> # CONFIG_R8169 is not set
> CONFIG_SKGE=y
> # CONFIG_SK98LIN is not set
> # CONFIG_TIGON3 is not set
> # CONFIG_BNX2 is not set
764,765c587
< CONFIG_IXGB=m
< # CONFIG_IXGB_NAPI is not set
---
> # CONFIG_IXGB is not set
773,778c595
< CONFIG_TR=y
< CONFIG_IBMOL=m
< CONFIG_3C359=m
< CONFIG_TMS380TR=m
< CONFIG_TMSPCI=m
< CONFIG_ABYSS=m
---
> # CONFIG_TR is not set
783,828c600
< CONFIG_NET_RADIO=y
<
< #
< # Obsolete Wireless cards support (pre-802.11)
< #
< CONFIG_STRIP=m
< CONFIG_PCMCIA_WAVELAN=m
< CONFIG_PCMCIA_NETWAVE=m
<
< #
< # Wireless 802.11 Frequency Hopping cards support
< #
< CONFIG_PCMCIA_RAYCS=m
<
< #
< # Wireless 802.11b ISA/PCI cards support
< #
< # CONFIG_HERMES is not set
< CONFIG_ATMEL=m
< CONFIG_PCI_ATMEL=m
<
< #
< # Wireless 802.11b Pcmcia/Cardbus cards support
< #
< CONFIG_AIRO_CS=m
< CONFIG_PCMCIA_ATMEL=m
< CONFIG_PCMCIA_WL3501=m
<
< #
< # Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support
< #
< CONFIG_PRISM54=m
< CONFIG_NET_WIRELESS=y
<
< #
< # PCMCIA network device support
< #
< CONFIG_NET_PCMCIA=y
< CONFIG_PCMCIA_3C589=m
< CONFIG_PCMCIA_3C574=m
< CONFIG_PCMCIA_FMVJ18X=m
< CONFIG_PCMCIA_PCNET=m
< CONFIG_PCMCIA_NMCLAN=m
< CONFIG_PCMCIA_SMC91C92=m
< CONFIG_PCMCIA_XIRC2PS=m
< CONFIG_PCMCIA_AXNET=m
---
> # CONFIG_NET_RADIO is not set
833,893c605,610
< CONFIG_WAN=y
< CONFIG_DSCC4=m
< CONFIG_DSCC4_PCISYNC=y
< CONFIG_DSCC4_PCI_RST=y
< CONFIG_LANMEDIA=m
< CONFIG_SYNCLINK_SYNCPPP=m
< CONFIG_HDLC=m
< CONFIG_HDLC_RAW=y
< CONFIG_HDLC_RAW_ETH=y
< CONFIG_HDLC_CISCO=y
< CONFIG_HDLC_FR=y
< CONFIG_HDLC_PPP=y
<
< #
< # X.25/LAPB support is disabled
< #
< CONFIG_PCI200SYN=m
< CONFIG_WANXL=m
< CONFIG_PC300=m
< CONFIG_PC300_MLPPP=y
< CONFIG_FARSYNC=m
< CONFIG_DLCI=m
< CONFIG_DLCI_COUNT=24
< CONFIG_DLCI_MAX=8
< CONFIG_SBNI=m
< CONFIG_SBNI_MULTILINE=y
<
< #
< # ATM drivers
< #
< # CONFIG_ATM_TCP is not set
< # CONFIG_ATM_LANAI is not set
< # CONFIG_ATM_ENI is not set
< # CONFIG_ATM_FIRESTREAM is not set
< # CONFIG_ATM_ZATM is not set
< # CONFIG_ATM_IDT77252 is not set
< # CONFIG_ATM_AMBASSADOR is not set
< # CONFIG_ATM_HORIZON is not set
< # CONFIG_ATM_FORE200E_MAYBE is not set
< # CONFIG_ATM_HE is not set
< CONFIG_FDDI=y
< CONFIG_DEFXX=m
< CONFIG_SKFP=m
< CONFIG_HIPPI=y
< CONFIG_ROADRUNNER=m
< # CONFIG_ROADRUNNER_LARGE_RINGS is not set
< CONFIG_PLIP=m
< CONFIG_PPP=m
< CONFIG_PPP_MULTILINK=y
< CONFIG_PPP_FILTER=y
< CONFIG_PPP_ASYNC=m
< CONFIG_PPP_SYNC_TTY=m
< CONFIG_PPP_DEFLATE=m
< CONFIG_PPP_BSDCOMP=m
< CONFIG_PPPOE=m
< CONFIG_PPPOATM=m
< CONFIG_SLIP=m
< CONFIG_SLIP_COMPRESSED=y
< CONFIG_SLIP_SMART=y
< CONFIG_SLIP_MODE_SLIP6=y
< CONFIG_NET_FC=y
---
> # CONFIG_WAN is not set
> # CONFIG_FDDI is not set
> # CONFIG_HIPPI is not set
> # CONFIG_PPP is not set
> # CONFIG_SLIP is not set
> # CONFIG_NET_FC is not set
895c612,616
< # CONFIG_NETCONSOLE is not set
---
> CONFIG_NETCONSOLE=y
> CONFIG_NETPOLL=y
> # CONFIG_NETPOLL_RX is not set
> # CONFIG_NETPOLL_TRAP is not set
> CONFIG_NET_POLL_CONTROLLER=y
900,941c621
< CONFIG_ISDN=m
<
< #
< # Old ISDN4Linux
< #
< # CONFIG_ISDN_I4L is not set
<
< #
< # CAPI subsystem
< #
< CONFIG_ISDN_CAPI=m
< # CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON is not set
< CONFIG_ISDN_CAPI_MIDDLEWARE=y
< CONFIG_ISDN_CAPI_CAPI20=m
< CONFIG_ISDN_CAPI_CAPIFS_BOOL=y
< CONFIG_ISDN_CAPI_CAPIFS=m
<
< #
< # CAPI hardware drivers
< #
<
< #
< # Active AVM cards
< #
< CONFIG_CAPI_AVM=y
< CONFIG_ISDN_DRV_AVMB1_B1PCI=m
< CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y
< CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m
< CONFIG_ISDN_DRV_AVMB1_AVM_CS=m
< CONFIG_ISDN_DRV_AVMB1_T1PCI=m
< CONFIG_ISDN_DRV_AVMB1_C4=m
<
< #
< # Active Eicon DIVA Server cards
< #
< CONFIG_CAPI_EICON=y
< CONFIG_ISDN_DIVAS=m
< CONFIG_ISDN_DIVAS_BRIPCI=y
< CONFIG_ISDN_DIVAS_PRIPCI=y
< CONFIG_ISDN_DIVAS_DIVACAPI=m
< CONFIG_ISDN_DIVAS_USERIDI=m
< CONFIG_ISDN_DIVAS_MAINT=m
---
> # CONFIG_ISDN is not set
970,973c650,653
< CONFIG_KEYBOARD_SUNKBD=m
< CONFIG_KEYBOARD_LKKBD=m
< CONFIG_KEYBOARD_XTKBD=m
< CONFIG_KEYBOARD_NEWTON=m
---
> # CONFIG_KEYBOARD_SUNKBD is not set
> # CONFIG_KEYBOARD_LKKBD is not set
> # CONFIG_KEYBOARD_XTKBD is not set
> # CONFIG_KEYBOARD_NEWTON is not set
976c656
< CONFIG_MOUSE_SERIAL=m
---
> # CONFIG_MOUSE_SERIAL is not set
980,982c660
< CONFIG_INPUT_MISC=y
< CONFIG_INPUT_PCSPKR=m
< # CONFIG_INPUT_UINPUT is not set
---
> # CONFIG_INPUT_MISC is not set
989,992c667,669
< CONFIG_SERIO_SERPORT=m
< CONFIG_SERIO_CT82C710=m
< CONFIG_SERIO_PARKBD=m
< CONFIG_SERIO_PCIPS2=m
---
> # CONFIG_SERIO_SERPORT is not set
> # CONFIG_SERIO_CT82C710 is not set
> # CONFIG_SERIO_PCIPS2 is not set
1010,1011c687
< CONFIG_SERIAL_8250_CS=m
< CONFIG_SERIAL_8250_ACPI=y
---
> # CONFIG_SERIAL_8250_ACPI is not set
1013,1018c689
< CONFIG_SERIAL_8250_EXTENDED=y
< CONFIG_SERIAL_8250_MANY_PORTS=y
< CONFIG_SERIAL_8250_SHARE_IRQ=y
< # CONFIG_SERIAL_8250_DETECT_IRQ is not set
< CONFIG_SERIAL_8250_MULTIPORT=y
< CONFIG_SERIAL_8250_RSA=y
---
> # CONFIG_SERIAL_8250_EXTENDED is not set
1027,1030c698,699
< # CONFIG_LEGACY_PTYS is not set
< # CONFIG_PRINTER is not set
< CONFIG_PPDEV=m
< # CONFIG_TIPAR is not set
---
> CONFIG_LEGACY_PTYS=y
> CONFIG_LEGACY_PTY_COUNT=256
1041,1042c710,711
< # CONFIG_HW_RANDOM is not set
< CONFIG_NVRAM=m
---
> CONFIG_HW_RANDOM=y
> # CONFIG_NVRAM is not set
1050c719,722
< # CONFIG_AGP is not set
---
> # CONFIG_FTAPE is not set
> CONFIG_AGP=y
> CONFIG_AGP_AMD64=y
> # CONFIG_AGP_INTEL is not set
1052,1059c724,729
<
< #
< # PCMCIA character devices
< #
< # CONFIG_SYNCLINK_CS is not set
< CONFIG_MWAVE=m
< # CONFIG_RAW_DRIVER is not set
< # CONFIG_HPET is not set
---
> # CONFIG_MWAVE is not set
> CONFIG_RAW_DRIVER=y
> CONFIG_HPET=y
> # CONFIG_HPET_RTC_IRQ is not set
> CONFIG_HPET_MMAP=y
> CONFIG_MAX_RAW_DEVS=256
1070a741
> # CONFIG_I2C_SENSOR is not set
1077a749,754
> # Hardware Monitoring support
> #
> CONFIG_HWMON=y
> # CONFIG_HWMON_DEBUG_CHIP is not set
>
> #
1095,1111c772
< CONFIG_FB=y
< CONFIG_FB_CFB_FILLRECT=y
< CONFIG_FB_CFB_COPYAREA=y
< CONFIG_FB_CFB_IMAGEBLIT=y
< CONFIG_FB_SOFT_CURSOR=y
< # CONFIG_FB_MACMODES is not set
< # CONFIG_FB_MODE_HELPERS is not set
< # CONFIG_FB_TILEBLITTING is not set
< # CONFIG_FB_CIRRUS is not set
< # CONFIG_FB_PM2 is not set
< # CONFIG_FB_CYBER2000 is not set
< # CONFIG_FB_ASILIANT is not set
< # CONFIG_FB_IMSTT is not set
< # CONFIG_FB_VGA16 is not set
< CONFIG_FB_VESA=y
< CONFIG_FB_VESA_STD=y
< # CONFIG_FB_VESA_TNG is not set
---
> # CONFIG_FB is not set
1113,1130d773
< # CONFIG_FB_HGA is not set
< # CONFIG_FB_NVIDIA is not set
< # CONFIG_FB_RIVA is not set
< # CONFIG_FB_MATROX is not set
< # CONFIG_FB_RADEON_OLD is not set
< # CONFIG_FB_RADEON is not set
< # CONFIG_FB_ATY128 is not set
< # CONFIG_FB_ATY is not set
< # CONFIG_FB_SAVAGE is not set
< # CONFIG_FB_SIS is not set
< # CONFIG_FB_NEOMAGIC is not set
< # CONFIG_FB_KYRO is not set
< # CONFIG_FB_3DFX is not set
< # CONFIG_FB_VOODOO1 is not set
< # CONFIG_FB_TRIDENT is not set
< # CONFIG_FB_GEODE is not set
< # CONFIG_FB_S1D13XXX is not set
< # CONFIG_FB_VIRTUAL is not set
1137,1147d779
< CONFIG_FRAMEBUFFER_CONSOLE=y
< # CONFIG_FONTS is not set
< CONFIG_FONT_8x8=y
< CONFIG_FONT_8x16=y
<
< #
< # Logo configuration
< #
< # CONFIG_LOGO is not set
< # CONFIG_BACKLIGHT_LCD_SUPPORT is not set
< CONFIG_FB_SPLASH=y
1152,1170c784
< CONFIG_SPEAKUP=y
< CONFIG_SPEAKUP_ACNTSA=y
< CONFIG_SPEAKUP_ACNTPC=y
< CONFIG_SPEAKUP_APOLLO=y
< CONFIG_SPEAKUP_AUDPTR=y
< CONFIG_SPEAKUP_BNS=y
< CONFIG_SPEAKUP_DECTLK=y
< CONFIG_SPEAKUP_DECEXT=y
< # CONFIG_SPEAKUP_DECPC is not set
< CONFIG_SPEAKUP_DTLK=y
< CONFIG_SPEAKUP_KEYPC=y
< CONFIG_SPEAKUP_LTLK=y
< CONFIG_SPEAKUP_SFTSYN=y
< CONFIG_SPEAKUP_SPKOUT=y
< CONFIG_SPEAKUP_TXPRT=y
<
< #
< # Enter the 3 to 6 character keyword from the list above, or none for no default synthesizer on boot up.
< #
---
> # CONFIG_SPEAKUP is not set
1176,1186c790
< CONFIG_SOUND=y
<
< #
< # Advanced Linux Sound Architecture
< #
< # CONFIG_SND is not set
<
< #
< # Open Sound System
< #
< # CONFIG_SOUND_PRIME is not set
---
> # CONFIG_SOUND is not set
1193c797
< CONFIG_USB=m
---
> CONFIG_USB=y
1208c812
< CONFIG_USB_EHCI_HCD=m
---
> CONFIG_USB_EHCI_HCD=y
1211c815,816
< CONFIG_USB_OHCI_HCD=m
---
> # CONFIG_USB_ISP116X_HCD is not set
> CONFIG_USB_OHCI_HCD=y
1214,1216c819,820
< CONFIG_USB_UHCI_HCD=m
< CONFIG_USB_SL811_HCD=m
< CONFIG_USB_SL811_CS=m
---
> CONFIG_USB_UHCI_HCD=y
> CONFIG_USB_SL811_HCD=y
1221,1228c825,827
< CONFIG_USB_AUDIO=m
<
< #
< # USB Bluetooth TTY can only be used with disabled Bluetooth subsystem
< #
< # CONFIG_USB_MIDI is not set
< CONFIG_USB_ACM=m
< # CONFIG_USB_PRINTER is not set
---
> # CONFIG_USB_BLUETOOTH_TTY is not set
> # CONFIG_USB_ACM is not set
> CONFIG_USB_PRINTER=y
1233c832
< CONFIG_USB_STORAGE=m
---
> CONFIG_USB_STORAGE=y
1235,1242c834,841
< CONFIG_USB_STORAGE_DATAFAB=y
< CONFIG_USB_STORAGE_FREECOM=y
< CONFIG_USB_STORAGE_ISD200=y
< CONFIG_USB_STORAGE_DPCM=y
< CONFIG_USB_STORAGE_USBAT=y
< CONFIG_USB_STORAGE_SDDR09=y
< CONFIG_USB_STORAGE_SDDR55=y
< CONFIG_USB_STORAGE_JUMPSHOT=y
---
> # CONFIG_USB_STORAGE_DATAFAB is not set
> # CONFIG_USB_STORAGE_FREECOM is not set
> # CONFIG_USB_STORAGE_ISD200 is not set
> # CONFIG_USB_STORAGE_DPCM is not set
> # CONFIG_USB_STORAGE_USBAT is not set
> # CONFIG_USB_STORAGE_SDDR09 is not set
> # CONFIG_USB_STORAGE_SDDR55 is not set
> # CONFIG_USB_STORAGE_JUMPSHOT is not set
1247,1250c846
< CONFIG_USB_HID=m
< CONFIG_USB_HIDINPUT=y
< # CONFIG_HID_FF is not set
< CONFIG_USB_HIDDEV=y
---
> # CONFIG_USB_HID is not set
1257,1259c853,856
< CONFIG_USB_AIPTEK=m
< CONFIG_USB_WACOM=m
< CONFIG_USB_KBTAB=m
---
> # CONFIG_USB_AIPTEK is not set
> # CONFIG_USB_WACOM is not set
> # CONFIG_USB_ACECAD is not set
> # CONFIG_USB_KBTAB is not set
1261,1264c858,863
< CONFIG_USB_MTOUCH=m
< CONFIG_USB_EGALAX=m
< CONFIG_USB_XPAD=m
< CONFIG_USB_ATI_REMOTE=m
---
> # CONFIG_USB_MTOUCH is not set
> # CONFIG_USB_ITMTOUCH is not set
> # CONFIG_USB_EGALAX is not set
> # CONFIG_USB_XPAD is not set
> # CONFIG_USB_ATI_REMOTE is not set
> # CONFIG_USB_KEYSPAN_REMOTE is not set
1284,1314c883,888
< CONFIG_USB_CATC=m
< CONFIG_USB_KAWETH=m
< CONFIG_USB_PEGASUS=m
< CONFIG_USB_RTL8150=m
< CONFIG_USB_USBNET=m
<
< #
< # USB Host-to-Host Cables
< #
< CONFIG_USB_ALI_M5632=y
< CONFIG_USB_AN2720=y
< CONFIG_USB_BELKIN=y
< CONFIG_USB_GENESYS=y
< CONFIG_USB_NET1080=y
< CONFIG_USB_PL2301=y
< CONFIG_USB_KC2190=y
<
< #
< # Intelligent USB Devices/Gadgets
< #
< # CONFIG_USB_ARMLINUX is not set
< # CONFIG_USB_EPSON2888 is not set
< # CONFIG_USB_ZAURUS is not set
< CONFIG_USB_CDCETHER=y
<
< #
< # USB Network Adapters
< #
< CONFIG_USB_AX8817X=y
< CONFIG_USB_ZD1201=m
< # CONFIG_USB_MON is not set
---
> # CONFIG_USB_CATC is not set
> # CONFIG_USB_KAWETH is not set
> # CONFIG_USB_PEGASUS is not set
> # CONFIG_USB_RTL8150 is not set
> # CONFIG_USB_USBNET is not set
> CONFIG_USB_MON=y
1319d892
< CONFIG_USB_USS720=m
1324,1352c897
< CONFIG_USB_SERIAL=m
< CONFIG_USB_SERIAL_GENERIC=y
< CONFIG_USB_SERIAL_AIRPRIME=m
< # CONFIG_USB_SERIAL_BELKIN is not set
< # CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
< CONFIG_USB_SERIAL_CP2101=m
< # CONFIG_USB_SERIAL_CYPRESS_M8 is not set
< # CONFIG_USB_SERIAL_EMPEG is not set
< # CONFIG_USB_SERIAL_FTDI_SIO is not set
< # CONFIG_USB_SERIAL_VISOR is not set
< # CONFIG_USB_SERIAL_IPAQ is not set
< # CONFIG_USB_SERIAL_IR is not set
< # CONFIG_USB_SERIAL_EDGEPORT is not set
< # CONFIG_USB_SERIAL_EDGEPORT_TI is not set
< # CONFIG_USB_SERIAL_GARMIN is not set
< CONFIG_USB_SERIAL_IPW=m
< # CONFIG_USB_SERIAL_KEYSPAN_PDA is not set
< # CONFIG_USB_SERIAL_KEYSPAN is not set
< # CONFIG_USB_SERIAL_KLSI is not set
< # CONFIG_USB_SERIAL_KOBIL_SCT is not set
< # CONFIG_USB_SERIAL_MCT_U232 is not set
< # CONFIG_USB_SERIAL_PL2303 is not set
< # CONFIG_USB_SERIAL_HP4X is not set
< # CONFIG_USB_SERIAL_SAFE is not set
< # CONFIG_USB_SERIAL_TI is not set
< # CONFIG_USB_SERIAL_CYBERJACK is not set
< # CONFIG_USB_SERIAL_XIRCOM is not set
< CONFIG_USB_SERIAL_OPTION=m
< CONFIG_USB_SERIAL_OMNINET=m
---
> # CONFIG_USB_SERIAL is not set
1359c904
< CONFIG_USB_AUERSWALD=m
---
> # CONFIG_USB_AUERSWALD is not set
1368c913,914
< CONFIG_USB_SISUSBVGA=m
---
> # CONFIG_USB_SISUSBVGA is not set
> # CONFIG_USB_LD is not set
1372c918
< # USB ATM/DSL drivers
---
> # USB DSL modem support
1374,1375d919
< CONFIG_USB_ATM=m
< CONFIG_USB_SPEEDTOUCH=m
1385,1388c929
< CONFIG_MMC=m
< # CONFIG_MMC_DEBUG is not set
< CONFIG_MMC_BLOCK=m
< CONFIG_MMC_WBSD=m
---
> # CONFIG_MMC is not set
1393,1397c934,938
< CONFIG_INFINIBAND=m
< CONFIG_INFINIBAND_MTHCA=m
< # CONFIG_INFINIBAND_MTHCA_DEBUG is not set
< CONFIG_INFINIBAND_IPOIB=m
< # CONFIG_INFINIBAND_IPOIB_DEBUG is not set
---
> # CONFIG_INFINIBAND is not set
>
> #
> # SN Devices
> #
1410a952
> # CONFIG_EXT2_FS_XIP is not set
1424,1428c966
< CONFIG_JFS_FS=m
< CONFIG_JFS_POSIX_ACL=y
< # CONFIG_JFS_SECURITY is not set
< # CONFIG_JFS_DEBUG is not set
< # CONFIG_JFS_STATISTICS is not set
---
> # CONFIG_JFS_FS is not set
1434,1439c972
< CONFIG_XFS_FS=y
< CONFIG_XFS_EXPORT=y
< CONFIG_XFS_RT=y
< CONFIG_XFS_QUOTA=y
< CONFIG_XFS_SECURITY=y
< CONFIG_XFS_POSIX_ACL=y
---
> # CONFIG_XFS_FS is not set
1444d976
< CONFIG_QUOTACTL=y
1446c978
< # CONFIG_AUTOFS_FS is not set
---
> CONFIG_AUTOFS_FS=y
1463c995
< CONFIG_MSDOS_FS=m
---
> CONFIG_MSDOS_FS=y
1467,1469c999
< CONFIG_NTFS_FS=m
< # CONFIG_NTFS_DEBUG is not set
< # CONFIG_NTFS_RW is not set
---
> # CONFIG_NTFS_FS is not set
1477d1006
< # CONFIG_DEVFS_FS is not set
1480,1483c1009,1011
< CONFIG_TMPFS_XATTR=y
< CONFIG_TMPFS_SECURITY=y
< # CONFIG_HUGETLBFS is not set
< # CONFIG_HUGETLB_PAGE is not set
---
> # CONFIG_TMPFS_XATTR is not set
> CONFIG_HUGETLBFS=y
> CONFIG_HUGETLB_PAGE=y
1497c1025
< CONFIG_SQUASHFS=y
---
> # CONFIG_SQUASHFS is not set
1507c1035
< CONFIG_NFS_FS=m
---
> CONFIG_NFS_FS=y
1508a1037
> # CONFIG_NFS_V3_ACL is not set
1511c1040
< CONFIG_NFSD=m
---
> CONFIG_NFSD=y
1512a1042
> # CONFIG_NFSD_V3_ACL is not set
1515c1045
< CONFIG_LOCKD=m
---
> CONFIG_LOCKD=y
1518c1048,1049
< CONFIG_SUNRPC=m
---
> CONFIG_NFS_COMMON=y
> CONFIG_SUNRPC=y
1521,1524c1052,1057
< CONFIG_SMB_FS=m
< CONFIG_SMB_NLS_DEFAULT=y
< CONFIG_SMB_NLS_REMOTE="cp437"
< # CONFIG_CIFS is not set
---
> CONFIG_SMB_FS=y
> # CONFIG_SMB_NLS_DEFAULT is not set
> CONFIG_CIFS=y
> # CONFIG_CIFS_STATS is not set
> # CONFIG_CIFS_XATTR is not set
> # CONFIG_CIFS_EXPERIMENTAL is not set
1532,1537c1065
< CONFIG_PARTITION_ADVANCED=y
< # CONFIG_ACORN_PARTITION is not set
< # CONFIG_OSF_PARTITION is not set
< # CONFIG_AMIGA_PARTITION is not set
< # CONFIG_ATARI_PARTITION is not set
< # CONFIG_MAC_PARTITION is not set
---
> # CONFIG_PARTITION_ADVANCED is not set
1539,1548d1066
< # CONFIG_BSD_DISKLABEL is not set
< # CONFIG_MINIX_SUBPARTITION is not set
< # CONFIG_SOLARIS_X86_PARTITION is not set
< # CONFIG_UNIXWARE_DISKLABEL is not set
< CONFIG_LDM_PARTITION=y
< # CONFIG_LDM_DEBUG is not set
< # CONFIG_SGI_PARTITION is not set
< # CONFIG_ULTRIX_PARTITION is not set
< # CONFIG_SUN_PARTITION is not set
< # CONFIG_EFI_PARTITION is not set
1578c1096
< # CONFIG_NLS_ASCII is not set
---
> CONFIG_NLS_ASCII=y
1589c1107
< # CONFIG_NLS_ISO8859_15 is not set
---
> CONFIG_NLS_ISO8859_15=y
1597c1115,1116
< # CONFIG_PROFILING is not set
---
> CONFIG_PROFILING=y
> CONFIG_OPROFILE=y
1605c1124
< CONFIG_LOG_BUF_SHIFT=15
---
> CONFIG_LOG_BUF_SHIFT=18
1608d1126
< CONFIG_DEBUG_PREEMPT=y
1613a1132
> # CONFIG_CHECKING is not set
1614a1134
> # CONFIG_IOMMU_DEBUG is not set
1628,1630c1148,1150
< # CONFIG_CRYPTO_NULL is not set
< # CONFIG_CRYPTO_MD4 is not set
< CONFIG_CRYPTO_MD5=y
---
> CONFIG_CRYPTO_NULL=m
> CONFIG_CRYPTO_MD4=m
> CONFIG_CRYPTO_MD5=m
1634,1636c1154,1156
< # CONFIG_CRYPTO_WP512 is not set
< # CONFIG_CRYPTO_TGR192 is not set
< CONFIG_CRYPTO_DES=y
---
> CONFIG_CRYPTO_WP512=m
> CONFIG_CRYPTO_TGR192=m
> CONFIG_CRYPTO_DES=m
1640c1160
< CONFIG_CRYPTO_AES=m
---
> CONFIG_CRYPTO_AES_X86_64=m
1645,1646c1165,1166
< # CONFIG_CRYPTO_KHAZAD is not set
< # CONFIG_CRYPTO_ANUBIS is not set
---
> CONFIG_CRYPTO_KHAZAD=m
> CONFIG_CRYPTO_ANUBIS=m
1650c1170
< # CONFIG_CRYPTO_TEST is not set
---
> CONFIG_CRYPTO_TEST=m
1661c1181
< CONFIG_LIBCRC32C=m
---
> CONFIG_LIBCRC32C=y

Labels: ,

Saturday, November 12, 2005
Sluggish linux box, troubleshooting steps
Time to sit down and jot some things down so I can figure out which device/driver in my Gentoo AMD64 box is causing issues. This gets a little complex because I have (5) 5400rpm 300GB PATA drives, (2) 7200rpm 300GB PATA drives and (1) 7200rpm 200GB SATA drive installed.

Back when I finally booted into the AMD64 LiveCD, I got the following information from /proc/partitions:

livecd ~ # cat /proc/partitions
major minor #blocks name

7 0 49712 loop0
33 0 292970160 hde - 300GB 5400rpm PATA (PDC20269)
34 0 292970160 hdg - 300GB 5400rpm PATA (PDC20269)
57 0 292970160 hdk - 300GB 5400rpm PATA (HPT302)
89 0 292970160 hdo - 300GB 5400rpm PATA (HPT302)
91 0 292970160 hds - 300GB 5400rpm PATA (HPT302)
3 0 293057352 hda - 300GB 7200rpm PATA (motherboard primary IDE)
8 0 293057352 sda - 300GB 7200rpm PATA (PDC20378 m/b)
8 16 199148544 sdb - 200GB 7200rpm SATA (m/b SATA)
livecd ~ #


Key:
HPT302 = HighPoint Rocket133SB PCI cards (1 PATA port per card)
PDC20269 = Promise Ultra133 TX2 PCI card (2 PATA ports)
PDC20378 = Promise RAID controller on A8V motherboard

So, that tells me that if I manage to get my kernel configured properly, I should be seeing all (8) drives with no sluggishness due to oddball drivers. The question of the moment is how do I find out what configuration was used to build the Linux kernel on the LiveCD? That, or I should look into attempting to use "genkernel" to create my settings semi-automatically.

I found the kernel configuration for the LiveCD by booting the LiveCD and looking at the compressed file /proc/config.gz. You can see the contents of this file by using the command:

# cat /proc/config.gz | gzip -d | less

So I went and looked at the differences between my Nov 8th kernel (which works, except for support for the onboard Promise chip and the HPT302s) and my problematic Nov 9th kernel.

nogitsune linux # diff /boot/config-2.6.13-8Nov2005 /boot/config-2.6.13-9Nov2005
4c4
< # Tue Nov 8 18:19:03 2005
---
> # Wed Nov 9 05:13:43 2005
416c416
< # CONFIG_CHR_DEV_SG is not set
---
> CONFIG_CHR_DEV_SG=y
456c456
< # CONFIG_SCSI_SATA_PROMISE is not set
---
> CONFIG_SCSI_SATA_PROMISE=y
nogitsune linux #


That's it. Just two changes to the .config file. So I'm currently undoing the "CONFIG_CHR_DEV_SG=y" line and leaving the Promise SATA line in. I've recompiled and I'm getting ready to reboot to see if it recognizes the PATA disk connected to the PDC20378 chip on the motherboard.

It did, but still didn't fix the issue of sluggishness.

Useful steps to know about when booting off the LiveCD for my system. I manually reassemble the RAID items and mount all of my LVM2 partitions.

livecd ~ # modprobe md
livecd ~ # modprobe dm-mod
livecd ~ # modprobe raid1
livecd ~ # for i in 0 1 2 3; do mknod /dev/md$i b 9 $i; done
livecd ~ # swapon /dev/md1
swapon: /dev/md1: Invalid argument
livecd ~ # mdadm --assemble /dev/md0 /dev/hda1 /dev/sda1
mdadm: /dev/md0 has been started with 2 drives.
livecd ~ # mdadm --assemble /dev/md1 /dev/hda2 /dev/sda2
mdadm: /dev/md1 has been started with 2 drives.
livecd ~ # mdadm --assemble /dev/md2 /dev/hda3 /dev/sda3
mdadm: /dev/md2 has been started with 2 drives.
livecd ~ # mdadm --assemble /dev/md3 /dev/hda4 /dev/sda4
mdadm: /dev/md3 has been started with 1 drive (out of 2) and 1 spare.
livecd ~ # swapon /dev/md1
livecd ~ # mount /dev/md2 /mnt/gentoo
livecd ~ # mount /dev/md0 /mnt/gentoo/boot
livecd ~ # vgchange -ay vgmirror
6 logical volume(s) in volume group "vgmirror" now active
livecd ~ # mount /dev/vgmirror/opt /mnt/gentoo/opt
livecd ~ # mount /dev/vgmirror/usr /mnt/gentoo/usr
livecd ~ # mount /dev/vgmirror/var /mnt/gentoo/var
livecd ~ # mount /dev/vgmirror/home /mnt/gentoo/home
livecd ~ # mount /dev/vgmirror/tmp /mnt/gentoo/tmp
livecd ~ # chmod 1777 /mnt/gentoo/tmp
livecd ~ # mount /dev/vgmirror/vartmp /mnt/gentoo/var/tmp
livecd ~ # chmod 1777 /mnt/gentoo/var/tmp
livecd ~ # mount -t proc none /mnt/gentoo/proc
livecd ~ # chroot /mnt/gentoo /bin/bash
livecd / # env-update
>>> Regenerating /etc/ld.so.cache...
livecd / # source /etc/profile


Modules that get loaded on the 2005.1 AMD64 LiveCD on my system:

livecd linux # cat /proc/modules
raid1 14720 4 - Live 0xffffffff880f9000
md 36480 5 raid1, Live 0xffffffff880ef000
ipv6 212928 10 - Live 0xffffffff880ba000
floppy 52824 0 - Live 0xffffffff880ac000
pcspkr 4056 0 - Live 0xffffffff880aa000
skge 30224 0 - Live 0xffffffff880a1000
dm_mod 39264 7 - Live 0xffffffff88096000
ata_piix 7812 0 - Live 0xffffffff88093000
ahci 9348 0 - Live 0xffffffff8808f000
sata_qstor 8068 0 - Live 0xffffffff8808c000
sata_vsc 6788 0 - Live 0xffffffff88089000
sata_uli 6144 0 - Live 0xffffffff88086000
sata_sis 5888 0 - Live 0xffffffff88083000
sata_sx4 11396 0 - Live 0xffffffff8807f000
sata_nv 7556 0 - Live 0xffffffff8807c000
sata_via 7172 0 - Live 0xffffffff88079000
sata_svw 6404 0 - Live 0xffffffff88076000
sata_sil 7940 0 - Live 0xffffffff88073000
sata_promise 9092 4 - Live 0xffffffff8806f000
libata 30856 12 ata_piix,ahci,sata_qstor,sata_vsc,sata_uli,sata_sis,sata_sx4,sata_nv,sata_via,sata_svw,sata_sil,sata_promise, Live 0xffffffff88066000
sbp2 19080 0 - Live 0xffffffff88060000
ohci1394 27596 0 - Live 0xffffffff88058000
ieee1394 63096 2 sbp2,ohci1394, Live 0xffffffff88047000
sl811_hcd 11392 0 - Live 0xffffffff88043000
ohci_hcd 17156 0 - Live 0xffffffff8803d000
uhci_hcd 26528 0 - Live 0xffffffff88035000
usb_storage 55616 0 - Live 0xffffffff88026000
usbhid 27680 0 - Live 0xffffffff8801e000
ehci_hcd 25864 0 - Live 0xffffffff88016000
usbcore 86008 7 sl811_hcd,ohci_hcd,uhci_hcd,usb_storage,usbhid,ehci_hcd, Live 0xffffffff88000000
livecd linux #

Labels: ,