issues: FreeBSD 7 on HP Proliant ML110 G5

Hi, recently my local HP had a promotion and I've gotten myself a Proliant ML110 G5 cheap. I wanted to run my 1st fulltime server and thought of running FreeBSD 7 on it.

I have fairly a bit of experience. Setup a NetBSD web server for a few months and played with FreeBSD based distros - pfSense and DesktopBSD. Most of the stuff I do is installing and playing with applications. Never touch the harder stuff like shell scripting and building a custom kernel.

The installation of FreeBSD 7 went ok on the ML110. However the in built gigabit ethernet card wasn't detected successfully and the system would lock up when restarting or shutting down.

I found a thread where a user with the same hardware experiencing the same problem: http://lists.freebsd.org/pipermail/freebsd-current/2008-March/084595.html . They were able to solve the ethernet card detection issue. I needed to fix the ethernet issue 1st and deal with the restart issue later. I tried to apply the patch mentioned here: http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/119779

I assume I just add the additional lines to /usr/src/sys/dev/bge/if_bge.c and /usr/src/sys/dev/bge/if_bgereg.h then build the kernel.

Following the instructions from the FreeBSD handbook I ran 'make buildkernel KERNCONF=GENERIC’ The build halted with a 'Error code 1' after a while.

I've looked around but didn't find anyone posting an exact same error as I experience. I found that most kernel build failures are due to including unneeded options or excluding needed options. In my case I used the GENERIC kernel configuration and I've tried building the kernel with if_bge.c and if_bgereg.h reverted to their original states and still getting an error.

Finally I reinstall FreeBSD 7 and building the kernel with GENERIC on a fresh install. However I still getting an error when building.

Bellow is part of the build output when the build failed. Please help me understand my issue. Thanks.

--------------------------------------------------------------
>>> stage 3.1: making dependencies
--------------------------------------------------------------
cd /usr/obj/usr/src/sys/GENERIC; MAKEOBJDIRPREFIX=/usr/obj MACHINE_ARCH=i386 MACHINE=i386 CPUTYPE= GROFF_BIN_PATH=/usr/obj/usr/src/tmp/legacy/usr/bin GROFF_FONT_PATH=/usr/obj/usr/src/tmp/legacy/usr/share/groff_font GROFF_TMAC_PATH=/usr/obj/usr/src/tmp/legacy/usr/share/tmac _SHLIBDIRPREFIX=/usr/obj/usr/src/tmp INSTALL="sh /usr/src/tools/install.sh" PATH=/usr/obj/usr/src/tmp/legacy/usr/sbin:/usr/obj/usr/src/tmp/legacy/usr/bin:/usr/obj/usr/src/tmp/legacy/usr/games:/usr/obj/usr/src/tmp/usr/sbin:/usr/obj/usr/src/tmp/usr/bin:/usr/obj/usr/src/tmp/usr/games:/sbin:/bin:/usr/sbin:/usr/bin make KERNEL=kernel depend -DNO_MODULES_OBJ
machine -> /usr/src/sys/i386/include
cc -c -O -pipe -std=c99 -g -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -nostdinc -I. -I/usr/src/sys -I/usr/src/sys/contrib/altq -I/usr/src/sys/contrib/ipfilter -I/usr/src/sys/contrib/pf -I/usr/src/sys/dev/ath -I/usr/src/sys/contrib/ngatm -I/usr/src/sys/dev/twa -I/usr/src/sys/gnu/fs/xfs/FreeBSD -I/usr/src/sys/gnu/fs/xfs/FreeBSD/support -I/usr/src/sys/gnu/fs/xfs -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000 -mno-align-long-strings -mpreferred-stack-boundary=2 -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 -ffreestanding /usr/src/sys/i386/i386/genassym.c
NM='nm' sh /usr/src/sys/kern/genassym.sh genassym.o > assym.s
awk -f /usr/src/sys/tools/vnode_if.awk /usr/src/sys/kern/vnode_if.src -p
awk -f /usr/src/sys/tools/vnode_if.awk /usr/src/sys/kern/vnode_if.src -q
awk -f /usr/src/sys/tools/vnode_if.awk /usr/src/sys/kern/vnode_if.src -h
./aicasm -nostdinc -I. -I/usr/src/sys -I/usr/src/sys/contrib/altq -I/usr/src/sys/contrib/ipfilter -I/usr/src/sys/contrib/pf -I/usr/src/sys/dev/ath -I/usr/src/sys/contrib/ngatm -I/usr/src/sys/dev/twa -I/usr/src/sys/gnu/fs/xfs/FreeBSD -I/usr/src/sys/gnu/fs/xfs/FreeBSD/support -I/usr/src/sys/gnu/fs/xfs -I/usr/src/sys/cam/scsi -I/usr/src/sys/dev/aic7xxx -o aic7xxx_seq.h -r aic7xxx_reg.h -p aic7xxx_reg_print.c -i /usr/src/sys/dev/aic7xxx/aic7xxx_osm.h /usr/src/sys/dev/aic7xxx/aic7xxx.seq
./aicasm -nostdinc -I. -I/usr/src/sys -I/usr/src/sys/contrib/altq -I/usr/src/sys/contrib/ipfilter -I/usr/src/sys/contrib/pf -I/usr/src/sys/dev/ath -I/usr/src/sys/contrib/ngatm -I/usr/src/sys/dev/twa -I/usr/src/sys/gnu/fs/xfs/FreeBSD -I/usr/src/sys/gnu/fs/xfs/FreeBSD/support -I/usr/src/sys/gnu/fs/xfs -I/usr/src/sys/cam/scsi -I/usr/src/sys/dev/aic7xxx -o aic79xx_seq.h -r aic79xx_reg.h -p aic79xx_reg_print.c -i /usr/src/sys/dev/aic7xxx/aic79xx_osm.h /usr/src/sys/dev/aic7xxx/aic79xx.seq
awk -f /usr/src/sys/tools/miidevs2h.awk /usr/src/sys/dev/mii/miidevs
awk -f /usr/src/sys/tools/pccarddevs2h.awk /usr/src/sys/dev/pccard/pccarddevs
awk -f /usr/src/sys/tools/usbdevs2h.awk /usr/src/sys/dev/usb/usbdevs -h
awk -f /usr/src/sys/tools/usbdevs2h.awk /usr/src/sys/dev/usb/usbdevs -d
rm -f opt_ah.h; cp /usr/src/sys/contrib/dev/ath/public/i386-elf.opt_ah.h opt_ah.h
awk -f /usr/src/sys/tools/vnode_if.awk /usr/src/sys/kern/vnode_if.src -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/ata/ata_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/eisa/eisa_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/mii/miibus_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/mmc/mmcbr_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/mmc/mmcbus_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/pccard/card_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/pccard/power_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/pci/pci_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/pci/pcib_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/ppbus/ppbus_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/uart/uart_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/usb/usb_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/geom/part/g_part_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/isa/isa_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/bus_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/cpufreq_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/device_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/linker_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/serdev_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/pci/agp_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/acpica/acpi_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/ata/ata_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/eisa/eisa_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/mii/miibus_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/mmc/mmcbr_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/mmc/mmcbus_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/pccard/card_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/pccard/power_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/pci/pci_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/pci/pcib_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/ppbus/ppbus_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/uart/uart_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/usb/usb_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/geom/part/g_part_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/isa/isa_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/bus_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/cpufreq_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/device_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/linker_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/serdev_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/pci/agp_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/acpica/acpi_if.m -h
rm -f .newdep
make -V CFILES -V SYSTEM_CFILES -V GEN_CFILES | MKDEP_CPP="cc -E" CC="cc" xargs mkdep -a -f .newdep -O -pipe -std=c99 -g -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -nostdinc -I. -I/usr/src/sys -I/usr/src/sys/contrib/altq -I/usr/src/sys/contrib/ipfilter -I/usr/src/sys/contrib/pf -I/usr/src/sys/dev/ath -I/usr/src/sys/contrib/ngatm -I/usr/src/sys/dev/twa -I/usr/src/sys/gnu/fs/xfs/FreeBSD -I/usr/src/sys/gnu/fs/xfs/FreeBSD/support -I/usr/src/sys/gnu/fs/xfs -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000 -mno-align-long-strings -mpreferred-stack-boundary=2 -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 -ffreestanding
*** Error code 1

Stop in /usr/obj/usr/src/sys/GENERIC.
*** Error code 1

Stop in /usr/src.
*** Error code 1

Stop in /usr/src.
 
It's an embedded NC105i PCI Express Gigabit Ethernet Server Adapter as HP calls it. Around the internet people identify it as a Broadcom BCM5722 card.

I'm sorry I couldn't get the dmesg output at the moment because The system was formatted and awaiting a re-download of 7.0-RELEASE-i386-disc1.iso. I just tried the md5sum test and my previous download failed the checksum test. I read somewhere that a corrupted download could cause the problem.
 
SaveTheRbtz said:

Ok, I've never applied a patch before. From the link you provided, I assume I add the lines with a “+” in front to the following files:
src/sys/dev/bge/if_bge.c
src/sys/dev/bge/if_bgereg.h
src/sys/dev/mii/brgphy.c
src/sys/dev/mii/miidevs

and then “make buildkernel KERNCONF=GENERIC” from “/usr/src” correct?

Sylhouette said:
I have the same machine, and i am running 7.1 PRERELEASE amd64 without problems.!!

regards,
Johan Hendriks

Good to hear that 7.1 is working with ML110 G5. I think I'll wait for the final release as I don't have experience upgrading from beta.
 
first read man patch
in your case patches applying like
# cd /usr
# patch < patchfile.diff


but it can be nontrivial for you, so my advice is to install 7.1BETA2 that i've posted link to.
 
I have the same system and had loads of problems trying to install FreeBSD7.0-RELEASE
I ended up downloading a stable install disk and used it. You can find them here
ftp://ftp.freebsd.org/pub/FreeBSD/snapshots/200811/

In the snapshot dir you mentioned there are no STABLE branch snapshots.
If you use one from that dir than you are running CURRENT which is the main development version of FreeBSD ,also known as 8.0

The latest STABLE of the 7 branch is 7.1-Beta2

For the topic starter just try to install the beta 2 if it works, then you have 2 options.
1 wait for 7.1 being released and install it.
2 install 7.1 beta and learn how to do a buildworld cycle, this way you can upgrade the Beta to the RC's and then the final release.

You probably find it scary at first but there is really not a lot that can go wrong. But this way you will learn a lot off the system and then when 7.2 comes out you are ready to do that upgrade as well ;)

regards,
Johan Hendriks
 
The handbook describes the process. Caveats are listed in /usr/src/UPDATING.

The cvsup tag you need is RELENG_7. Once 7.1 is released, you can change the tag to RELENG_7_1.
Tag RELENG_7_1 will not contain new development patches towards 7.2 release, but only security fixes.
 
Sylhouette said:
For the topic starter just try to install the beta 2 if it works, then you have 2 options.
1 wait for 7.1 being released and install it.
2 install 7.1 beta and learn how to do a buildworld cycle, this way you can upgrade the Beta to the RC's and then the final release.

You probably find it scary at first but there is really not a lot that can go wrong. But this way you will learn a lot off the system and then when 7.2 comes out you are ready to do that upgrade as well ;)

regards,
Johan Hendriks

I've just installed 7.1 beta2. The reboot issue is gone and the Broadcom BCM5722 interface is working.

Thanks to all for the assistance.
 
Back
Top