Dec 282005

FreeBSD 6.0-RC1 – yes, I know this is late

This article was originally finished on about Oct 18, but I never published it (for no particular reason). Although 6.0 has now been released, I thought I’d publish it now, just in case it helps. The original article follows. FreeBSD 6.0-RC1 came out on Oct 11. I started playing with it shortly thereafter. I’ve been running -current on my IBM ThinkPad T41 for some time. A few days ago, I wrote about cross compiling on AMD64. Since then, I’ve swapped out that AMD 64 3000+ machine. In its place, and now acting as the gateway, is a Celeron 2.00 GHz with 280MB of RAM, running 4.11. All I did was move the HDD from the AMD to the Celeron. I also moved the ISP-facing NIC into the new box. That’s so I’d present the same MAC address to the ISP and hopefully retain the same IP address (it worked; no IP address change for me).

ACPI problems with my mainboard

The AMD box now contains a 3Ware 7006-2 card and two 80GB drives (one Seagate, one Maxtor). I planned to install 6.0RC1 onto this computer. I downloaded and burned the disc1 CD. The installation process kept freezing after displaying twed0. This also happened with a 5.4 CD but not with a 4.9 CD (and, I think, but can’t recall precisely, with a 4.11 CD). The issue was definitely related to the 3Ware card, but the fault was not that of the card. It was the OS. Darius suggested that I try this without ACPI. At the boot prompt, I issued a unset acpi_load to disable the ACPI module.
/boot.config: -DhConsoles: internal video/keyboard serial port
BIOS drive A: is disk0
BIOS drive C: is disk1
BIOS 639kB/1047232kB available memory

FreeBSD/i386 bootstrap loader, Revision 1.1
(root@x64.samsco.home, Sun Oct 9 18:32:30 UTC 2005)
Loading /boot/defaults/loader.conf
/boot/kernel/kernel text=0x487f94 data=0x803e0+0x4ce28 syms=[0x4+0x614a0+0x4+0x77f33]

Hit [Enter] to boot immediately, or any other key for command prompt.
Booting [/boot/kernel/kernel] in 7 seconds...

Type '?' for a list of commands, 'help' for more detailed help.
OK unset acpi_load
OK boot
Copyright (c) 1992-2005 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD 6.0-RC1 #0: Sun Oct 9 20:32:57 UTC 2005
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: AMD Athlon(tm) 64 Processor 3000+ (1802.31-MHz 686-class CPU)
Origin = "AuthenticAMD" Id = 0x10ff0 Stepping = 0
This allows the install to proceed. After install, I wanted to add disable ACPI permanently. My first attempt failed. I tried added that comment to /boot/loader.conf but that is the incorrect format. The correct usage in that file would be acpi_load="NO". Unfortunately, that didn’t work either. ACPI was still loaded, as shown in this boot extract:
OK boot -v
/boot/kernel/acpi.ko text=0x40c0c data=0x2160+0x1090 syms=[0x4+0x7810+0x4+0xa292]
Finally, I had success with this in /boot/device.hints:
The full text of the boot -v console log, with ACPI enabled, can be found here.

No cross-compiling details yet!

The whole point of this article was to point out the problems I’m having now and provide an explanation as to why I haven’t posted the results of my testing. In short, the tests worked. The solution is sound. I’ll post details after I finish some disk testing. I’m comparing RAID-1, both hardware and software, on IDE and SATA drives. I’ll also try gmirror as documented by Dru Lavigne in a recent OnLAMP article. When I’m finished all that, and have decided upon a RAID-1 setup, I’ll complete by cross compiling escapades.