People often make a serious mistake when installing OSX via Target Disk Mode. The computer which is receiving the installation should not be started in target disk mode. Only the computer which contains the installation DVD (or image) should be started in target disk mode. If the installation is done with incorrect computer in target disk mode, then inappropriate files will be copied.
As an example, suppose you want to install OSX 10.4 Tiger onto an iBook G3 which does not contain a DVD drive. Since Tiger is generally available only on DVD, you can connect the iBook via FireWire to an iMac which is equipped with a DVD drive. Reboot the iMac containing the installation DVD into target disk mode (restart and hold down the 'T' key until the FireWire symbol appears in the iMac's screen). Then on the iBook G3, open 'System Preferences', find 'Startup Disk', select the OSX installation DVD, and restart. The iBook G3 should boot from the disk in the iMac's DVD drive, and you may begin the installation process.
Posted on Apr 5, 2013 9:14 PM
- I have created a mac app in xamarin studio community edition, While creating app i have chosen target version 10.11 (of mac/osx), but now need to change to 10.10 as per new requirements.
- Target Disk Mode is useful for accessing the contents of a Mac which cannot be booted from its own operating system. Target Disk Mode is the preferred form of old-computer to new-computer interconnect used by Apple's Migration Assistant. Migration Assistant supports Ethernet (wired) or Wi-Fi, which TDM does not.
Simply restart your Mac and hold the Option key until a selection screen appears. Here, you can select any of the bootable storage and media volumes connected to your Mac, including your OS X recovery partition. Simply using the arrow keys you can select a partition by name or type. Rinse and repeat whenever you want to switch.
│English (en) │
This article applies to Mac OS Classic only.
See also: Multiplatform Programming Guide
MacOS is the target for Mac OS Classic, i.e. the predecessor to macOS. macOS itself was previously marketed as Mac OS X and OS X. For macOS, see Target Darwin.
- 2Some tips
- 5Cross compiling from Mac OS X to Mac OS
Compiling in MPW
Free Pascal can now be used in the MPW development environment.
Free Pascal for MPW call assembler and linker via ToolServer. This means that you need ToolServer installed. This will normally not be an issue, since ToolServer is included in the MPW distribution.
In rare instances, you might get the error message 'Can't call the assembler, switching to external assembler.' I do not know the origin of this, but it will help to restart. On Mac OS X you might need to restart even OSX. It might also indicate that you need to increase the memory setting for ToolServer.
Castle hallway mac os. Another workaround for such problems is to let the compiler write out an MPW script (option -s). This will assemble and link when executed in MPW. This method can also be used if the compiler is to be called from a third program, to overcome the deadlock situation mentioned below under Dos.Exec.
For crosscompiling e.g. from macOS to Mac OS Classic, see below.
Some tips
Choosing apptype
Targeting Change Mac Os Startup Apps
For casual users, copying Pascal text only programs from a book, {$APPTYPE CONSOLE}
is appropriate.
If you want an MPW tool, use {$APPTYPE TOOL}
.
For maximum portability, the following:
.. ensures it will be an MPW tool on Mac OS, and a console application in Delphi where {$APPTYPE TOOL} is not recognized.
Resources
Targeting Change Mac Os Icon
Since 24-01-2004 mac style resources can be included with {$R }
. If the resource file ends with .r it is considered a Rez type resource file (in text form). For all other files (including .rsrc), binary resources are assumed. Several resource files can be included. Orbit wars mac os.
Error messages
Errors, warnings, hints and other messages written by the compiler are in MPW format - that is you can execute them and the error location will be displayed.
Dos.Exec
The procedure Dos.Exec is used to execute other programs. In MacOS this is supported, and the program(s?) which can be executed is MPW tools. An AppleEvent is sent to ToolServer which in turn executes the tool. A limitation is that ToolServer is not reentrant, so if a program which is called via Dos.Exec, in turn call Dos.Exec, it will be deadlocked.
Assembler symbols
Internal symbols in the generated assembler files will have a lowercase 's' as part separator instead of '$'. The reason is that PPCAsm does not support $.
QuickDraw globals
There is a variable qd defined in System.pp for use as the QuickDraw global.
For {$APPTYE TOOL}
and {$APPTYPE CONSOLE}
it is initialized, but for {$APPTYPE GUI}
you have to initialize it yourself.
Debugging
See MPW debugging
Global variables
Currently all global variables are indirect, i.e. the entry in the TOC is always a pointer to data. (In the future small data items may be stored directly in the TOC)
Thus all references to globals are via a construct like: lwz rX, yyy[TC](r2) ;loads a pointer to a global into rX
Cross compiling from Mac OS X to Mac OS
Although not necessary nowadays when there exists a native compiler for target MacOS, here is some info on how to cross compile. See also Link on target.
Crosscompiling step on macOS
When compiling, add these options:
If make is used, add OPT=-st OS_TARGET=macos
Note that one must first build the RTL by issuing make
in rtl/macos, with the above options, to be able to build other programs. The RTL must then be assembled and linked (see below) before compiling any program, otherwise the search paths in the link script will not be correct.
You might also want to add option -a, then the link script will not delete unneeded files, in particular the assembler files (*.s). This can be useful if there are problems with the link scripts and you want to rerun it.
Assembling and linking step on Mac OS Classic
In case that host and target machine is different, transfer the produced files (assembler files (*.s) and link script *_ppas) to the host.
In Mac OS Classic, use MPW to assemble and link the output from FreePascal by executing the link script (which is an MPW script), with its directory as current directory. Unfortunately the link script does not(?) obtain the proper mac file type, so this has to be fixed first e.g. with the MPW command SetFile.
Example: To build Hello World (together with the rtl unit system.pp), execute:
Above circa 2004/5.
Working notes: situation as of late 2012
The objective here is to build PPC and possibly 68K compilers, first as cross-compilers to run on a PC and then to run natively on Mac OS 9. Part of the incentive for this is to investigate whether a PPC Mac, e.g. my (MarkMLl) G3 beige with 'Old World' ROMs, is a usable testbed for the fixed 68K compiler which Sven has added to trunk at around 2.8.
On e.g. Debian Linux, build and install cross-binutils:
Do the same for m68k-linux-gnu. Hide and speak mac os.
Build a cross-compiler to run on a PC but targeting PPC:
Renaming the compiler prevents it from being deleted by make clean etc., consider extending that OPT setting with -dEXTDEBUG.
Build a native RTL and compiler:
Bringing macos/sysdir.inc up to date shows that the amiga, embedded, watcom and symbian OS targets are similarly falling behind. It's instructive to compare the amiga target (which has not been updated) with the morphos target (which has).
There's also a problem inside the compiler itself where entries of type AT_NONE are being generated but not handled.
To be continued.