eRacks Systems Tech Blog

Open Source Experts Since 1999

How to Install FreeBSD 6.2 on an Acer Aspire 3690

First Step: Install a fresh copy of FreeBSD 6.2

1) Getting the sound card to work:

The soundcard uses the snd-hda module, which is not supported by the 6.2 kernel. However, the latest snapshot of the 6.x series kernel does support it, so we must update our kernel. To do so, do the following:

1. Create a CVS sup called supfile file with the following:

*default tag=RELENG_6 #(do NOT use RELENG_6_2, or you won’t get the new kernel)
*default host=ftp.freebsd.org
*default prefix=/usr/local
*default base=/var/db
*default release=cvs delete use-rel-suffix compress
src-sys

2. Now, issue the command ‘cvsup supfile’

3. When the updated kernel source tree is fully downloaded, copy /usr/src/sys/crypto to /usr/local/src/sys/crypto (for some reason, this subdirectory is missing from the more up-to-date version of the kernel source tree, which results in compile-time errors.)

4. Edit the file /usr/local/src/sys/conf/newvers.sh and change ‘RELEASE’ from 6.3 to 6.2 and ‘BRANCH’ from PRERELEASE to RELEASE. This is a rather clumsy hack, but it’s the only way to ensure that the user will continue to be able to download packages for the 6.2 RELEASE version of FreeBSD, since, while the userland is 6.2, the OS’s version is determined by the kernel’s version.

5. Copy /usr/local/src/sys/i386/conf/GENERIC to /usr/local
src/sys/i386/conf/ERACKS

6. Open the ERACKS kernel configuration file and do the following:

– delete all the ‘cpu’ directives at the top except for I686_CPU
– change ‘ident GENERIC’ to ‘ident ERACKS’
– disable unneeded device drivers (be careful to only disable those you know for a fact won’t be used; you can get rid of the serial and parallel port drivers for example, since there are no serial or parallel ports on the laptop)

7. When the source tree is prepared, move /usr/src/sys to /usr/src/sys.old, and move /usr/local/src/sys to usr/src/sys

8. cd to /usr/src and type the command “make buildkernel KERNCONF=ERACKS”

9. If the build was successful, type the command “make installkernel KERNCONF=ERACKS”

10. Reboot the computer and make sure it comes up successfully

Now, the sound card should be working.

2) Getting the wireless to work:

Unfortunately, there are no native FreeBSD drivers for the wireless. However, there is an ndis wrapper in the FreeBSD kernel that will allow us to use Windows drivers for this card.

1. Download the file http://ftp.us.dell.com/network/R94827.EXE. Just in case this link doesn’t work, a copy of this driver will also be kept at eRacks. Even though the laptop is an Acer, trying to use the Acer driver will fail (not sure why.) The Dell driver, while intended for another laptop, supports the same wireless chipset, and will suit our needs.

2. On a Windows machine (or with WINE), run the self extracting archive, and copy bcmwl5.inf and bcmwl5.sys to the FreeBSD laptop (these files will be extracted when you run R94827.EXE.)

3. In the directory where the two above mentioned files are stored, issue the command “ndisgen bcmwl5.inf bcmw5l.sys”. Accept all the defaults, pressing enter for each one, and a resulting .ko kernel object will be built. This is the “FreeBSDized” Windows driver that will support the wireless card.

4. Copy the resulting object file to /boot/modules

5. Edit /boot/loader.conf and add the following line: “bcmwl5_sys_load=”YES”

6. Reboot the machine, and verify the wireless card is working by issuing the command “ifconfig -a.” Observe that there is a device named ndis0.

That’s it! All the other devices are supported out of the box. The only exception is that the graphics adapter is only supported through generic VGA. The Intel 945GVM is supported in FreeBSD 7.0, but that is currently unstable.

March 31st, 2008

Posted In: Laptop cookbooks

Tags: , , ,

4 Comments

Leave a Reply