Hi.
I have a Mac OS X 10.8 (Mountain Lion) guest.
I have set the "EFI Shell (unsupported)" as my first boot device.
On the guest's hard drive, there is a "startup.nsh" script. Here's a snippet that is using the mm command to write to some physical memory addresses in the guest:
mm 7ffa80b0 0000000000000000 -w 8 -MEM -n
mm 7ffa80b0 00000000 -w 4 -MEM -n
mm 7ffa80b0 0000 -w 2 -MEM -n
mm 7ffa80b0 00 -w 1 -MEM -n
mm 7ffa80b0 00 -MEM -n
mm 7ffa80b0 00 -n
mm 7ffa80b0 00
MM 7FFA80B0 00
mm 7ffa80b0 00
MM 7FFA80B0 00
mm 0000000077ffa80b0 00
MM 0000000077FFA80B0 00
All of these commands have three things in common:
- They work if manually typed in the EFI Shell.
- They DO NOT work when called from a script like "startup.nsh" or with the "startup" command in the EFI shell.
- They all are supposed to write one or more null (0x00) bytes to physical memory in the guest OS, starting at address 0x000000007FFA80B0 (they do exactly that if typed in the EFI Shell manually, but don't work if called from a script/batch file.
Why, oh why, does it work if typed manually in the shell, but not if called from a script/batch file? I thought that "mm" might be an application/image running from a different folder/path when called from a script/batch file, but this is not the case, as mm is an internal EFI Shell command (and not an application/image).
Anybody got any other suggestions for pulling this off?