FreeBSD on MacBook (Core Duo and Core 2 Duo models)
By Arnaud Boudou on Saturday 1 March 2008, 18:24 - How-to (english) - Permalink
Important (13/05/2008) : As I've just bought a MacBook Pro, this post won't be updated anymore. You're free to reuse this content into a Wiki or any web page, I'll be happy to give its link from here.
Dual boot FreeBSD / MacOS X on MacBook how-to (and the related issues).
Changelog:
- 01/03/2008: Update for FreeBSD 7.0.
- 28/05/2007: Update about sound recording, some minor changes.
- 20/05/2007: Update for X.org 7.2.
- 02/04/2007: Core 2 Duo model related changes.
- 30/03/2007: Some fixes, FreeBSD Ethernet device driver, X.org French azerty mapping
- 29/03/2007: How-to uninstall FreeBSD.
- 04/02/2007: Details on detected devices.
- 01/02/2007: Sound driver now works.
- 07/01/2007: 3D acceleration : kernel patch is not needed anymore.
- 06/12/2006: Keyboard mapping with X.org.
- 18/11/2006: Sound driver, Ethernet driver, X.org 3D acceleration, details about keyboard problems with X.org, some page setup changes.
- 17/11/2006: First details on sound management, first details on Ethernet management, new details on FreeBSD uninstall.
FreeBSD on MacBook is easy, you just have to follow the above steps.
Table of contents
- Needed
- Hardware configuration
- System installation
- FreeBSD use, and detailed setup
- Uninstall FreeBSD
- Miscellaneous issues
- More info
Needed
Let say you will use a Core Duo MacBook with French azerty keyboard (as I do). If you do use this keyboard, you will have to adapt the following setting to your needs. And if you use a Core 2 Duo MacBook, there are some some settings to change.
- Download FreeBSD CD ISO image. At least you'll 6.7 version. There are many available images:
- disk 1 for system installation
- disk 2 (optional) for application installation
- disk 3 (optional) for application installation
- “livefs” to run FreeBSD from the CD-ROM (useful for repairs)
- “bootonly” for network installation (only with Ethernet adapter, not WIFI).
- Burn on a blank CD-R FreeBSD installation disk.
- Install Boot Camp. When it's done, start it up, don't burn driver disk (it's only for Windows, and you want to install FreeBSD). Then create a new partition for FreeBSD. It's size should be about 10 or 15 GB (choose as you want, more or less, you're the boss).
Hardware configuration
In order to set up your system, it may be useful to know your hardware configuration. This chapter will evolve each time I will find anything useful..
- CPU: Intel Core Duo or Core 2 Duo depending on model, with two cores. An SMP kernel with ACPI support is mandatory if you want to use multi-core.
- Keyboard: French azerty. You'll need to use Belgian azerty in console mode, with some keyboard shortcuts which are not the same than MacOS X (use <alt> key). With X.org, if you install specific keymap file, you'll get the same keyboard mapping than MacOS X (see the related chapter).
- GPU: i945GM (GMA950). Fully supported.
- Display: 1280x800. Fully supported with X.org 7.3.
- Mouse: Depend if you use an USB mouse or the trackpad. Device to use is “/dev/umsX” (X will depend of device detection order). If no mouse is plugged in, the trackpad will use “/dev/ums0”, don't works well with X.org. My Logitech MX 1000 (uses “/dev/ums0”, then the trackpad uses “/dev/ums1”), works great (see the related chapter).
- Audio: Detected as ICH7 High Definition Audio, fully supported, but I didn't test sound recording. (see the related chapter).
- Webcam: Detected as generic USB device. It's neither supported by SPCA5xx nor PWCBSD.
- Firewire: Detected as a Lucent FW322/323 device. It works.
- Bluetooth: The device is not supporter by standard bluetooth driver, “ng_ubt”. FreeBSD just seems to detect “/dev/ukbd1” and “/dev/ums1” devices. Maybe a generic driver for Bluetooth keyboard / mouse controller.
- Firewire network adapter: Detected as “/dev/net/fwe0” device. Should work.
- Ethernet network adapter: Detected as a 88E8053 Yukon PCI-E Gigabit Ethernet controller, fully supported. (see the related chapter).
- WIFI network adapter: On a Core Duo MacBook, it's an Atheros 5424 adapter. Detected as “/dev/net/ath0”, it works (see the related chapter). On a Core 2 Duo MacBook, it's an Atheros AR5008 chipset which lacks a device driver. So you can't use it.
- DVD burner: Detected as “/dev/acd0” device. With a kernel modification, it's detected as an SCSI pseudo-device “/dev/cd0”. This SCSI pseudo-device is mandatory in order to use “cdrdao”, “cdrtools” and “dvd+rw-tools” tools (see the related chapter).
- SATA controller: Intel ICHM7, detected and works.
- USB / USB2 controller: Intel ICH7, detected and works.
- Battery: Detected, “battery0” device.
Dmesg is (Core Duo MacBook):
Copyright (c) 1992-2008 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 7.0-RELEASE #0: Sun Feb 24 19:59:52 UTC 2008
root@logan.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Genuine Intel(R) CPU T2500 @ 2.00GHz (1997.34-MHz 686-class CPU)
Origin = "GenuineIntel" Id = 0x6e8 Stepping = 8
Features=0xbfe9fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
Features2=0xc1a9<SSE3,MON,VMX,EST,TM2,xTPR,PDCM>
AMD Features=0x100000<NX>
Cores per package: 2
real memory = 2114781184 (2016 MB)
avail memory = 2059812864 (1964 MB)
ACPI APIC Table: <APPLE Apple00>
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
cpu0 (BSP): APIC ID: 0
cpu1 (AP): APIC ID: 1
ioapic0: Changing APIC ID to 1
ioapic0 <Version 2.0> irqs 0-23 on motherboard
kbd0 at kbdmux0
ath_hal: 0.9.20.3 (AR5210, AR5211, AR5212, RF5111, RF5112, RF2413, RF5413)
hptrr: HPT RocketRAID controller driver v1.1 (Feb 24 2008 19:59:27)
acpi0: <APPLE Apple00> on motherboard
acpi0: [ITHREAD]
acpi_ec0: <Embedded Controller: GPE 0x17, ECDT> port 0x62,0x66 on acpi0
acpi0: Power Button (fixed)
Timecounter "HPET" frequency 14318180 Hz quality 900
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x408-0x40b on acpi0
cpu0: <ACPI CPU> on acpi0
est0: <Enhanced SpeedStep Frequency Control> on cpu0
p4tcc0: <CPU Frequency Thermal Control> on cpu0
cpu1: <ACPI CPU> on acpi0
est1: <Enhanced SpeedStep Frequency Control> on cpu1
p4tcc1: <CPU Frequency Thermal Control> on cpu1
acpi_acad0: <AC Adapter> on acpi0
acpi_lid0: <Control Method Lid Switch> on acpi0
acpi_button0: <Power Button> on acpi0
acpi_button1: <Sleep Button> on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
vgapci0: <VGA-compatible display> port 0x20f0-0x20f7 mem 0x90380000-0x903fffff,0x80000000-0x8fffffff,0x90400000-0x9043ffff irq 16 at device 2.0 on pci0
agp0: <Intel 82945GM (945GM GMCH) SVGA controller> on vgapci0
agp0: detected 16124k stolen memory
agp0: aperture size is 256M
vgapci1: <VGA-compatible display> mem 0x90300000-0x9037ffff at device 2.1 on pci0
pci0: <dasp> at device 7.0 (no driver attached)
pci0: <multimedia> at device 27.0 (no driver attached)
pcib1: <ACPI PCI-PCI bridge> irq 17 at device 28.0 on pci0
pci1: <ACPI PCI bus> on pcib1
mskc0: <Marvell Yukon 88E8053 Gigabit Ethernet> port 0x1000-0x10ff mem 0x90200000-0x90203fff irq 16 at device 0.0 on pci1
msk0: <Marvell Technology Group Ltd. Yukon EC Id 0xb6 Rev 0x02> on mskc0
msk0: Ethernet address: 00:16:cb:ce:f9:71
miibus0: <MII bus> on msk0
e1000phy0: <Marvell 88E1111 Gigabit PHY> PHY 0 on miibus0
e1000phy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseTX-FDX, auto
mskc0: [FILTER]
pcib2: <ACPI PCI-PCI bridge> irq 16 at device 28.1 on pci0
pci2: <ACPI PCI bus> on pcib2
ath0: <Atheros 5424/2424> mem 0x90100000-0x9010ffff irq 17 at device 0.0 on pci2
ath0: [ITHREAD]
ath0: using obsoleted if_watchdog interface
ath0: Ethernet address: 00:16:cb:be:f8:40
ath0: mac 10.3 phy 6.1 radio 10.2
uhci0: <UHCI (generic) USB controller> port 0x20a0-0x20bf irq 21 at device 29.0 on pci0
uhci0: [GIANT-LOCKED]
uhci0: [ITHREAD]
usb0: <UHCI (generic) USB controller> on uhci0
usb0: USB revision 1.0
uhub0: <Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb0
uhub0: 2 ports with 2 removable, self powered
uhci1: <UHCI (generic) USB controller> port 0x2080-0x209f irq 19 at device 29.1 on pci0
uhci1: [GIANT-LOCKED]
uhci1: [ITHREAD]
usb1: <UHCI (generic) USB controller> on uhci1
usb1: USB revision 1.0
uhub1: <Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb1
uhub1: 2 ports with 2 removable, self powered
uhci2: <UHCI (generic) USB controller> port 0x2060-0x207f irq 18 at device 29.2 on pci0
uhci2: [GIANT-LOCKED]
uhci2: [ITHREAD]
usb2: <UHCI (generic) USB controller> on uhci2
usb2: USB revision 1.0
uhub2: <Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb2
uhub2: 2 ports with 2 removable, self powered
uhci3: <UHCI (generic) USB controller> port 0x2040-0x205f irq 16 at device 29.3 on pci0
uhci3: [GIANT-LOCKED]
uhci3: [ITHREAD]
usb3: <UHCI (generic) USB controller> on uhci3
usb3: USB revision 1.0
uhub3: <Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb3
uhub3: 2 ports with 2 removable, self powered
ehci0: <Intel 82801GB/R (ICH7) USB 2.0 controller> mem 0x90445400-0x904457ff irq 21 at device 29.7 on pci0
ehci0: [GIANT-LOCKED]
ehci0: [ITHREAD]
usb4: EHCI version 1.0
usb4: companion controllers, 2 ports each: usb0 usb1 usb2 usb3
usb4: <Intel 82801GB/R (ICH7) USB 2.0 controller> on ehci0
usb4: USB revision 2.0
uhub4: <Intel EHCI root hub, class 9/0, rev 2.00/1.00, addr 1> on usb4
uhub4: 8 ports with 8 removable, self powered
ugen0: <Micron Built-in iSight, class 255/255, rev 2.00/1.84, addr 2> on uhub4
pcib3: <ACPI PCI-PCI bridge> at device 30.0 on pci0
pci3: <ACPI PCI bus> on pcib3
fwohci0: <Lucent FW322/323> mem 0x90000000-0x90000fff irq 19 at device 3.0 on pci3
fwohci0: [FILTER]
fwohci0: OHCI version 1.0 (ROM=0)
fwohci0: No. of Isochronous channels is 8.
fwohci0: EUI64 00:16:cb:ff:fe:e4:24:ce
fwohci0: Phy 1394a available S400, 3 ports.
fwohci0: Link S400, max_rec 2048 bytes.
firewire0: <IEEE1394(FireWire) bus> on fwohci0
dcons_crom0: <dcons configuration ROM> on firewire0
dcons_crom0: bus_addr 0x13c4000
fwe0: <Ethernet over FireWire> on firewire0
if_fwe0: Fake Ethernet address: 02:16:cb:e4:24:ce
fwe0: Ethernet address: 02:16:cb:e4:24:ce
fwip0: <IP over FireWire> on firewire0
fwip0: Firewire address: 00:16:cb:ff:fe:e4:24:ce @ 0xfffe00000000, S400, maxrec 2048
sbp0: <SBP-2/SCSI over FireWire> on firewire0
fwohci0: Initiate bus reset
fwohci0: BUS reset
fwohci0: node_id=0xc000ffc0, gen=2, CYCLEMASTER mode
isab0: <PCI-ISA bridge> at device 31.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <Intel ICH7 UDMA100 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0x20c0-0x20cf irq 18 at device 31.1 on pci0
ata0: <ATA channel 0> on atapci0
ata0: [ITHREAD]
ata1: <ATA channel 1> on atapci0
ata1: [ITHREAD]
atapci1: <Intel ICH7M SATA300 controller> port 0x20d8-0x20df,0x20fc-0x20ff,0x20d0-0x20d7,0x20f8-0x20fb,0x2020-0x202f mem 0x90445000-0x904453ff irq 19 at device 31.2 on pci0
atapci1: [ITHREAD]
ata2: <ATA channel 0> on atapci1
ata2: [ITHREAD]
ata3: <ATA channel 1> on atapci1
ata3: [ITHREAD]
pci0: <serial bus, SMBus> at device 31.3 (no driver attached)
battery0: <ACPI Control Method Battery> on acpi0
pmtimer0 on isa0
ppc0: parallel port not found.
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
sio0: configured irq 4 not in bitmap of probed irqs 0
sio0: port may not be enabled
sio0: configured irq 4 not in bitmap of probed irqs 0
sio0: port may not be enabled
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 8250 or not responding
sio0: [FILTER]
sio1: configured irq 3 not in bitmap of probed irqs 0
sio1: port may not be enabled
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
ukbd0: <Apple Computer Apple Internal Keyboard / Trackpad, class 0/0, rev 2.00/0.64, addr 2> on uhub0
kbd1 at ukbd0
ums0: <Apple Computer Apple Internal Keyboard / Trackpad, class 0/0, rev 2.00/0.64, addr 2> on uhub0
ums0: 3 buttons.
uhid0: <Apple Computer Apple Internal Keyboard / Trackpad, class 0/0, rev 2.00/0.64, addr 2> on uhub0
uhid1: <Apple Computer, Inc. IR Receiver, class 0/0, rev 2.00/1.10, addr 2> on uhub2
ukbd1: <vendor 0x05ac product 0x1000, class 0/0, rev 2.00/19.65, addr 2> on uhub3
kbd2 at ukbd1
ums1: <vendor 0x05ac product 0x1000, class 0/0, rev 2.00/19.65, addr 2> on uhub3
ums1: 5 buttons.
Timecounters tick every 1.000 msec
hptrr: no controller detected.firewire0: 1 nodes, maxhop <= 0, cable IRM = 0 (me)
firewire0: bus manager 0 (me)
acd0: DVDR <MATSHITADVD-R UJ-857/HBEA> at ata0-master UDMA66
ad5: 57231MB <TOSHIBA MK6034GSX AH105B> at ata2-slave SATA150
GEOM_LABEL: Label for provider ad5p1 is msdosfs/EFI.
WARNING: Expected rawoffset 0, found 84295720
SMP: AP CPU #1 Launched!
Trying to mount root from ufs:/dev/ad5s3a
GEOM_LABEL: Label msdosfs/EFI removed.
System installation
When the destination partition created by Boot Camp Assistant, reboot your MacBook, and let <alt> key pressed to get the boot menu. Select CD-ROM (with “Windows” label) to start FreeBSD installation. While installing FreeBSD, you may refer to online handbook, very well documented. In any case, you may follow theses instructions:
- At boot menu, choose default startup, validating your choice with <Enter>.
- At country selection, choose “France”. This choice will impact default character set for all users on installed system.
- At keyboard layout selection, choose “Belgian”. It the closer keyboard layout from French mac azerty layout.
- At next menu, choose “Custom Install”.
- Choose “Partition” in order to create a slice for FreeBSD.
- While creating slice for FreeBSD, you must convert (<T> key) the slice with “FAT” created by Boot Camp to FreeBSD format (number 165), then set it bootable (<S> key). Leave this screen (<Q> key). Then choose a “Standard” boot manager (second choice into the list).
- Choose “Label” in order to create mount points. Auto mode (<A> key) should be good. Leave this screen (<Q> key).
- Choose “Distributions”, then “Kern-Developer” (system sources will be useful). When the installer asks if you want to install ports tree, answer “Yes”, then “Exit”.
- Choose “Media”, then “CD/DVD”.
- Finally, choose “Commit” to start FreeBSD installation.
When the files are copied on the hard drive, you will be asked if you want to perform post-installation tasks. You should accept. I follow these steps:
- “Root password”: set root password.
- “User management”, then “User”: create a user without administration rights. For all users you create, replace shell “/bin/sh” by “/bin/csh”. When all users are created, choose “Exit” to come back to previous menu.
- “Time zone”: choose the time zone. You will be asked if the CMOS clock is set to UTC time: choose “Yes”, then your time zone.
- “Console” then
- “Font”: choose “ISO 8859-15”
- “Repeat”: choose “Fast” (it's repetition speed when you leave a key pressed).
- “Exit” to go out “Console” menu.
- “Networking” then
- You may choose network services you want into this menu.
- “Interface”: network interface setting. As only WIFI adapter is detected (“ath0”), and you can't choose network to connect and wireless security mode while installing FreeBSD, this step may be forgotten. But if you want to connect to network through Firewire adapter (“fwe0”), you may set up TCP/IP settings here.
- “sshd”: if you want to run SSH daemon at machine startup.
- “Exit” to come back to previous menu.
- “Startup” then
- You may choose various startup settings here.
- “Quotas”: I disable user quotas setup. You may leave it if you want.
- “Exit” to go out “Startup” menu.
- “Exit” to go out post-installation tasks menu.
- “Exit” to come back to initial menu.
- “Exit Install” to reboot computer.
FreeBSD use, and detailed setup
In order to boot FreeBSD, you have to select startup disk while booting computer. For this, leave <Alt> key pressed. Startup disk has “Windows” label, even is an other exploitation system than Microsoft's one is installed.
When the system is up, serious things begin. Now, log in with “root” user.
Keyboard
Belgian layout is the closer layout to mac French azerty layout, but without being identical. Some character are not at the same place, or need keyboard shortcuts.
< : <@>
> : <#>
| : <alt>+<1>
@ : <alt>+<2>
# : <alt>+<3>
{ : <alt>+<9>
} : <alt>+<0>
[ : <alt>+<^>
] : <alt>+<shift>+<$>
` : <alt>+<`>
~ : <alt>+<=>
With X.org, all MacOS X shortcuts are available if you install some patches described into X.org section.
Network setup
Firewire network connection
I could not test, then I don't know if it works. As the adapter is detected, it should works flawlessly. If someone could try, he may leave me comment.
Ethernet network connection (FreeBSD device driver)
You may set up the driver to use DHCP or fixed IP address.
For DHCP, edit file “/etc/rc.conf” and add the following line:
ifconfig_msk0="DHCP"
For fixed IP address, edit file “/etc/rc.conf” and add the following lines:
defaultrouter="<gateway_ip>" ifconfig_rl0="inet 1<ip_address> netmask <subnet_mask>"
Then, reboot your computer to apply changes.
WIFI network connection (Core Duo models only)
For network settings, let say you will connect to WIFI network, using WPA/WPA2 security settings and DHCP. For other settings, see online handbook.
Then, you must set up FreeBSD to connect to the correct WIFI network, using the correct password. There are two steps. First, modify “/etc/rc.conf” file and add the following line:
ifconfig_ath0="WPA DHCP"
This line is used to use WPA mode, with DHCP IP attribution, on “ath0” adapter.
WPA settings are into “/etc/wpa_supplicant.conf” (create it). You have to add the following lines:
network={
ssid="your_ssid"
key_mgmt=WPA-PSK
psk="your_key"
}
“your_ssid” is the WIFI network name to connect.
“your_cle” is the connection key of this network.
You may now reboot MacBook which will connect to your WIFI network.
System update and build
In order to track system updates (better from a security and feature focus), you follow the -STABLE branch of FreeBSD 7.x. This how-to itself consider it's the case. If you don't, some features may be unavailable. For this, you'll have to follow these steps.
First, create a “/opt/” and a “/opt/data/” folder. Into the “/opt/data/”, copy file “/usr/share/examples/cvsup/standard-supfile”. Then apply the following changes to it: replace line “*default host=CHANGE_THIS.FreeBSD.org” by “*default host=cvsup2.fr.FreeBSD.org” (replace “cvsup2.fr.FreeBSD.org” by the nearest mirror), and replace line “*default release=cvs tag=RELENG_7_0” par “*default release=cvs tag=RELENG_7” (it is possible that the first to be slightly different, but the result must be the one given).
Then get the file named “FreeBSD sources update script”, copy it to “/opt/update_src.sh” and give it execution rights.
Then execute this script. It will update system sources.
When the source files are updated, go into folder “/usr/src/sys/i386/conf” and copy the file “GENERIC” to another name, i.e. “MYCOMPUTER” (don't forget this name, it will be used later). Modify this file and replace the line
ident GENERIC
by
ident MYCOMPUTER
then add the following lines (at the end of file)
options CPU_SUSP_HLT # Enable HLT instruction when the CPU is idle. The laptop will be cooler and use less energy. options CPU_UPGRADE_HW_CACHE # Disable useless cache flush. Performances may be enhanced. options DEVICE_POLLING # Enable compatible network adapter polling. Performances may be enhanced. options ZERO_COPY_SOCKETS # Enable network transfers without useless copies. Performances may be enhanced. device drm # Enable graphic acceleration (base support). device i915drm # Enable graphic acceleration (i945GM support). device atapicam # Enable ATA drives access through an SCSI sub-system. device sound # Enable sound support (base support). device snd_hda # Enable Intel ICH7 High Definition Audio support
You must perform the copy and modify step each time you update system sources.
Then modify the file “/etc/make.conf”, and give it the following content
CPUTYPE?=prescott CFLAGS= -O2 -fno-strict-aliasing -pipe COPTFLAGS= -O -pipe NO_PROFILE=true KERNCONF=MYCOMPUTER
“Prescott” CPUTYPE enable SSE3 support while compiling (“pentium-m” CPUTYPE doesn't have SSE3 support even if closer to Core Duo architecture than “prescott”). If you own a Core 2 Duo MacBook, you should use “nocona” (in order to enable 64 bit support).
Now, create or modify the file “/etc/rc.local” and add the following line:
/sbin/ifconfig ath0 polling
This line enable the polling mode on WIFI adapter. For now, it's not supported but it may be later. So you may add this line now.
If you use FreeBSD Ethernet adapter driver, you may add the following line:
/sbin/ifconfig msk0 polling
If you use the Firewire network, you may add the following line:
/sbin/ifconfig fwe0 polling
Then get to the file named “FreeBSD update script (01)”, copy it to “/opt/build_freebsd_01.sh]” and give it execution rights.
This script will:
- Clean “/usr/obj”, which contains all temporary files from previous system compilation.
- Modify if necessary configuration files with mergemaster tool.
- Build the system
- Build the kernel and all modules
- Install the kernel and modules
System, kernel and modules build and installation take about 30 minutes on 2 GHz Core Duo MacBook.
Then get to the file named “FreeBSD update script (02)”, copy it to “/opt/build_freebsd_02.sh]” and give it execution rights.
This script will:
- Mount filesystems and activate swap
- Install the new system
- Modify if necessary configuration files with mergemaster tool.
- Reboot the computer
In order to build the system, you need to follow these steps:
- Update sources with “/opt/update_src.sh”
- Execute the installation first part with “/opt/build_freebsd_01.sh”
- Reboot computer in single user mode (option #4 at startup menu)
- Execute the installation first part with “/opt/build_freebsd_02.sh”
Power management
When we use a laptop, we try to get the longest autonomy, and try to keep it cool (in order to keep fans stopped, which use power to run). A first step in this direction is to enable “CPU_SUSP_HLT” option into the kernel. This instruction put the CPU into idle state, where it uses less energy.
Another possible option is to activate “powerd”. This daemon uses ACPI in order to adapt CPU frequency to the needs. On a MacBook 2 GHz, frequency automatically goes from 125 MHz to 2 GHz (of course with many steps between). In order to enable ”powerd”, you must add the following lines into “/etc/rc.conf” file:
powerd_enable="YES" powerd_flags="-a adaptive -b adaptive"
The reboot the computer or execute “/etc/rc.d/powerd start” in order to apply changes.
You can get the CPU frequency (MHz) with the following command line:
sysctl dev.cpu.0.freq
Other economy saving modes may be possible, i.e. deep sleep when we close the need, but I don't know how to enable it. When I'll have of the needed information, I'll update this chapter
Ports management
If you want to install software on FreeBSD, you should use port tree. A “port” is a set of information saying where to download software sources, how to build and install it, then manage all dependencies. In order to easily manage these ports, it's useful to install “portupgrade”. For this, follow these instructions:
Into the “/opt/data/”, copy file “/usr/share/examples/cvsup/ports-supfile”. Then apply the following changes to it: replace line “*default host=CHANGE_THIS.FreeBSD.org” by “*default host=cvsup2.fr.FreeBSD.org” (replace “cvsup2.fr.FreeBSD.org” by the nearest mirror),
Then get the file named “FreeBSD Ports update script”, copy it to “/opt/update_ports.sh” and give it execution rights.
Execute this script. It will update ports tree. The two last commands will fail, but it's not important at the moment (“portsdb” and “portversion” are parts of “portupgrade” which is not installed).
Then go into “/usr/ports/ports-mgmt/portupgrade/”, then execute “make install clean”. The system will install portupgrade and all its dependencies. Execute “rehash” in order to refresh available commands list, nd you're ready to use portupgrade. It has many parts:
- “portinstall” installs an port and its dependencies. I.e., “portinstall vim” will install “vim”.
- “portsdb” manage ports database (the one used by portupgrade). “portsdb -F” (used into the above script) update available ports list.
- “portversion” checks ports versions. “portversion -vl '<'” (used into the above script) list all installed ports and with an available update.
- “pkg_info“ give information on ports. Without parameter, it list all installed ports. “pkg_info -L a_port” lists all files installed with a port.
- “portupgrade” upgrade an installed port. “-a” parameter upgrade all ports with an available update.
- “pkg_deinstall“ uninstall a port.
Of course, man pages will give you all available options.
The above script updates ports tree, available ports database, and display all ports with an available update.
If you want to use configure and build option for ports, you have to available methods:
- “/etc/make.conf“: these build options will be available for all ports.
- “/usr/local/etc/pkgtools.conf”: these build options may be specified for a given port. This method is only available with portupgrade (and the associated tools).
CD / DVD burn, and how-to eject them
CD-R burn
You have two ways to burn CD-R.
- “burncd”. This tool is a part of base system, and allow you to use ATAPI burners. Each of my attempts was apparently successful, but I was unable to mount the freshly burnt CD-R.
- “cdrecord”. This tool must be installed via ports tree. As it needs an SCSI burner, you'll have to use “/dev/cd0” device instead of “/dev/acd0”. With this tool, I could successfully burn and mount my CD-R.
If you want more information about CD-R burn, you can find it into the online handbook.
DVD burn
You don't have any choice, you'll have to use “dvd+rw-tools” (install it via port tree) and “/dev/cd0” device. DVD burn and mount where all successful.
If you want more information about DVD burn, you can find it into the online handbook.
This have nothing to do with media burning, but if you want to eject your CD or DVD don't forget to install the port “eject”.
Audio
MacBook's audio device is an ICH7 using HDA norm, and not AC97.
While booting the system, you may see the following lines into “dmesg”:
pcm0: <Intel 82801G High Definition Audio Controller> mem 0x90440000-0x90443fff irq 22 at device 27.0 on pci0 pcm0: [ITHREAD] pcm0: <HDA Codec: Sigmatel STAC9221> pcm0: <HDA Driver Revision: 20071129_0050>
If you execute “cat /dev/sndstat”, you may get the following line:
FreeBSD Audio Driver (newpcm: 32bit 2007061600/i386) Installed devices: pcm0: <Intel 82801G High Definition Audio Controller> at memory 0x90440000 irq 22 kld snd_hda 20071129_0050 MPSAFE (1p:1v/1r:1v channels duplex default)
Sound is now available, you may check it with your favorite media player. The only thing I could not test is sound recording. And as I don't have an optical audio cable, I could not test related input and output.
X.org setup
Before X.org installation, you must disable “moused”. Modify the file “/etc/rc.conf” and add the following lines:
moused_enable="NO" moused_nondefault_enable="NO" moused_ums0_enable="NO" moused_ums1_enable="NO" moused_ums2_enable="NO"
then kill all “moused” running process:
killall moused
Install X.org with:
portinstall xorg
You'll have to wait for about one hour. When X.org is installed, you'll have to set it up. Execute “xorgconfig” and answer to many questions.
Mouse setup
You will have to use “Auto” mouse protocol. As the trackpad doesn't work well (instable mouse pointer, absolute positionning between display and trackpad surface), you have to use an USB mouse.
When you're asked if you want to emulate 3 buttons, answer “n”.
When you're asked which device to use, you may have to answer “/dev/ums0”. Adapt to your real needs.
Keyboard setup
Use “MacBook/MacBook Pro (Intl)” (121) layout.
Country is “France” (29).
No layout variant, just validate with “Enter”.
XKB option, answer “n”.
Screen display
Answer “10” to question about horizontal refresh.
Answer “4” to question about vertical refresh.
Identifier should be “MacBook LCD”.
Graphic card setup
When you're asked if you want to parse graphic cards list, answer “y”.
The graphic controller to use is “i810” (16).
Installed memory is “65536K” (9).
Identifier should be “GMA950”.
Leave modes as is (answer “4”).
Default mode will be 24 bits (answer “5”).
When you're asked if you want to write “/etc/X11/xorg.conf” file, answer “y”.
Post-configuration: keyboard setup
Identical keyboard mapping to MacOS X
Finally, download the file “http://bersace03.free.fr/pub/Linux/xkb-mac/fr.ancien”, and copy it into folder “/usr/local/share/X11/xkb/symbols/macintosh_vndr/” with name “fr” (remove “.ancien” extension).
Now you have a working French azerty keyboard with X.org. But if you reinstall X.org, you may have to repeat the above step.
Nearly identical keyboard mapping to MacOS X
Another possibility is to have a nearly identical keyboard mapping to MacOS X: <alt> becomes “Windows” <alt>, <ctrl> key becomes “Windows” <ctrl>, left <cmd> key becomes “Windows” <menu>, and small <enter> key (next the right <cmd> key) becomes “MacOS X” <alt> key (for special characters keyboard shortcuts).
This mapping is the X.org default one.
Post-configuration: graphic card
We'll add graphic acceleration. It need two things: a kernel driver (which supports i945GM device), and an X.org driver (which supports i945GM device too).
You have to modify the file “/etc/X11/xorg.conf”.
Uncomment the following lines:
Load "glx" Load "dri"
Section "DRI"
Mode 0666
EndSection
Modify “Screen” section with “GMA950” identifier. Add the following lines:
Option "DRI" "True" Option "NoAccel" "False"
After patch installation, I got these results:
Into X.org log file :
(II) [drm] DRM interface version 1.2 (II) [drm] DRM open master succeeded. (II) intel(0): [drm] Using the DRM lock SAREA also for drawables. (II) intel(0): [drm] framebuffer handle = 0x80040000 (II) intel(0): [drm] added 1 reserved context for kernel (II) intel(0): [drm] installed DRM signal handler (II) intel(0): [drm] Registers = 0x90380000 (II) intel(0): [drm] ring buffer = 0x80000000 (II) intel(0): [drm] init sarea width,height = 1280 x 1280 (pitch 2048) (II) intel(0): [drm] Mapping front buffer (II) intel(0): [drm] Front Buffer = 0x80040000 (II) intel(0): [drm] Back Buffer = 0x84000000 (II) intel(0): [drm] Depth Buffer = 0x85000000 (II) intel(0): [drm] textures = 0x88000000 (II) intel(0): [drm] Initialized kernel agp heap manager, 33554432 (II) intel(0): [drm] dma control initialized, using IRQ 16 (II) intel(0): [drm] removed 1 reserved context for kernel (II) intel(0): [drm] unmapping 8192 bytes of SAREA 0xc7d50000 at 0x287ee000 (II) intel(0): [drm] Closed DRM master.
Issues
X.org does not support the trackpad. “synaptics” device driver only works with PS/2 trackpad (“psm” device driver), then MacBook trackpad is unusable (it's a USB one, then use “ums” device driver).
Désinstaller FreeBSD
Issues coming from FreeBSD installation
FreeBSD install modifies partition table format. It's still GPT, but MacOS X recognize it as an MBR partition table, which give the following issues:
- When FreeBSD is installed and you don't want to use it anymore, you won't be able to undo Boot Camp changes.
- You won't be able to install EFI firmware upgrades. the only ways are : boot from an external harddrive using GPT and where MacOS X is installed, then upgrade your firmware or uninstall FreeBSD.
If you boot a FreeBSD install disk, start “Live Filesystem”, and execute “gpt show /dev/ad5”, you will see the disk uses GPT format. And if you try a “gpt migrate /dev/ad5” it will fail because the disk uses GPT format.
I tried to repair GPT with rEFIt “gptsynch” tools, but data seems to be too inconsistent to be repaired. FreeBSD/i386 sysinstall have to support GPT disks, but for now only FreeBSD/ia64 sysinstall does (Intel Itanium CPU version).
It's possible to uninstall FreeBSD without need to partition again your harddrive and install again MacOS X, but it's not easy.
First step : FreeBSD partition removal
In order to cleanly remove FreeBSD partition, you need an Ubuntu Live CD, at least version 7.04. Boot from Ubuntu CD, then when desktop is available, open a “Terminal” session, and execute the following command:
sudo parted
When GNU parted is started, follow these steps:
- execute « print », and look for FreeBSD partition number (it should be “3”).
- execute « rm <partition_number> », where <partition_number> is the above number.
- execute « quit ».
Finally, reboot to MacOS X.
Second step : MacOS X partition restore
Now, you just have to restore MacOS X partition to its original state. Start Boot Camp assistant, skip the "Burn a Macintosh Drivers CD" step and split your disk into two volumes as instructed by Boot Camp Assistant. The actual sizes of the volumes don't matter. When the disk is splitted, reboot your laptop.
Start Boot Camp, and choose the "Restore to a single Mac OS partition" option. Reboot, et voilà, FreeBSD is now cleanly uninstalled.
If you use MacOS X 10.5.x, you may simply extend your system partition with disk utility instead of using Boot Camp.
Miscellaneous issues
- Sometimes after FreeBSD installation, the computer may not be able to find MacOS X partition. In this case, restart the computer leaving <Alt> key pressed and choose MacOS X partition. Then, execute “System Preferences”, chose “Startup disk”, then MacOS X partition. All will the OK for the next reboots.
- Sometimes you can't reboot or switch off the laptop; the screen goes blank, the the laptop still runs (you can feel harddrive's vibrations if you put on hand to the left of the trackpad). The only way to switch off the laptop is to leave the power button pressed until you can't feel harddrive's vibrations anymore.
More info
Some points are not covered by this how-to, but they are on a dedicated wiki : http://wiki.freebsd.org/AppleMacbook. You will find how to use Bluetooth, IR receiver, etc.


Comments
Fantastic HOWTO! I don't have a MacBook but seeing this article makes me more confident about choosing one as my next laptop. :)
you may want to specify that you need to have 'KERNCONF=KERNELCONFIGFILE" to make sure and rebuild the correct kernel
Great job
I have specified it, look for "KERNCONF=MYCOMPUTER" within chapter related to world rebuild :)
Ok, but can I have your freebsd cd/dvd??? :(
I downloaded the 6.2 stable and the boot loader doesn't start at all
Then I tried with the latest snapshot (7.0), ok at least it boots, but during the probing test (at the beginning of the install process) the debugger starts...
...there's a kernel panic telling me "Going nowhere without my init!"
Quite nice!!!
I was forgotten also that the default configuration (Always the latest 7.0 snapshot) doesn't run because of the ACPI...
p.s.: I am using a macbook core duo! White, 2.0 Ghz...
I'm sorry, but I just use a plain 6.2-RELEASE FreeBSD CD :)
About FreeBSD 6.2 : Could you try with a 6.2-RELEASE instead of a 6.2-STABLE ?
About FreeBSD 7.0 : I didn't try with this version, then I don't know if it works or not. But you may try to start without ACPI to check if you can get to the installer.
I've just downloaded and tried 200704 snapshots for FreeBSD 6.2-STABLE and 7.0-CURRENT.
FreeBSD 6.2-STABLE : I get no issue and can get to the installer. Did you install all firmware updates for your MacBook ?
FreeBSD 7.0-CURRENT : The panic you get at boot is covered into “FreeBSD use, and detailed setup” section of this post. You just have to press power button when you get the "ACPI APIC Table: <APPLE Apple00>” line. Then the MacBook can boot to the installer, which core dump while probing devices. 7.0-CURRENT is unusable now.
Ok, all the updates are installed on my mac!!!
I have also a partition, where I had my Debian and rEfit for the boot...
About the ditribution, I tried firstly with the 6.2-RELEASE!!! (the one that blocks on the boot loader!)
I'm sorry, but I don't know how to help you, as I can't reproduce the issue. Maybe a problem with FreeBSD boot loader, rEfit and the partition scheme.
Uhm... the microphone works?
I didn't test the microphone as I had completely forgotten its existence. I'll test it as soon as possible, then update this how-to.
Good, your info does give me a lot of info dude!
I installed kUbuntu in my MacBook and I look foward to install BSD in it. Just I am curious about fan in MacBook, does BSD handle fan correctly?
And how about microphone, and if I from kUbuntu, how to re-install BSD, can I keep on using rEFIt, or I need to re-partition my Mac?
about fan : I had never hear fans with MacOS X, and could not hear them with FreeBSD. I suppose they are correctly handled.
about microphone : see previous comments, I didn't have tested microphones and plan to do it soon. I just have to reinstall FreeBSD.
about kubuntu : I think you may use your kubuntu partitions to install FreeBSD : just remove them then create a new FreeBSD slice. You may still use rEFIt as it “see” FreeBSD partitions.
Great post: thanks. Happily using FreeBSD on my MacBook now.
About audio: it seems like snd_RELENG_6_20070522_172_lowlatency.diff (the diffs are now in old/) results in kernel compilation errors... There is also a set of precompiled modules in lowlatency/, but that did not work for me. End result is I do not have sound as of now.
For you sound issues, you may try with “snd_RELENG_6_yyyymmdd_xxx_vpc.diff.gz” patches, which seems to replaces lowlatency drivers.
Sound: I can confirm snd_RELENG_6_yyyymmdd_xxx_vpc.diff.gz compiles and works (I use 20070712_281_vpc).
You really should be using an AMD build as the it seems all MacBook Pro Intel chips are really AMDs. They use the AMD instruction set. Read a little on it at http://wiki.netbsd.se/How_to_instal...
This might take care of the occasional hard reboots you mention.
Chascon
Actually the core2duo is AMD based while the Intel Duo Core (Yonah) apparently not.
Chascon
Core 2 Duo and AMD processors share the same instruction set for 32 bits and 64 bit instructions. If you want to use 64 bit, it may be useful to use a AMD64 build (but it won't be covered by this how-to).
For 32 bit installation, using an i386 build is needed for both Core Duo and Core 2 Duo processors.
I have been able to make MacBook's touchpad work on X (it works perfectly in console mode).
To make it work in X.org , change your mouse section in your xorg.conf so it contains:
Option "Protocol" "Auto"
Option "Device" "/dev/sysmouse"
can freeBSD detec GPU X 3100 on new macbook santa rosa
I don't know. Maybe FreeBSD 7.0 will detect this chipset.
Many Thanks, your HOWTO was a great help!
Here is another interesting website: http://wiki.freebsd.org/AppleMacboo...
I have got an Apple Macbook and few days back i installed Windows XP in it. After the installation the sound, VGA, Lan and all other components doesnt work and needs for the relevant driver and unfortunately i have lost the drivers. So can any body help me how to download the sound and VGA drivers for my macbook??? thanks
Hi, i want to ask about freeBSD, may i delete a MacOS, after installing FreeBSD??
I think it's possible, but I didn't tried. You may try at your own risk :)
I want to uninstall MacOS first, because i want that the slice of FreeBSD used a full volume of hard drive. And interesting...if insert a bootable disk with windows (for example), did setup show an unknown partition of MacOS, or It can not be started??
P.S.
Sorry, for my bad english, and thank's for the help...you won`t believe, I have not found any discussion on russian sites about installation freeBSD on macbook
If you remove MacOS slice, it should be possible to use all disk space (except for the first 200MB partition dedicated to EFI) for FreeBSD. EFI BIOS emulation should be able to detect and boot from FreeBSD partition, but I think you'll have to leave “Alt” key pressed while booting your MacBook in order to detect and select FreeBSD disk.
About Windows bootable disk, I don't have any idea of what it will detect or not.
and one more question about the CD eject button, it works normally without MacOS?
Once again, many thanks for the help
Best regards
Yes, it works : take a look at : http://wiki.freebsd.org/AppleMacboo...
Hello everybody,
Please anybody write me a link that i would be able to download Macbook drivers... i really need it.. thanks
With MacOS X 10.4.x : you may be able to burn a disc with drivers when you start BootCamp Assistant.
With MacOS X 10.5.x : MacOS X install DVD contains Windows' drivers.
May somebody help me, please. I burn FreeBSD 6.3 iso disk1 on a blank CD, then i reboot computer and simulationly press "alt" key, but all that i can boot, it's "MacOS HD", nothing CD-ROM
Maybe i should press and hold 'alt' key, not simulationly
You have to press and hold ‘alt’ key until you get the boot menu. If you don't have any CD-ROM visible, you may check the following :
Thanks, and one more question. How i can configure a wireless lan it's possible to do from sysinstall
With FreeBSD 6.2, it was not possible to configure WLAN from sysinstall (the adapter was detected, but it was not possible to choose any network). I'm waiting for FreeBSD 7.0 to update this how-to.
If you have a Core 2 Duo MacBook, you may not be able to use the embeded WLAN adapter because I don't think there is a driver for the Broadcom chipset (First gen MacBook, with Core Duo processors used an Atheros chispet with available drivers).
I have FBSD 6.3, maybe in this release it works...however, i will be trying. Because, it will very bad if i can't configure wireless lan
I have got lots of nessesary staff in my memory stick and i want to use the stick in my Office PC which is restricted by administrator law. So can anybody help me out that i may be able to open my stick in a restricted user account.. it might have a trick to open stick in a restricted user acount.. thanks
It's not a Windows support forum, thanks…
Arnaud, what combination of keys on apple keyboard is used as 'scroll lock', for view detected devices
I have no idea. I generally use “dmesg | more” to look at boot messages.
[rmz] : if you can't configure a wireless LAN, you may have the possibility to burn disc1, disc2 and disc3 images, then set your optical drive as source instead of an FTP server.
I have installed PC-BSD 1.4.1 on my macbook 2,1 core 2 duo, it is same than FreeBSD 6.3 PRERELEASE .. I have setted up X, mouse, and ethernet, everything working well on it except the wireless card . my wireless card is an Atheros AR5008 .. the native atheros driver if_ath.ko doesn't work with this card, and I need to use the binary driver of windows with ndis.. The problem is, I don't succeed to find it .. Someone can help me to find it ?? Thanks ..
Arnaud, i have already install 7.0-release on my macbook. my WiFi adapter with broadcom chipset still not working, now i want to buy a supported usb adapter (i think about Linksys WUSB54GP supporeted by ural driver). on 6.3-release i tryed to use windows broadcom driver converted by NDIS, but after converting and load driver into kernel, i can't scan for available networks (i used "ifconfig list scan" command). When i try to load converted windows driver in 7.0-release, the system halted, and show me a error message. And about X... i configure the xorg by xorgconfig, like you wrote (i choose i810 driver and etc.), but when i start X, the system shows me a message, thats 'no screens found'. maybe X11R6 don't have driver for GMA X3100???
About WIFI driver, I never used ndis wrapper, then I won't be able to help you.
About GMA X3100, it may be X.org which does not support this chipset, but it may also be FreeBSD DRM driver too. You should look to FreeBSD and X.org man pages to check about support.
Hi,
thanks for the nice information here.
Yet, I have some strange problems with FreeBSD and MacBook that are not adressed here. If you want to, have a look here:
http://www.bsdforums.org/forums/sho...
Greets,
Andrej
As said on BSDForums (message #13), and into this how-to, the driver to use is if_msk and not if_myk (this one is the closed source driver from Marvell). Nevertheless, the “88E8058” chipset may not be supported by if_msk.
Hi, Arnaud, great HOWTO, really impressive...
I'm a great fan of FreeBSD, is secure, fast, and a beautiful OS from any point of view. I've been trying to install it on my Core 2 duo Macbook, I've trying to do a "no return" install, I mean only FeeBsd, no dual boot, but I've got this lame problem: I Couldn't get to finish the installation, because I couldn't eject the cd's when Installer asked me to do (3 cd's distro, no DVD install as far as I know)...
pls help....
greetings from Chile
R.
Yes, it's a problem with CD install : the eject button is software mapped to the eject mechanism, and the installer does not provide this mapping. You may check if switching to F4 console allow you the eject command. If not, you won't have any choice left and install FreeBSD and its applications from network or just install FreeBSD from CD, and install applications later.
Well, that's it, I tried with the console when I was installing last weekend, but no eject command yet :( I'll Install base system and then apps...
Thnx for your quick answer, Arnaud
R.
Great readme! Very simple and easy to follow.
I am encountering a problem, however, when attempting to install on my MacBood CD. When at the partitioning stage I'm running into the disk geometry error. If I ignore it and attempt to continue with the installation it fails and occasionally hoses my partition map. I'll admit I'm a newbie when it comes to BSD and I've never had to deal with disk geometries in OS X or Linux in the past, so I really have no idea how to fix it, but from the sound of things all I really need to do is tell it what the correct geometry is.
Does anyone know how to solve this problem so that I can install FreeBSD on my MacBook?
Merci beaucoup.
Oops, my mistake. A simple fdisk on my MacBook from OS X gives me my harddrive geometry. :)
Sigh, actually nevermind. The geometry it provides me is the same one that the installer guesses and which fails...
I also encounter geometry error at the partitioning stage, but ignoring them does not prevent me to continue installation. Installation fails you encounter may come from another issue.
The touchpad works out-of-the-box with Xorg synaptics driver!
A small HOWTO:
1. ./usr/port/x11-driver/synaptics/make install clean
OR portinstall synaptics
2. Add this to your xorg.conf file!
Remember to load the synaptics driver, in the
section "Module" add the following:
Replace section "InputDevice with:
Thank you for a wonderful guide.
Thanks Arnaud for a great how-to!
One question though: Has anyone got the external DVI port working with X? I'm just itching to get it up on my cinema display, but nothing I've tried in the Xorg.conf has worked for me.
For the record, the version of the Synaptics drivers in ports (CURRENT) does _not_ work for MacBooks because it lacks the proper drivers for using the MacBook's USB trackpad.
I have, however, come up with what I think is a better method for right-clicking. The following will allow you to use control + click to right-click as in Mac OS. It will also allow you to use alt + click for a middle-click.
First you have to download and compile the xvkbd source (the version in ports is outdated, I'm going to work on fixing that). Then simply add this to you .xbindkeysrc:
"xvkbd -text '\m3'" Control + b:1"xvkbd -text '\m2'" Mod4 + b:1That should do the trick.
For those of you trying to get FreeBSD to run on the MB pro's with the 88E8058 ethernet chipset a simple change to the module source will allow the driver to work with your card.
In /usr/src/sys/dev/msk/if_mskreg.h:
add this line:
In /usr/src/sys/dev/msk/if_msk.c
On line 165 the definition of the struct msk_products starts. If you go down to lines 206 and 207 you will see the info for the 88E8056 Card. Duplicate those two lines and chage the DEVICEID_MRVL_4364 to DEVICEID_MRVL_436A and change the description to 88E8058.
cd /usr/src/sys/modules/msk
make
make install
reboot
This was done with FreeBSD 7.0 RELEASE
If you have any questions just send me an email
erick@beerngolf.com
Another note:
I was able to get the Atheros AR5008 wifi card working as well by using the driver located here:
http://people.freebsd.org/~sam/ath_...
Just unzip it into /usr/src/sys/contrib/dev/ath
and recompile the kernel.
Again this was done with FreeBSD 7.0 RELEASE
Any questions,
erick@beerngolf.com
einstiien> Did you try to boot FreeBSD from a Perynn based MacBook Pro (the last revision) ? Mine is unable to access to installer, the laptop freezes just after disks detection (the last step of dmesg). It seems it can't enable the second core of the CPU.
I was able to get the Atheros AR5008 wifi card working through NDIS:
http://forums.pcbsd.org/viewtopic.p...
I'm sorry I should have been more specific about my hardware. My Laptop is about 7 months old I believe it's the santa rosa chip but I'm not entirely sure. In system profilier it says:
MacBook Pro3,1
Intel Core 2 Duo
2.4 Ghz
I haven't seen anything on running freebsd on the latest MB Pros, this page is actually the most information I found at all.
@Miki:
The problem with NDIS is that you cant put the card into monitor mode for using applications like airodump.
einstiien> MacBookPro3,1 are Santa Rosa chipset based ones, the previous revision. Current revision (Perynn based one) is only 4 month old (released on february 2008), and product code is MacBookPro4,1 and FreeBSD does not work on it :)
My Macbook didn't boot from the 7.0-Release install disk 1 (it stopped at "Starting the BTX loader"). I had to use the Bootonly iso disk and install from network. Right now it is installing things fine.
Thanks for your guide. It gave me the confidence to dual-boot (I haven't used FreeBSD since release 5).
hi , i've googled all over but can't findout if macbook(non pro) 5th generation penryn version 4,1 works with freebsd , if anyone knows anything please reply , thanks
Josh's code on how to "right click" (or to us Mac users, control click) in FreeBSD is spot on. I've found a few thing that will help people out when setting this up.
1. Now, you can install xvkbd from the ports (the ports have updated to the latest version 3.0). So, install the port from the command line:
cd /usr/ports/x11/xvkbd && make install clean
2. Josh is right to modify the .xbindkeysrc (you can use Pico by typing in "pico .xbindkeysrc" from YOUR home directory... not the Super User home directory)
"xvkbd -text '\m3'" Control + b:1 "xvkbd -text '\m2'" Mod4 + b:13. Finally, make sure you run xbindkeys when you start X up! So edit your .xinitrc and make sure that xbindkeys is the first line. So my .xinitrc looks like this (I use Blackbox, but you might use Gnome or KDE, or whatever):
xbindkeys
/usr/local/bin/blackbox
4. Restart X and you should be good to go.
Thanks to Josh and Arnaud!