2012年2月28日星期二

about Boot-132

Boot-132 is a bootloader provided by Apple for loading the XNU kernel.

(about XNU: XNU is the Darwin kernel. XNU stands for X is Not Unix (Yes, UNIX people like recursives.) XNU in 10.4 provides the kernel_task, and kernel features. It is a hybrid Mach (developed at Carnegie-Mellon) and BSD (Utilities and various kernel code) kernel, incorporating both microkernel code and the userland services traditionally associated with one into a single kernel.)

The loader was used in the Apple Developer Transition Kit PC rented to software developers during the Apple–Intel transition. This bootloader is not used on Intel Macs, instead boot.efiis used.
Intel Macs采用boot.efiis作为bootloader.

Source code for Boot-132 was released along with the XNU kernel in the 10.4.8 set of tarballs. Boot-132 was used with the last version of OS X for the DTK systems. Previous releases used boot-122 or earlier versions of Apple boot.


Boot stages
Boot-132 consist of three boot stages: boot0, boot1 and boot2.
Boot stage 0 is a short assembly program (less than 446 bytes) located in the Master Boot Record of a MBR partitioned disk. Boot0 assumes the presence of a BIOS in the system and callsinterrupt 0x13 to access low-level hard disk read and write services. The Apple version of boot0 only supports MBR partitioned disks. Support for GUID partition table is added to Chameleon versions of the code.
Apple版本的boot0只支持MBR分区的磁盘,变色龙版增加了对GUID分区表的支持.



Boot-dfe
Boot-dfe is a modified version of Boot-132 created by David Elliott in 2007. The boot-dfe loader is started by another bootloader, typically GRUB, or in the case of booting from a CD, a patched version of ISOLINUX. The interface between the two bootloaders is defined by the GNU Multiboot Specification. The boot-dfe loader populates the struct boot_args structure and passes it on the the XNU kernel. (See OS X boot process.).

GRUB          \
                |--->Boot-dfe    
ISOLINUX      /

The latest versions of boot-dfe are able to load additional kernel extensions to the XNU kernel as an initial ramdisk (initrd). The extensions can be stored in an HFS or HFS+ partition in a APM, GPT, or MBR partitioned volume. The ramdisks are supplied to boot-dfe by the multiboot loader in the form of Multiboot modules.
The Boot-132 method
The Boot-132 method is a method of installing Mac OS X Leopard or Snow Leopard on a PC from a retail DVD. Boot-132方法用于从零售Mac OS X光盘在PC机上安装Leopard或者Snow Leopard系统。This was made possible by the version of boot-dfe released in June 2008

To boot from an OS X retail disk first boot from the boot-dfe CD. When Darwin boot prompt appear, eject CD and replace with Mac OS X Retail DVD and select it from the menu. After installation, boot from the hard disk the first time using the boot-dfe CD and install the .kext needed.
要从零售Mac OS X光盘启动,必须先从boot-dfe CD引导,当Darwin boot提示出现后,更换boot-dfe CD为零售Mac OS X光盘,并从启动菜单中进行选择。Mac OS X系统安装完成后,首次启动仍需通过boot-dfe进行引导,并且需要安装.kext。


Chameleon


The Chameleon bootloader is derived from Apple's boot-132. It adds David Elliott's fake EFI implementation.变色龙增加了虚假的EFI。

标签: , , , ,


评论: 发表评论

订阅 博文评论 [Atom]





<< 主页

This page is powered by Blogger. Isn't yours?

订阅 博文 [Atom]