Difference between revisions of "Darwin"

From AwkwardTV
Jump to: navigation, search
(Booting darwinx86-801.iso on a PC)
(Booting Darwin from IDE)
Line 23: Line 23:
 
== Booting darwinx86-801.iso on a PC ==
 
== Booting darwinx86-801.iso on a PC ==
  
=== Booting Darwin from IDE ===
+
=== Booting Darwin from IDE (works) ===
  
 
This is on a i915 chipset, DVD drive attached to IDE:
 
This is on a i915 chipset, DVD drive attached to IDE:

Revision as of 17:06, 14 April 2007

About Darwin

As Apple advertises, Mac OS X is built on a "secure, reliable, Open Source foundation", namely Darwin.

We want to use this system. There are a couple of reasons why Darwin is great:

  • It can read and write HFS+ Journaled natively
  • Mac and Apple TV users are familiar with the workings of the system
  • There is lots of Open Source applications available, including a graphical X desktop
  • Can be used e.g., for embedded applications
  • Can be legally changed and re-distributed in accordance with APSL

Initially, there was large interest in Darwin, but as time progressed, the community lost interest (due to reasons that shall not be evaluated here). However, with the switch of Mac OS to Intel, there seems to be a lot of interest of the community again, but mainly focused on Mac OS X rather than Darwin itself.

As there is little information left since the OpenDarwin project (which is NOT to be confused with the Darwin project itself) closed, this page is here in order to collect information on how to practically use Darwin.

This page

The first goal will be to install Darwin on a USB drive and boot a generic PC from there. This serves as a starting point for further projects based on Darwin.

Please note that this page is about 100% legitimate uses of the Darwin Open Source system only.


Booting darwinx86-801.iso on a PC

Booting Darwin from IDE (works)

This is on a i915 chipset, DVD drive attached to IDE:

IOATAController device blocking bus
AppleIntelPIIXPATA: ICH6 ATA/100 (CMD 0x1f0, CTR 0x3f4, IRQ 14 BM 0xffa0) 
Still waiting for root device
Still waiting for root device
Still waiting for root device

Changing the DVD drive jumper from cable select to Master solved this issue.

It boots up and asks where to install Darwin.

So in principle, darwinx86-801.iso contains a system that is capable of running on a generic PC.

Booting Darwin from USB

The same darwinx86-801.iso also boots fine when the DVD drive is connected to the USB bus using a IDE2USB adapter.

So in fact darwinx86-801.iso contains a system that is capable of running on a generic PC from USB.

Can we turn this into a USB "bootstick"?

Installing Darwin on USB drive and boot generic PC from there

This is not working yet. Any help is greatly appreciated.

# Get Darwin 8.0.1 ISO for i386 from Apple
# Mount ISO
# Prepare USB drive by formatting it as HFS+ (Journaled) and enabling permissions
# Copy /usr /bin /sbin /System /Library /private /cores /mach_kernel from ISO to USB drive
# Bless USB drive and set partition active
# Change Boot.plist 
# Boot

This easily fits on a 512 MB USB stick, and probably can be slimmed down further (e.g. for embedded applications).

This does boot, but as soon as the kernel is supposed to appear, it reboots the PC (even before printing a kernel panic).


Minimal number of files to boot the Darwin kernel

What are the minimum required files to boot the Darwin kernel and to bring up a minimal shell?