Difference between revisions of "SPO600 aarch64 QEMU on Ireland"
Chris Tyler (talk | contribs) (→arm64 Mode) |
Chris Tyler (talk | contribs) (→Special Mounts) |
||
Line 27: | Line 27: | ||
These special filesystems may be mounted using the script ''specialmount''. To unmount these special filesystems, use the corresponding script ''specialumount'' while in the arm64 chroot. | These special filesystems may be mounted using the script ''specialmount''. To unmount these special filesystems, use the corresponding script ''specialumount'' while in the arm64 chroot. | ||
− | {{Admon/caution|Superuser access - Danger!|While in the chroot environment, you are a superuser. Although the chroot provides partial protection | + | {{Admon/caution|Superuser access - Danger!|While in the chroot environment, you are a superuser. Although the chroot provides partial protection, it is still possible to cause '''major damage'''. Take care not to delete entries in the special mounts or perform other actions that would affect the host or other users.}} |
+ | |||
+ | {{Admon/tip|Back Up Your Work|The storage on Ireland is not backed up - you are responsible for protecting your own work. Since other students will have root access (see above), you should back up your work to another system frequently!}} | ||
== Sample Code == | == Sample Code == | ||
There is some sample code in the directory <code>~/arm64/spo600/examples</code>, which is also accessible through the symlink <code>~/spo600-examples</code>. | There is some sample code in the directory <code>~/arm64/spo600/examples</code>, which is also accessible through the symlink <code>~/spo600-examples</code>. |
Revision as of 17:07, 23 January 2014
QEMU linux-user
The CDOT host Ireland (ireland.proximity.on.ca) has been set up with a QEMU userspace emulator. This program interprets aarch64 binaries and translate operating system calls to the underlying x86_64 kernel, enabling many aarch64 binaries to be executed with good performance. However, because it does not emulate the full system, some capabilities are not available: in particular, debugging software such as gdb and strace will not work.
Each user has a private QEMU aarch64 filesystem tree located at ~/arm64. You can access files within that tree using your regular account.
arm64 Mode
To enter your arm64/aarch64 chroot, execute this alias to invoke a chroot via sudo:
[user@ireland (x86_64) ~]$ arm64 [root@ireland (aarch64) /]#
Note the three changes shown in the prompt that happen when this command is executed:
- The directory changes to the root directory of the arm64 environment, which is equivalent to ~/arm64 when outside of the aarch64 chroot.
- The arch mode changes from 'x86_64' to 'aarch64'.
- The user changes to root.
To exit from aarch64 mode, exit from the shell with Ctrl-D or exit
Special Mounts
In the arm64 chroot, some commands such as mount and top will not work correctly because special filesystems such as /proc
and /sys
are not mounted.
These special filesystems may be mounted using the script specialmount. To unmount these special filesystems, use the corresponding script specialumount while in the arm64 chroot.
Sample Code
There is some sample code in the directory ~/arm64/spo600/examples
, which is also accessible through the symlink ~/spo600-examples
.