|
|
1.1 ! root 1: #!/bin/sh ! 2: # ! 3: # minimal Linux init script for registering Hatari as binfmt_misc ! 4: # handler for TOS binaries ! 5: ! 6: # name given for binftm_misc ! 7: name=TOS ! 8: ! 9: # first bytes for GEMDOS programs ! 10: magic="\x60\x1a" ! 11: ! 12: # what is used to "interpret" (run) these programs ! 13: runner=/usr/bin/hatari ! 14: ! 15: register_binfmt () ! 16: { ! 17: # Mount the binfmt_misc directory if not already mounted ! 18: if [ ! -e /proc/sys/fs/binfmt_misc/register ]; then ! 19: (set -e; mount none /proc/sys/fs/binfmt_misc -t binfmt_misc) ! 20: fi ! 21: if [ -e /proc/sys/fs/binfmt_misc/$name ] ; then ! 22: echo "WARNING: $name binfmt_misc handler already registered." ! 23: return ! 24: fi ! 25: # Register runner for files starting with specified magic ! 26: regfile=/proc/sys/fs/binfmt_misc/register ! 27: if ! echo ":$name:M::$magic::$runner:" > $regfile ; then ! 28: echo "ERROR: registering $name binfmt_misc handler failed!" ! 29: exit 1 ! 30: fi ! 31: echo "Registered $name binfmt_misc handler." ! 32: } ! 33: ! 34: deregister_binfmt () ! 35: { ! 36: if [ -e /proc/sys/fs/binfmt_misc/$name ] ; then ! 37: echo -1 > /proc/sys/fs/binfmt_misc/$name ! 38: echo "De-registered $name binfmt_misc handler." ! 39: else ! 40: echo "WARNING: no binfmt_misc handler for $name." ! 41: fi ! 42: } ! 43: ! 44: case "$1" in ! 45: start) ! 46: register_binfmt ! 47: ;; ! 48: stop) ! 49: deregister_binfmt ! 50: ;; ! 51: *) ! 52: echo "Usage: ${0##*/} start|stop" >&2 ! 53: exit 1 ! 54: ;; ! 55: esac
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.