Jump to content

Cannot reach installation on Dell Inspiron 11 3147


qwqwqw
 Share

31 posts in this topic

Recommended Posts

Hello.

I'm trying to install OSX 10.9 Mavericks on my Dell Inspiron 11 3147 equipped with Pentium N3530.

I created installation USB stick with myHack but unfortunately it won't boot - the BIOS just reboots. To be sure it's bootable, I've checked it on my Lenovo IdeaPad Y580 and it boots nicely. The UEFI in my convertible supports legacy boot for sure because I've successfully booted various linux distros.

Then I created another pendrive with Clover EFI bootloader, which boots the installer but I've got nothing more than just Apple logo. When booted with "-x -v" args I'm getting something like in the attachment.

Without "-x" argument it won't even load "mach_kernel".

Thanks in advance and sorry for my English.

post-1407621-0-55903500-1411807837_thumb.jpg

Link to comment
Share on other sites

So the Intel HD graphics is not supported?

I was playing a bit with Clover boot options and I see it doesn't detect the CPU properly, It says 1 core 16 threads while it has 4 cores and 4 threads. I changed the cpus from 1 to 4 and now after loading I'm getting kernel panic "EFI not supported!".

Maybe Yosemite would be an option?

Link to comment
Share on other sites

I have this laptop too, and I've been struggling to get Mavericks to boot reliably.

I've tried various combinations of the following:

1) Older versions of Clover - r2890 seems to be the newest version that would boot reliably, but I lost the config.plist I was using.

2) BusSpeedkHz - I was able to get Mavericks to boot a while back by setting this to 100000, but the clock ran too fast and no USB devices (USB3.0 flash drives, mice, the touchscreen which should work otherwise, webcam, sensors, Bluetooth, etc.) were detected, possibly because the clock were wrong.

According to Linux, the FSB runs at 83200 kHz. Clover UEFI picks a seemingly random value between 83000 and 84000. I've tried a legacy (BIOS) Clover boot which consistently detected it at 83338, but setting it to that value manually in Clover UEFI doesn't work either. A legacy boot into Clover reboots a few seconds after loading the kernel.

3) FakeCPUID - I set it to 0x0306C0 to spoof a Haswell CPU, but one day I changed it to something else and changing it back hasn't fixed it. It does seem to need this - the Pentium N3530 (CPUID 0x30678) isn't on the kernel whitelist.

4) SMBIOS spoofing - MacBookAir6,2, MacBookPro11,1, and the auto-detected MacBook5,2

 

OSX won't boot without OsxAptioFixDrv. Recent versions of Clover have started beeping twice (and these speakers are insanely loud, so that always freaks me out) before the progress spinner appears. I've recently wiped out Mavericks and am currently looking for working Clover config.plist for Yosemite GM Candidate.

 

TL;DR, you need to set FakeCPUID and possibly BusSpeedkHz.

Link to comment
Share on other sites

Small update...

OSX Yosemite GMC1.0 boots further with BusSpeedkHz=100000 without FakeCPUID by enabling KernelCpu and KernelPm patches in Clover.

Despite varying combinations of KernelPm and AsusAICPUPM being enabled/disabled, I get a kernel panic on AppleIntelCPUPowerManagement.kext, which I never got in Mavericks.

 

Edit: Both patches seem to be applying (checked by setting the Debug key to true in config.plist in the patches section), so maybe Yosemite moving power management into the kernel has something to do with it.

Link to comment
Share on other sites

Before setting BusSpeedkHz to 100000 I wasn't even getting diagnostic messages from the kernel on the screen - it just appeared to be stuck on either the Apple logo or the black boot.efi/loading kernel/cache screen when booted in verbose mode. (see update below)

 

One time I booted Mavericks while I was fiddling with the FSB/bus speed I set it too high - About This Mac said the CPU was running at 4GHz! I'm surprised it didn't overheat, but I didn't leave it running long for obvious reasons - even though the processor on this laptop is very power-efficient. According to Linux, it can run at 3.1GHz even though the advertised turbo clock speed is 2.58GHz!

 

UPDATE: I figured out after digging through the XNU sources why setting the FSB to a "normal" value for this laptop isn't working.

 

www.opensource.apple.com/source/xnu/xnu-2422.115.4/osfmk/i386/tsc.c

@@ EFI_FSB_frequency(void)

if (!(90*Mega < frequency && frequency < 10*Giga)) {

			kprintf("EFI_FSB_frequency: value out of range\n");

			frequency = 0;
}

Somehow that first line needs to change to allow a FSB frequency lower than 90MHz, which this laptop requires - the FSB runs at 83.2MHz according to Linux.

The patch should be pretty simple in theory: replacing "frequency = 0" with a no-op should do it. How though? I hate binary patches. I should probably stick with Linux.

Link to comment
Share on other sites

That's too bad for the frequency checking code :/

I tried everything you wrote but I'm still getting something like in the picture in the first post but now the computer reboots after "++++++++++++++" string...

I've got now OsxAptioFixDrv, used 0x0306C0 cpuid and tried with BusSpeedkHz set to 100000.

Any ideas what went wrong?

Link to comment
Share on other sites

I've finally got it to boot to installer with Lapic Kernel, "-x -v -f npci=0x3000 cpus=4" args but I have to use BusSpeedkHz=100000 to boot it, the correct value is 83330, with that I'm getting "tsc_init: EFI not supported!", is there an option to correct it?

Also after booting I'm getting "The OSX installation cannot be completed" probably because of the BusSpeedkHz.

Link to comment
Share on other sites

qwqwqw, you shouldn't need all those kernel flags.

 

I discovered the cause of the loud beeping - apparently FakeCPUID does something the kernel doesn't like. Enabling the KernelCpu patch seems to be sufficient to get Yosemite to boot. However, bus speed is still a problem. The "tsc_init: EFI not supported!" panic occurs when the timer frequency is misdetected or set to zero by the line of code that ensures the FSB is above 90MHz but below 10GHz. The only way I'm aware of to set BusSpeedkHz or let the bootloader auto-detect the FSB frequency without interference from the kernel is to patch the kernel, by either modifying or removing the FSB frequency check in the code snippet I posted above. Without the XNU kernel source for OSX Yosemite and without the compiler toolchain, which AFAIK is Mac-only - yay for chicken/egg problems! - I've had to resort to binary patching. I got this far on Yosemite:

sudo perl -pi -e 's|\x48\x8d\x83\x7f\xb5\xa2\xfa|\x48\x8d\x83\xaf\xbb\xbb\xfb|' /path/to/kernel
sudo perl -pi -e 's|\x48\xb9\x7f\x99\xae\x4e\x02|\x48\xb9\xaf\x9f\xc7\x4f\x02|' /path/to/kernel
sudo perl -pi -e 's|\x48\x3d\x81\x4a\x5d\x05|\x48\x3d\x51\x44\x44\x04|' /path/to/kernel
sudo perl -pi -e 's|\x41\xc7\x47\x14\x80\x4a\x5d\x05|\x41\xc7\x47\x14\x50\x44\x44\x04|' /path/to/kernel

I probably miscalculated terribly because the problem persists with or without the above patches. Those 4 lines replace occurrences of the reverse hex representation of 90M (line 1), a confusing combination of 10G-90M (line 2), 90M+1 (0x55d4a81, line 3) and plain old 90M (0x55d4a80, line 4), respectively, with an arbitrary value, 0x4444450 (71582800). In theory, this should lower the minimum allowed bus frequency to 71MHz so that this laptop, and presumably others using newer Bay Trail/Valley View based Atoms, Pentiums and Celerons, can boot with a bus frequency lower than 90MHz. Of course, in practice, I suck at math and am likely to have done something terribly wrong.

Those last two lines occur nowhere near other TSC code, so they probably shouldn't be applied anyway.

 

I haven't tested these patches on a Mavericks kernel either - they're unlikely to work, even though I performed what I consider to be all the required sorcery.

I did try to make sure none of those values occur elsewhere in the code. The above patches should apply to both the 10.9 and 10.10 kernel and they're reversible, but I'd recommend keeping a copy of the vanilla kernel handy if you want to have a go at this.

 

For anyone interested in checking my disassembly analysis/calculations, I used GNU binutils (x86_64-apple-darwin-objdump -D) on Ubuntu Linux configured with Darwin as the target platform:

sudo apt-get install build-essential git bison flex texinfo
git clone git://sourceware.org/git/binutils-gdb.git binutils
cd binutils
./configure --prefix=/usr/local --target=x86_64-apple-darwin --enable-64-bit-bfd --disable-nls --disable-werror
make && sudo make install
Link to comment
Share on other sites

That's the same spot I'm stuck until I can figure out a kernel bus frequency patch that actually works.

I'm currently trying to get Yosemite final set up in VirtualBox, which would work around the timer problems, but I can't extract the kernel from the DMG I got.

Once I figure that out, I'll have another shot at removing the 90MHz minimum FSB requirement.

Link to comment
Share on other sites

Hello. I've finally installed OSX 10.9 on my Dell, wihout BusSpeedkHz option. To achieve it, I had to compile the kernel myself.

I removed the CPU whitelist, applied lapic patch and changed the minimum frequency from 90MHz to 70MHz. Then it booted with just "-f ncpi=0x3000 cpus=4" flags.

Now the problem is with the GPU - there's no QE/CI - framebuffer works nice with native resolution, AR9565 WiFi seems like not quite supported and the CPU works constantly on 2.19GHz. USB works flawlessly, touchpad, keyboard and Bluetooth also. Audio should work with kexts.

In the attachement is my modded kernel.

Waiting for suggestions.

mach_kernel.zip

Link to comment
Share on other sites

qwqwqw, so you're saying that despite compiling a modified kernel that boots with the proper bus frequency, the clock issues persist? No matter whether I'm running with BusSpeedkHz at 90001 (apparently, 90000 doesn't work), 100000, 133330 or higher (don't try this at home, kids!), the clock seems to run approximately twice as fast as normal. Setting a lower bus ratio will probably do nothing but limit the CPU frequency.

 

I haven't been able to test with your kernel since I'm on Yosemite now, and no amount of binary patching - yes, I'm still experimenting, seems I hit a brick wall though - has let me boot with a bus frequency below 90MHz.

 

[Random discovery]: while examining the kernel in Hopper (http://www.hopperapp.com - disassembler/decompiler for OSX and Linux with a pretty full-featured demo version limited to 30-minute sessions, otherwise affordable at $89 for a personal license vs several thousand dollars for IDA Pro), I noticed code in tsc_init() that checks for a "-cpuid" boot flag. I'm not sure what this is for or how to use it, but it seems to be a recent addition to the kernel, and may possibly be related to virtualization.[/random]

Link to comment
Share on other sites

The clock issue looks like a system timer problem or something like that, the CPU frequency in My Mac is displayed correctly.

If you say Yosemite could work better on our Inspiron, I'd love to try it.

Could you tell how you achieved it?

Link to comment
Share on other sites

  • 1 month later...

I've mostly given up on this due to lack of motivation - I've since found alternatives to the open source iOS-only apps I wanted to run in the iPad simulator in OSX with my touchscreen. Most of the problems running Mavericks on a Bay Trail-based Pentium (or Celeron) are also applicable to Yosemite. I've long since stopped checking for solutions to the TSC/timer/clock problem, as it is unlikely to be fixable with a simple binary patch. The developers of Clover would be the people to contact if you are still interested in getting OSX running on Bay Trail - the biggest problem (the clock issue) is a very low-level one that may be addressable via the bootloader.


If anyone is interested, preparing a vanilla Yosemite installer USB drive with Clover is pretty simple, and all the information you need to get OSX running on this laptop is out there, and most of it is in this thread. The problems I listed in my first couple of posts - anything connected via USB internally or externally not working, including the touchscreen - are still there, and will likely still be problems until there's a fix for the clock issue. I've had to free space on my SSD for my other operating systems, so I probably won't be attempting this again myself for a while, if ever.

Link to comment
Share on other sites

  • 3 months later...

    Hey, if you guys look at this topic still, since the attachments arent available for download on insanelymac - I really need someone to upload that patched kernel somewhere. I just got this laptop hoping to hackintosh it after 2 previous hackintosh laptop builds - I know I should have chosen a better hardware config - but If anyone still has that file, please, please upload it. I would also love to contribute to the development of this laptop for hackintoshing after I can get it to boot with the kernel. Once I can get a basic system I can work on the clock issue, as I had a similar problem with my acer aspire v5-571p build a while back (which, by the way, is an undiscovered laptop that is just as good for hackintoshing as a probook - I didn't need any dsdt edits, everything running stable including touchscreen, just no qe/ci. It has HD3000, so it can't be too hard) so I may be able to use that knowledge and experience for this laptop. Thanks guys and HAPPY HACKINTOSHING!

Link to comment
Share on other sites

 Share

×
×
  • Create New...