Tightening kernel for Mac Mini G4
Justin Hibbits
chmeeedalf at gmail.com
Wed Jan 22 16:25:59 UTC 2014
On Wed, 22 Jan 2014 15:33:23 +0000
Alexey Dokuchaev <danfe at FreeBSD.org> wrote:
> Hi there,
>
> Today I've brought to life an old rusted Mac Mini G4 which was almost
> thrown into the garbage. I've just installed some fresh snapshot of
> -CURRENT on it, and now building world. Before I get to the kernel
> stage, I have couple of questions (to minimize the chances of hooking
> up console again if I screw up along the way).
>
> I'm used to trimming the kernel config down as much as possible (yes,
> that means "nodevice mem" and "nodevice io" at least on i386). This
> brings me to the first question: do I read it correctly that "device
> io" is x86 specific and I don't need it on ppc?
Yes, "device io" is for using the I/O ports on the x86 CPU. PowerPC
doesn't use I/O ports, it's purely mmio, and in PowerMacs that's done
with the macio.
>
> Second question is about ATA subsystem. Per dmesg(8):
>
> ata0: <Apple MacIO ATA Controller> mem
> 0x20000-0x20fff,0x8800-0x88ff irq 24,12 on macio0
> ata1: <Intrepid Kauai ATA Controller> mem 0xf5004000-0xf5007fff irq
> 39 at device 13.0 on pci2
> ada0 at ata1 bus 0 scbus1 target 0 lun 0
> ada0: <TOSHIBA MK4025GAS KA100P> ATA-6 deviceuhub1: 3 ports with 3
> removable, self powered
>
> Normally on x86 I omit ATA stuff completely from kernel config, and
> just add ataintel_load="YES" (on pre-AHCI system)
> in /boot/loader.conf, which in turn loads all necessary dependencies
> (atapci.ko, etc.). Since "ataintel" hardly applies to my G4: 1) can
> I remove ATA from my MACMINI kernel config?, and 2) what shall I add
> to /boot/loader.conf to enable the disk in Mac Mini G4? Is atapci.ko
> (or simply ata.ko) enough? I do not see MacIO- or Kauai-related .ko
> files under /boot/kernel, hence the question.
ata_macio and ata_kauai aren't available as modules. It's probably
trivial to make them such, but currently they're not. Just keep the
devices in kernel config.
>
> Third, about this section of powerpc/GENERIC, seemingly
> PowerPC-related:
>
> device iicbus # I2C bus code
> device kiic # Keywest I2C
> device ad7417 # PowerMac7,2 temperature sensor
> device ds1631 # PowerMac11,2 temperature sensor
> device ds1775 # PowerMac7,2 temperature sensor
> device fcu # Apple Fan Control Unit
> device max6690 # PowerMac7,2 temperature sensor
> device powermac_nvram # Open Firmware configuration NVRAM
powermac_nvram is different from nvram. nvram is CMOS (PC) according
to the source code, powermac_nvram is OpenFirmware configuration. It
can be pulled out and loaded as a module, and isn't required for 99%
of what you would want to do anyway. fcu can be pulled out. The others
can be modules as well.
> ^^^^^^^^^^^^^^
> How is this one related to nvram.ko? Do I need to add
> nvram_load="YES" to /boot/loader.conf to be able to interact with OF
> nvram from userland? Do I have to keep "powermac_nvram" in kernel
> config at the same time?
>
> device smu # Apple System Management Unit
> device windtunnel # Apple G4 MDD fan controller
Neither of these are necessary for you. I should probably eventually
modularize windtunnel driver (and give it a better name). SMU is for
G5 systems, PMU is for G4 and G3 systems.
> None of these seems to be modularized, so: which of them are required
> for Mac Mini G4?
>
> Fourth question is of less importance, but still. In
> powerpc/GENERIC, I see this sound support section:
>
> device sound # Generic sound driver (required)
> device snd_ai2s # Apple I2S audio
> device snd_davbus # Apple DAVBUS audio
> device snd_uaudio # USB Audio
>
> But nonetheless:
>
> $ mixer
> mixer: /dev/mixer: No such file or directory
>
> Is internal sound card supported? If yes, which module should I load?
>
> Thanks,
>
> ./danfe
Can you drop the output of 'ofwdump -ap' somewhere (freefall?) and I
can take a look at it. Internal sound on most PowerPC Apple hardware
is supported, I'm curious why yours isn't.
- Justin
More information about the freebsd-ppc
mailing list