grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] xnu


From: Vladimir Serbinenko
Subject: Re: [PATCH] xnu
Date: Sat, 18 Apr 2009 20:52:09 +0200

New improved version. Numerous bugfixes. Thanks to Florian Idelberger for the time he spent on testing and to David Miller for pointing a nasty mistake out. Also I added fsb autodetection for intel cpus (thanks to Kabyl for the information about Intel speedstep) but I tested fsb autodetect only on my own laptop so it may or may not work in general. Parameter fsb= is still present and overrides autodetect

On Wed, Apr 15, 2009 at 12:46 AM, phcoder <address@hidden> wrote:
Hello. Here is my xnu patch. Tested on i386-pc, i386-efi and x86_64-efi. On non-efi it needs efiemu otherwise you need only include/grub/autoefi.h file from efiemu patch. To resume xnu from hibernation do:
xnu_resume <hibernation file>
Note: you don't need efiemu in this case
How to boot xnu:
<efiemu if not on efi platform>
[on pc only:] vbe_mode=0xYYY # desired vga mode
fsb=133.3 # your fsb frequency
xnu_kernel <kernel> <command line>
<insert modules>
boot
Modules can be inserted one of the following ways:
1) xnu_mkext <mkext file>
2) xnu_kext extension.kext
3) xnu_kext extension.kext/Info.plist extension.kext/extension
4) xnu_kextdir <directory containing extensions>
It's also possible to execute these commands multiple times
The most typical case is
xnu_kernel /mach_kernel rd=disk0sX
xnu_mkext /System/Library/Extensions.mkext


If you need to add values to device tree the command
xnu_devtree <devtree file>
This file uses the following format:
  valuename:valuedata;
  keyname{
    contents
  }
  keyname, valuename and valuedata are in hex.

If you need to adda ramdisk execute
xnu_ramdisk <ramdisk file>
ramdisk will be exposed as /dev/md0 which may be used as boot device with rd=md0.

The areas which need more work (every help is welcome):
1) testing on different platforms
2) Detect "device-properties" value in device tree. There are several trivial values in device tree present in boot.efi but not in grub2. These ones are easy to add and AFAIK don't change anything. But the value "device-properties" is difficult. I already know it's format but not where the values come from. It contains info about gfx and sound card which may not work if this value is missing. The current workaround is xnu_devtree command with a dump of device-properties
3) autodetect fsb frequency
4) Support video splash
5) Define and use an unified interface to retrieve video information uniformly across platforms
6) Boot by UUID. I know how to do it but need md5 for it which is a part of pending luks patch
7) Scripts for automatic creating of grub.cfg entries
8) Support for prelinked kernel. It's compressed and I have yet looked how to decompress it (seems it's compressed with something called lzss)
9) Use claimmap once available (see my multiboot on efi patch)
10) Better collaboration with memory management once advanced mm's available
11) Resume from encrypted hibernation

--

Regards
Vladimir 'phcoder' Serbinenko

Attachment: xnu.diff
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]