Debian GNU/Linux on ASRock 939DUAL-SATA2
As of Tuesday Sept. 13, I am the proud owner of the following hardware:
- ASRock 939Dual-SATA2 Motherboard
- AMD Athlon X2 3800+
- Athenatech 631.400SATA case
- Gigabyte Radeon 9250 AGP
- Seagate 80GB SATA HDD w/ NCQ
This page documents the trials and tribulations required to get Linux operating
on the system.
PXE Boot - the no FDD, no CD/DVD solution
Since I have no removable media in the computer, the only solution for loading
the operating system was to use the PXE boot option of the ASRock
939DUAL-SATA2. To enable this, look in the BIOS. I will document this more
when I have time.
On the server side, I have my trust IBM Thinkpad X24. Since I didn't have a
crossover cable handy and I had only one ethernet cable (yes I know I need to
get better equipped), I had the X24 connected to a Netgear wireless router via
802.11b, and the ASRock's onboard NIC directly connected to the router.
The problem with the Thinkpad, however, is that there is a bad sector on the
dpkg database. So, I needed to install all the required software by hand
(until I can back up my data on the ASRock system and fix dpkg).
Setting up the DHCP/TFTP Server
Order of operations:
DHCP
- Go to ISC and download
DHCP 3.0.3 src.
- ./configure, make, no make install (I didn't want to mess up my local
fs)
- copy the provided example dhcpd.conf to /etc/dhcpd.conf, and modify it so
that the subnet that the router is handed out is configured. Make sure
authoritative is set (so that it overrides the dhcp server on the router), and
that you are giving the IP address of the router (not the DHCP server) as
"routers". Example file will be attached later.
- In that same dhcpd.conf file, create a 'host' entry for the ASRock Device.
host pxeinstall { hardware ethernet 00:11:22:33:44:55; filename
"pxelinux.0"; next-server ; }
- Add a line to dhcpd.conf so that it doesn't whine about ddns (the example
config file is incomplete) -
ddns-update-style ad-hoc;
- create the directory /var/state/dhcp, touch the file dhcpd.leases in that
dir
- run the DHCP server with the command
(source-dir)/work.linux-2.2/server/dhcpd
TFTP
- Go to kernel.org and
download the latest version of tftp ( I used tftp-hpa-0.40.tar.bz2 ).
- ./configure; make; again no make install
- run tftpd/tftpd -l -v -v -s /tftpboot
the '-v's are so that you can tail -f /var/log/syslog to see which
files are being picked off (or not) by the ASRock device.
- ok, time to prepare /tftpboot. so, mkdir /tftpboot first off.
- using ncftp (or your favourite ftp program), ftp to amd64.debian.net
- cd to debian-installer/daily/netboot, and mget -r (or whatever) the
debian-installer (dir), pxelinux.0, and pxelinux.cfg (dir) files/directories to
/tftpboot.
Booting/Installing
Turn on your ASRock system. It should eventually load the Intel
PXE boot agent, get an IP address, and start booting syslinux.
At this point, if you tail -f /var/log/syslog on the TFTP server, you
should see various files being sent over to the ASRock system. One problem you
may notice is that if you failed to set next-server for the host in dhcpd.conf,
syslinux will try to tftp files from the broadcast address, which tftpd-hpa
won't answer.
From here, it should look like the typical debian-install.
Select language/keyboard layout/etc. When it gets to network card
autodetection, however, it fails. If you manually tell the installer to use
the tulip driver, it will load and say "success" on DHCP, but that success is
falsely reported. The network is still unusable at this point.
It appears the onboard ethernet chip (ULI M5263) doesn't work as-is with the
tulip driver. I believe the patch tulip-fixes-for-uli5261.patch
will fix it, but I have yet to figure out how to compile a custom-module for
debian-installer.
Without this patch, you'll currently get
eth0: Invalid media table
selection 128
and you own't be able to connect to any HTTP or FTP servers. ifconfig will
likely show 10 or so RX packets, and 2 TX errors w/ no TX packets. I'll update
as soon as I've figured out the next step, likely tonight.