FreeBSD on the PowerMac G-series

tingo said:
wblock, sossego - you make good suggestions. There is only one problem; the machine is locked hard.

The Log Sync option should have it sync the logs before it crashes, so there may be something in them after a restart.
 
This entire tutorial was a waste of my time and everyone else's.

In the device section, you have to allow AGP.

I thought that making this and keeping it updated when I had a problem would be beneficial to others,
now I realize how stupid it seems now.

This entire thread should be removed.
 
How do you allow AGP?
(FWIW, I also learn from my mistakes, not only from doing things right. In that light; I think this section should be here. You could update the first post with the correct information perhaps)
 
http://forums.freebsd.org/showpost.php?p=120401&postcount=17


Look in [Section "Device]

I've read the mailing list about the fan fix.

Hmm, try an SSH session into the G4 and run
Code:
/usr/local/bin/Xorg -configure -retro
from there.
Save verbose and logverbose to the /home/$USER/name-of-file.txt.


Gnome-terminal can be set to unlimited history if you need to see- and copy- the output.
 
This is a quicker method of installing based upon information from tingo/tingox and
the mailing lists. It is for systems dedicated solely to FreeBSD as the only OS on the drive(s).

Resource: http://sites.google.com/site/tingox/powermac_g4_freebsd

See the FreeBSD PowerPC page for compatible hardware. http://www.freebsd.org/platforms/ppc.html

Suggested minimum requirements.
PowerPC system with 400MHz processor, 384M RAM, 40G hard drive.
Be sure that the system has Open Firmware version 3.x or higher.

Media needed.

A FreeBSD disk one iso for the powerpc architecture. ftp://ftp.freebsd.org/pub/FreeBSD/snapshots/201102/

Booting.
Prepare the media by burning the image to disc.
Boot the machine and hold down the left option key. You should see an icon of a harddrive.
Open the tray and place the disc in it. Select the CD when the icon appears then the arrow
to start the process.
>>> If your firmware hasn't been updated, you will need to boot using ctrl+option+O+F.
Open the tray and insert the CD. Close the tray.
Code:
 > setenv boot-device cd
>mac-boot
Let the CD boot. Select what applies to you.

Partitioning.
At the main menu, select Fixit. Hit enter. Select 5 for shell. Hit enter.
CTRL+ALT+F4.

Code:
gpart show
If your system has two or more disks, then choose the one you want to use.

Code:
 gpart -delete -i <partition number> ad<disk number>
This will delete all partitions.

Code:
gpart add -s 800K -t '!Apple_Bootstrap' ad<disk number>
gpart add -s <size> -t freebsd-ufs ad<disk number>
gpart add -s <size> -t freebsd-swap ad<disk number>
gpart add -s <size> -t freebsd-ufs ad<disk number>
<etc>

You will need a minimum of three partitons: appleboot, freebsd-ufs, and swap.

Exit and CTRL+ALT+F1

Installing.
Use X and enter to return to the main menu. Choose standard.
Select the created partitions with C. For the first: filesystem, / as mountpoint.
For the second: swap. The remaining partitions- if any- can be labeled accordingly.

Hit Q. Select the minimal installation. Hit X and enter.
Media type is CD/DVD.

Hit enter. When prompted for a new shell, enter yes.

Post Installation.
After the congratulations, select yes for configuration.
I chose no for everything except ssh.
Set the time zone.
Setup the user accounts. Be sure to add "wheel" to the group membership of the default user.
Setup root password.
No, do not add ports.

Setup networking by returning to the main screen.
Select post configuration. Select networking. Select devices.
If you have a router, just make up a name. A direct connection should have all defaults filled.

Return to the main menu.
Select fixit. Select shell. CTRL+ALT+F4

Code:
dd if=/boot/boot1.hfs of=/dev/ad<disk number>s2

CTRL+ALT+F1

Exit install and reboot.

Follow the rest of the howto.

If you have trouble using gpart for deleting partitions, use the method listed below.
 
You may want to enable huge stack size and floating point exception when building any version of python for ppc.
 
If the mouse cursor gets caught, add the following to the xorg.conf file:

Code:
Option         "UseSIGIO"   "False"

This solution came from Matt H on the OpenBSD PPC mailing list.
 
Where does the Debian come in?

I read post #30, but if I understand it correctly that whole bit is using the FreeBSD CD, and the part table is now made using FreeBSD, and apparantly so is the boot<x>.hfs.

Where do you still need the Debian CD?


P.s. target is a mini 1.25GHz/512MB/40GB/airport/bluetooth.
 
You use the Debian CDs when you want more than one OS on the disk and are partitioning the disk for such.
Post #30 was researched after the initial tutorial had been typed and posted. I read through tingo's website and decided that his description of how he partitioned would be good for a system dedicated to FreeBSD.
So, if it is a dedicated machine go to post 30. If it is being shared with another OS- start at the beginning.

Post #30 has been corrected.
 
The xorg.conf for an iMac G4 800MHz:
Code:
Section "ServerLayout"
	Identifier     "X.org Configured"
	Screen      0  "Screen0" 0 0
	InputDevice    "Mouse0" "CorePointer"
	InputDevice    "Keyboard0" "CoreKeyboard"
        Option         "AllowEmptyInput"  "Off"
        Option         "UseFBDev"   "False"
        Option         "UseSIGIO"   "False"
EndSection

Section "Files"
	ModulePath   "/usr/local/lib/xorg/modules"
	FontPath     "/usr/local/lib/X11/fonts/misc/"
	FontPath     "/usr/local/lib/X11/fonts/TTF/"
	FontPath     "/usr/local/lib/X11/fonts/OTF"
	FontPath     "/usr/local/lib/X11/fonts/Type1/"
	FontPath     "/usr/local/lib/X11/fonts/100dpi/"
	FontPath     "/usr/local/lib/X11/fonts/75dpi/"
EndSection

Section "Module"
	Load  "extmod"
	Load  "record"
	Load  "dbe"
	Load  "glx"
	Load  "dri"
	Load  "dri2"
EndSection

Section "InputDevice"
	Identifier  "Keyboard0"
	Driver      "kbd"
EndSection

Section "InputDevice"
	Identifier  "Mouse0"
	Driver      "mouse"
	Option	    "Protocol" "auto"
	Option	    "Device" "/dev/sysmouse"
	Option	    "ZAxisMapping" "4 5 6 7"
EndSection

Section "Monitor"
	Identifier   "Monitor0"
	VendorName   "Monitor Vendor"
	ModelName    "Monitor Model"
        HorizSync    59-63
        VertRefresh  50-160
EndSection

Section "Device"
        ### Available Driver options are:-
        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
        ### [arg]: arg optional
        #Option     "SWcursor"           	# [<bool>]
        #Option     "HWcursor"           	# [<bool>]
        #Option     "NoAccel"            	# [<bool>]
        #Option     "ShadowFB"           	# [<bool>]
        #Option     "UseFBDev"           	# [<bool>]
        #Option     "Rotate"             	# [<str>]
        #Option     "VideoKey"           	# <i>
        #Option     "FlatPanel"          	# [<bool>]
        #Option     "FPDither"           	# [<bool>]
        #Option     "CrtcNumber"         	# <i>
        #Option     "FPScale"            	# [<bool>]
        #Option     "FPTweak"            	# <i>
        #Option     "DualHead"           	# [<bool>]
	Identifier  "Card0"
	Driver      "nv"
	VendorName  "nVidia Corporation"
	BoardName   "NV11 [GeForce2 MX/MX 400]"
	BusID       "PCI:0:16:0"
EndSection

Section "Screen"
	Identifier "Screen0"
	Device     "Card0"
	Monitor    "Monitor0"
	SubSection "Display"
		Viewport   0 0
		Depth     1
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     4
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     8
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     15
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     16
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     24
	EndSubSection
EndSection
 
Btw, regarding post #30, I had a feeling that sysinstall didn't properly get updated with the results of gpart in a emergency shell.

I notice that the description doesn't add a command to sync the partition table or so, or to restart sysinstall. Maybe it should (but I'm not reinstalling to test :_)

I managed to finish install anyway, but installed without using swap, probably because in both cases partition nrs were the same. (but since the swap was an extra partition I couldn't enable it till after reboot)
 
Markov, apologies for the late reply; but, sysinstall is secondary when installing on machines with PowerPC & POWER chips. When you can, give us a quick synopsis of how you did the install.

Other news:
I'm creating another repository on googlecode with packages. Since I am having some trouble with httplib.py, those packages which do not have a large amount according to first letter will be in normal tbz format, any others will be group bundled in tar.gz packages.

http://code.google.com/p/freebsd-powerpc-9-0-current-updated-packages

Just so you know it's me, the wiki page will contain a few of my frustrations.
 
Boy, I came across this site after trying to figure out what to do with my old Mac Mini 1.42ghz that I have lying around. I haven't used it in years, and it's all packaged up in the original box and shipping box even! I bought a really nice PC Monitor that even has a HD Tuner built in, two HDMI ports, component video, SPDIF out, and USB. I'm using it for my XBox Slim. But I thought maybe I could put that Mac Mini I have to use and use it for my office and home iTunes libraries, if I hooked up a 1TB external to it.

I then got to thinking that I coud use it as a media center for movies, etc. But if I remember correctly, it can barely playback online videos for some reason. So, searching brought me to FreeBSD... but I must admit, I'm still not even sure what it is! This thread is like reading ancient text to me! LOL.

My question is... will using FreeBSD allow me to get smoother video playback from my Mac Mini... or is it limited to the vid card with nothing I can do about it to make it better? As one guy said, I don't need to watch picture perfect 1080p DVD's on it... but if I could watch AVI, DViX, or Mkv files on it, I'd be thrilled.

I also have a Western Digital TV, but it's not the HD version. I could use the component vid though. It is picky about what it plays back. To be able to watch Hulu, Youtube, or Netflix would be cool. Plus my Xbox Slim is connected to it too. Problem is, it's mostly set up for the Xbox, and not in my living room for comfortable viewing, etc.

I could probably get $175-$200 for that Mini... but I sure would love to have a headless server... because too many times I try to access music that is on my work Mac, not at home. I have to FTP in to my computer at work to DL it. Another nice thing about this, is if I hooked it up at work, my IP is static there, but not so at home. However, my speeds at home are twice as fast. Tough call!

Thanks!
Jason
 
FWIW, my Mac mini G4 1.42 GHz running OS X 10.4 works fine for playback of anything SD content. It does not handle HD content. I haven't tried FreeBSD on it, so I can't say if there is a difference in performance vs. OS X.
 
That was going to be one of my questions... what OS is the fastest on the Mac Mini 1.42ghz. I was guessing that 10.4 would be about the best. I'm thinking 10.5 will run on it though. Might make it run slower though. So, SD is ok, and sites like Youtube, Xfinity will play back ok? Is it because of the limitation of the video card ya think?

I haven't seen a new Mini in long time... but I'm assuming that they are a different form factor all together, therefore you couldn't put an Intel mobo inside of the 1.42ghz case. I wonder if you could buy an External Blu-Ray player for it, or put a Blu-Ray drive inside of it? My guess is that the mobo won't support it.

I'd rather just sell it before investing a bunch of money in this one. Mine has the 5400rpm hdd too. I bet that if I put a 7200rpm HDD in it, that could help. Memory is maxed of course.

Thanks!
Jason
 
I haven't tried Youtube on it, and I don't know what "Xfinity" is, so I couldn't tell you. A quick test with some Youtube music videos in Firefox show that they work, at least.

The machine is slow, it could be the video card, the hard drive, the chipset or something else.
 
Just so I don't come off like a perv.... Xfinity is Comcast Cable's online site where you can watch anything online that you could watch at home or On Demand (as long as you are a subscriber and only the packages you subscribe to).

J
 
Youtube does not play on FreeBSD Power(PC). You will either need to use qemu- which can be a cpu hog- or you need to setup tunneling into an i386/amd64 machine and watch videos remotely.

Tingo, what's the kernel hz you have set? Did you rebuild the kernel? Are you using a light desktop such as xfce4, a "box" manager, or some other?

Rendering is done by the CPU not the GPU on Power(PC).


What's the fastest OS on the mac mini with Power(PC)?
That depends on how you have it setup. OpenBSD and FreeBSD worked for me. OpenBSD doesn't exactly compile packages well on some lowend machines. Linux works but, you have to slim it down or it becomes hoggish with the CPU. I haven't tried NetBSD- first boot problems.
 
Okay.
Have you ever thought about using an external drive through one usb port and having the mouse-though-keyboard on the other?
 
Hi all
I have an old eMac G4 this one

and all the xorg.conf above didn't worked for me. (I tried to brute force my xorg.conf)… Anyway!
This screen is not recognized by xorg out of the box. This worked for me:
Code:
Section "ServerLayout"
	Identifier     "X.org Configured"
	Screen      0  "Screen0" 0 0
	InputDevice    "Mouse0" "CorePointer"
	InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Section "Files"
	ModulePath   "/usr/local/lib/xorg/modules"
	FontPath     "/usr/local/lib/X11/fonts/misc/"
	FontPath     "/usr/local/lib/X11/fonts/TTF/"
	FontPath     "/usr/local/lib/X11/fonts/OTF"
	FontPath     "/usr/local/lib/X11/fonts/Type1/"
	FontPath     "/usr/local/lib/X11/fonts/100dpi/"
	FontPath     "/usr/local/lib/X11/fonts/75dpi/"
EndSection

Section "Module"
	Load  "extmod"
	Load  "record"
	Load  "dbe"
	Load  "glx"
	Load  "dri"
	Load  "dri2"
EndSection

Section "InputDevice"
	Identifier  "Keyboard0"
	Driver      "kbd"
EndSection

Section "InputDevice"
	Identifier  "Mouse0"
	Driver      "mouse"
	Option	    "Protocol" "auto"
	Option	    "Device" "/dev/sysmouse"
	Option	    "ZAxisMapping" "4 5 6 7"
EndSection

Section "Monitor"
	Identifier   "Monitor0"
	VendorName   "Monitor Vendor"
        HorizSync    30-85
        VertRefresh  48-160
	Modeline "1280x960_72.00" 124.54 1280 1368 1504 1728 960 961 964 1001 -HSync +Vsync
	ModelName    "StudioDsply1"
EndSection
Section "Device"

        Option     "UseFBDev" "False"
	Identifier  "Card0"
	Driver      "nv"
	VendorName  "nVidia Corporation"
	BoardName   "NV11 [GeForce2 MX/MX 400]"
	BusID       "PCI:0:16:0"
EndSection

Section "Screen"
	Identifier "Screen0"
	Device     "Card0"
	Monitor    "Monitor0"
	SubSection "Display"
		Viewport   0 0
		Modes	"1280x960_72.00"
		Depth     1
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Modes	"1280x960_72.00"
		Depth     4
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Modes	"1280x960_72.00"
		Depth     8
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Modes	"1280x960_72.00"
		Depth     15
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Modes	"1280x960_72.00"
		Depth     16
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     24
		Modes	"1280x960_72.00"
	EndSubSection
EndSection

I would be so glad to find this on the internet before doing so many tests. :)
 
  • Thanks
Reactions: 0mp
Before you run make index from ports, be sure to edit /usr/ports/audio/beast/Makefile and comment out the section for checking SSE. This work around comes from danfe.

Rebuilding the kernel requires at the least the following steps.
  1. Edit /usr/share/examples/cvsup/standard-supfile with the following parameters if they are not already set:
    Code:
    tag=.
    and, of course, the cvs server set.
  2. Csup the source code.
  3. [cmd=]cd /usr/src/usr.sbin/config[/cmd]
  4. Run [cmd=]make && make install && make clean[/cmd]
This will take care of the version error for config(8).

Be sure to see the handbook for properly creating a new kernel.
 
sossego said:
Youtube does not play on FreeBSD Power(PC). You will either need to use qemu- which can be a cpu hog- or you need to setup tunneling into an i386/amd64 machine and watch videos remotely.

Tingo, what's the kernel hz you have set? Did you rebuild the kernel? Are you using a light desktop such as xfce4, a "box" manager, or some other?

Rendering is done by the CPU not the GPU on Power(PC).


What's the fastest OS on the mac mini with Power(PC)?
That depends on how you have it setup. OpenBSD and FreeBSD worked for me. OpenBSD doesn't exactly compile packages well on some lowend machines. Linux works but, you have to slim it down or it becomes hoggish with the CPU. I haven't tried NetBSD- first boot problems.
I know it's kind of old topic, but out of curiosity - won't multimedia/minitube work with YT?
 
I did not know about that port.
Since the FreeBSD Power(PC) porting effort is steadily growing, would anyone be willing to work on using it for multimedia software? Pkubaj, the only problem that I- not really sure about the others- have had is that the Xorg-server seems to lag behind when you move the cursor around. You need to find the right spot and park the cursor. I've seen youtube through html5 running Debian Lenny and Squeeze on my iMac G4. It doesn't run so well.

You will definitely need the following so that the application will run good.
1. CPU needs to be 500MHz at the least. Going with a G4 would help a bit.
2. Have your RAM at 512M or more. I'm hoping you already have your swap setup at 512M at least.
3. Blackbox and Fluxbox work good. Enlightenment is Okay. KDE4 is not the way to go for something like; neither are Gnome nor Xfce4.

That should make a good test environment. It will be a limited test environment but enough to get results.
 
Back
Top