[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: G3 imac, networking, 2.6.12 kernel

I hate to keep pestering you folks with these, but...
I hit another glitch installing modern linux on archaic macs. (hey, this one's _only_ 6 years old)

I just tried installing the stock 2.6.12 kernel on a G3 Imac (rev. D, Paddington). The problem is: a. the stock kernel doesn't have a driver for the network chip compiled in.
b.  the install procedures don't  insmod the appropriate driver module
c. hotplug (testing/etch) package doesn't traverse the paddington devices (macio bus).
d.  It's not all that obvious which driver should be aliased to eth0.

I've poked around a bit and it seems that this is a common problem with G3 macs where the devices are not visible to the pci bus.

And the answer is.... "bmac". This problem has been around since at least 2.6.7.

FWIW, the installation still fails with linux-image-2.6-15-1-powerpc as neither hotplug nor udev can probe this particular machine. I plan on filing a bug against linux-image-2.6.15-1-powerpc, along with the script below for consideration as part of the postinst process. Is that the ''correct'' package to post against?

I figure that this would be useful for OldWorld installations as well.
Are there other required modules that I missed?

Other comments?

# Work around early NewWorld device probe limitations and explicitly load modules
# required for certain well known configurations.
# 1.  determine the required module(s):
case ` awk '/machine/{print $3}' /proc/cpuinfo` in
  ( "iMac,1" ) modules="bmac";;  # <-- First generation iMacs.
  ( "PowerBook,1" ) modules="bmac";; # <--Lombard powerbook
  ( "PowerMac,1" ) modules="bmac";;  # <--B&W G3
  #...and others as necessary.

# 2.  direct the kernel to load the module(s)
for mod in $modules; do
  if ( ! grep "$mod" /etc/modules > /dev/null ); then
    echo "$mod" >>  /etc/modules;
    echo "module $module added to /etc/modules";

# 3. other notification of config changes as appropriate (e.g. email to root)

Reply to: