Installing FreeBSD 7.0 on the Dell PowerEdge R300

The Dell PowerEdge R300has a Broadcom 5722 network card, which isn’t supported by the latest release of FreeBSD (7.0). Patches for the Broadcom 5722 are in the development versions of FreeBSD, but in order to get the development versions, it’s easiest if you have net access, which is hard without a working network card.

The simplest way to get FreeBSD working is to download the FreeBSD disk 1 (you probably want the amd64 version if you have plenty of memory). Then install FreeBSD in the usual way (in the handbook).

During installation you will see the first disk as device ad4. If you have a second disk it will be ad6. sysinstall will tell you that you have two fdisk partitions already (if you opted for Dell not to install an operating system). ad4s1 is Dell’s utilities partition. I chose not to remove these partitions, as I didn’t know what ad4s2 was, and there was no easy way of knowing from sysinstall. Once FreeBSD was installed I could mount ad4s2 (an msdosfs filesystem), and see that it contained… nothing! I could have therefore removed this during the install. It would also have been fine to remove ad4s1, as the diagnostic utilities are also available from Dell on a CD, so provided the CD drive is functional (or present) then it’s easy to run the latest version of the diagnostics..

During the installation, you can install whichever packaged you wish (I always choose a minimal install), plus you also need to install the kernel source code. Once you’ve installed, you then need to apply the changes found at:

These changes can be made with a text editor such as vi. Once the changes have been made, recompile the kernel (the GENERIC kernel is fine, or roll your own) as indicated in the handbook.

When you reboot dmesg should show extra lines such as:

bge0: <Broadcom BCM5722 A0, ASIC rev. 0xa200> mem 0xdfdf0000-0xdfdfffff irq 16 at device 0.0 on pci1
miibus0: <MII bus> on bge0
brgphy0: <BCM5722 10/100/1000baseTX PHY> PHY 1 on miibus0
brgphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
bge0: Ethernet address: 00:1e:4f:00:0000
bge0: [ITHREAD]
pcib9: <ACPI PCI-PCI bridge> irq 17 at device 28.5 on pci0
pci2: <ACPI PCI bus> on pcib9
bge1: <Broadcom NetXtreme Gigabit Ethernet Controller, ASIC rev. 0xa200> mem 0xdfef0000-0xdfefffff irq 17 at device 0.0 on pci2
miibus1: <MII bus> on bge1
brgphy1: <BCM5722 10/100/1000baseTX PHY> PHY 1 on miibus1
brgphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
bge1: Ethernet address: 00:1e:4f:00:00:01
bge1: [ITHREAD]

After doing this you may wish to consider building world and the kernel, and installing onto a USB key inserted into the internal USB socket. Set your BIOS to boot from hard disks first, then USB, and voila, you have a recovery environment (with a working network card) if your disks are rendered unbootable.

Note that with FreeBSD 7.1 and later the network interfaces will work “out the box”.

Leave a comment

Your email address will not be published. Required fields are marked *