Dell Mini 1012 and OS X
Well, I got back form best buy on Sunday, and started looking at the Dell Mini 1012 for OS X support. It turns out that the hardware is almost *exactly* the same as the Dell Mini 10v (1011). The 1012 uses the same touchpad, with the same firmware version too. The audio is the ACL272, as with the dell mini 10v. Simply put, the 1012 *is* the 1011 with a redesigned case, and a new cpu.
In other words. If it worked with the mini 10v, (which basically everything did), then it'll work with the 1012. That is, with one exception, the graphics. The short answer is get the 10v if you can, not the 1012, at least not for a while.
Unfortunately, integrated gpu, the GMA 3150, appears to be a modified 3100, not an X3100 (which means no os x support). The 3100 and the X3100 have nearly nothing in common, as the X3100 is a redesign. When trying to use the X1300, the display fails to start. In other words, the X3100 kext is a no go.
On the other hand, the 3100 is closer to the 950 than it is to the X3100. When the 950 framebuffer kext is patched with the correct device id, it loads and works with only minimal problems, you can even change the screen resolution. The one problem is that the hardware cursor is a large corrupt block on the screen, and is hardly usable.
When the GMA950 kext and the framebuffer kext are patched, both kexts load correctly, and it appears that hardware acceleration is even support (from an ioreg dump). Unfortunately, it takes about 10 minutes before the menu bar even loads. That's about as far is it's loaded for me. This driver could be hacked to support the 3150, although it could take quite some time and it probably won't happen.
The final option is just to use the VESA drivers included in OS X. Full, native lcd resolution is supported with the 915resolution chameleon patch that I worked on specifically for the GAM500, however thats pretty much all you get. There is no hardware acceleration, so you can't watch videos, the cursor flickers, and other small annoyances. Right now, this is the best option until the GMA950 kext can be modified to work correctly (again, if that ever happens).
So , in summary, If you want to run OS X, there is *no* reason to get the 1012, the 10v is a *much* better option at the moment, and while we are at it, there are numerous ion netbooks that would be better than a fully supported 1012 (minus the battery life, of course).
10.6.3 SleepEnabler
Apple recently released 10.6.3 to developers. The good news is that the new kernel is patched flawlessly by chameleon (included in NetbookInstaller 0.8.3 RC5 and later). The bad news is that a new SleepEnabler kext is needed. I've uploaded a version that works on any current version of 10.6, including 10.6.3. The kext can be disabled at bootup by specifying the pmVersion=0 flag. You can replace the 0 with any number to tell it to match with another pm version as well.
NetbookInstaller Plans (Specifically 0.8.4)
I'm going to be focusing on simplifying the installation experience even more for the 0.8.4 release. My main goal is to make NetbookBootMaker supported on multiple platforms (or a version of it for each).
May users on the MyDellMini forum have unstalled using Mechdrew's NetbookCD and related guides for this. At the moment, NetbookCD can patch an OS X install DVD at runtime by using a special kext and a console version of NetbookBootMaker. This will be incorperated into *both* NetbookInstaller as well as NetbookBootMaker.
The folowing changes are planned (some already completed or in progress):
- NetbookBootMaker is in the process of being rewritten. It will no longer patch the installation dvd, instead NetbookBootMaker will install a postboot ramdisk (as with NetbookCD) that will patch the dvd (or usb drive) at runtime. This means that tiger will be a supported host OS.
- NetbookBootMaker will be ported to Windows (using Cocotron). NetbookBootMaker will be able to at least create both usb devices used for the two usb install method, although I'm also planning on getting it working with just one usb drive.
- I'll look into creating an app for Linux, however creating the usb drives can easily be done already.
- NetbookInstaller will automatically be run after a system update. A modified chameleon will run NetbookInstaller (via a ramdisk) if it detects the /System/Library/Extensions.mkext is newer than /Extra/Extensions.mkext. This should only happen if the user installs an OS update, or installs a kext to /S/L/E.
- NetbookInstaller and NetbookBootMaker will support 64bit targets. I currently have create an Extension.mkext for use in NetbookBootMaker that is just 291kb, and supports both 64 and 32bit installations. The main reason for the 64bit support is for the new Atom cpus from Intel, as well as netbooks with the Atom 330 cpu.
In other words 0.8.4 will focus on unifying the various installation methods so that a common code base can be used, as well as to simplify the amount of work a user needs to do to install OS X.
EDIT: I forgot to mention this: Since 10.5 is no longer in development, NetbookInstaller will nolonger support Leopard. You can use an older version, such as 0.8.3. This is being done to simplify application as well as to reduce the download size.
NetbookInstaller 0.8.3 Released (and Merry Christmas)
Merry Christmas and a happy new year.
NetbookInstaller 0.8.3 is now officially released. Lots of changes from 0.8.2. Look at the change log for details.
This release is essencialy 0.8.3 RC5, plus a couple of minor tweaks. Those changes inlcude
- Bootloader banner is disabler (no longer displays chameleon string in upper right)
- Bootloader no longer blacks out screen before showing the boot logo.
- Various extra error checking especially when related to DSDT generation.
Grab the files below:
NetbookBootMaker 0.8.3
NetbookInstaller 0.8.3
---
There are lots of fun changes planed for 0.8.4, I'll make a separate blog post about that sometime next week, but it basically involves better support for more machines as well as support for 64bit machines (esp since Intel's newest Atom is 64bit).
NetbookInstaller 0.8.3 RC5
NetbookInstaller 0.8.3 RC5 is officially released. There are a few major changes (although, as far as the user is concerned, they are probably minor). Most notably is the new kernel patch, unless if apple changes their code again to break it, the bootloader will auto determine the patch location. Another major change is the edid / resolution patch, specificaly for the GMA500 users.
This *should* be the last version before the final release.
All Netbooks
- Updated chameleon patch to enhance the 10.6.2 kernel support (makes it non 10.6.2 specific).
- Chameleon patch to determine the native lcd resolution (via edid)
- Chameleon patch to incoperate the 915resolution program for intel GPU's
- Fixed DSDT generation bug introduced in RC4.
- Mirroring off command located at /Extra/bin/mirroring.
- Replaces OpenHaltRestart?.kext with OSXRestart.kext. Fixes restart after sleep issue.
- Updated to FakeSMC v2.5 from netkas.
- Updated UpdateExtra.app so that it no longer becomes unresponsive.
Dell Mini 10v
- Temporary fix for the A06 bios.
Dell Mini 9
- Updated audio for the Mini 9. This is a temporary fix and will change in the future.
GMA500 Netbooks
- Included VaioPEnabler.kext to set the graphics framebuffer on bootup. This has not been tested.
Known Bugs
- The battery kext has a bug that causes panics on certain netbooks, such as the Mini 10v running the A06 bios. I have tracked this down and included a temperary fix for the Mini 10v although it may wok on other machines as well. It's an ugly fix and will be changed in the future.
- When generating the extensions cache in safe mode, kextd verifies with IOKit that any extensions to be included in an mkext can be used in safe mode, even when not requested. This causes only certain kext to be included in the /Extra/Extensions.mkext. You *can* run NebtookInstaller in safe mode, however you must again run NetbookInstaller after you boot into the normal mode.
NOTE: I have not (minimally) tested this on 10.5, however The final release will be tested thoroughly.
NetbookInstaller: NetbookInstaller 0.8.3 RC5.app.zip
NetbookBootMaker: NetbookBootMaker 0.8.3 RC5.app.zip
Elantech Touchpad
In order to add driver support for the elantech touchpad, I've ordered the palmrest for the Dell Mini 1010. The touchpad costs $44.99 plus shipping and tax for a total of $55.31. This amount will be deducted from the development fund setup at mydellmini.com.
Once I receive the order (should be by the 21st of December), I'll swap out the touchpad. The good new for all of you Mini 10 users and Mini 10v users who swapped the touchpad before, is that I'll be writing a multitouch capable driver for the new touchpad.
Bootloader goodness
In preparation for the 0.8.3 RC5 release, I've been working on improving the bootloader. The following improvements have been made:
- Detects native lcd resolution
- Patches video bios with native lcd resolution (intel only), specifically for the GMA500, but also unstreches the spinner while booting OS X.
- Rewrote the 10.6.2 Atom patch to determine patch location automatically. Also, instead of making OS X thing that we are running on an Core Solo, the patch now just removes the offending panic call. This was gone specifically so that the 10.6.3 kernel doesn't need a new patch (hopefully, and assuming I wrote it correctly). NOTE: The cpu model is reported as Unknown again
- Updates bootmenu so that it only appears when there are multiple boot options. You still can enter the boot menu still by pressing a modifier key (shift, cmd, alt, or F8).
I've zipped up my local (source) copy here if you can't wait for the 0.8.3 RC5 release. I still need to clean up some of the changes, but here it is if you wan't to look at it.
You can get the precompiled boot file here.
Long Time No Post.
It's been a while since I've updated this website. There are two main reasons why I've been less active for the past month. The first is it's finals time, however it also means that winter break is coming up (two finals to go) so I should have plenty of time to work on NBI, since school is almost out. The second is a new job, I recently (the past month) landed an internship at a EM Microelectonics, and as such have been focusing on it rather than NBI. I will still be working on NetbookInstaller, however updates may happen at a slightly slower pace.
For those of you wondering about the current (and future) status of NetbookInstaller, here is a quick teaser on things to come.
I'll be releasing NebookInstaller 0.8.3 RC5 no later than the 20th (or 21st) of December. If all goes well, NetbookInstaller 0.8.3 final will be released on Christmas day (after all, it's Christmas, and it'll be 6 months from the initial NetbookInstaller release).
I'll try to update the google code wiki page with an changes that will be included in RC5, you can find the changelog here.
This release will add more support for machines (better audio for the mini 9, as well as initial support for the Mini 10 and 12). Another change with the RC5 is an updated chameleon patch that is capable patching a kernel without knowing the correct patch location ahead of time.
Essencial, 0.8.3 will bring about better compatibility to supported netbooks, as well as more mac like experience when using the machine.
----
Futuer plans for NetbookInstaller (0.8.4) involve the removal of machine specific code. I've already begun implementing a method to autodetect what drivers are needed, without having to determine these by hand. 0.8.4 will be able to determine these for you, even on unsupported machines. YOu can view the initial code for this in the google code page (I've uploaded the latest code as of a couple of days ago).
I will also be looking into implementing a method so that NBI will auto patch the OS if an update has occurred (unless if I make this so that it's not needed anymore). Right now my thoughts are to use the postboot ramdisk code from NetbookCD as well as a chameleon patch that allows me to only mount the ramdisk when a version mismatch is detected. There are some drawbacks with this, however it should decrease the amount of steps a user has to do for a clean update.
Chameleon 10.6.2 Kernel patch
At the moment it's not possible to boot an unmodified 10.2.0 kernel (as included with the 10.6.2 update). Unfortunately, this means that we need some way to patch the kernel before we load it up. That's what this patch is for. Rather than patch the kernel on disk, I've modified Chameleon to patch, in memory, the user selected kernel before it executes it. The attached diff file includes all the Changes I've made to chameleon for NetbookInstaller.
Chameleon Patches to 2.0 RC3: chameleon_2_rc3.patch.zip
Chameleon Files (cdboot, boot0, boot, boot1h): patched_chameleon.zip
NetbookInstaller 0.8.3 RC4 (With 10.6.2 support)
NetbookInstaller 0.8.3 RC4 is now out. This version is just bugfixes and will probably be the last RC before 0.8.3 is released. I'll be focusing on audio fixes for 0.8.4 as well as a couple of other things.
All Netbooks
- Hibernation *should* be disableable now in NebtookInstaller (but don't take my word for it..)
- Patched SleepEnabler to work on any current 10.6.x kernel. you must run NetbookInstaller *before* the 10.6.2 update (you can reboot before it too).
- Patched Chameleon so that it applies tea's 10.6.2 kernel patch at runtime.
- Stability fixes with NetbookInstaller (added more error checking).
- Various internal API changes
I'm probably missing a bunch of changes. If I think of them, I'll add them to the list.
NOTE: To Installer 10.6.2, you must run NetbookInstaller 0.8.3 in *normal* mode (before you install 10.6.2). do *not* use safe mode at this time, there is a bug with NBI and safe mode.
NOTE 2: I'll be posting the source code changes to Chameleon as well as SleepEnabler tomorrow (and hopefully the NetbookInstaller changes too).
NetbookInstaller: NetbookInstaller 0.8.3 RC4.app.zip
NetbookBootMaker: NetbookBootMaker 0.8.3 RC4.app.zip
Mechdrew: I've updated the Postboot.img ramdisk. You can get that here.
