On 1/12/21 6:12 PM, Finn Thain wrote:
If you're a museum interested in cultural artifacts from decades past, or if you're a business doing data recovery, you're going to need to operate those platforms.
Or if you're camping patent expirations and want to be able to point at prior art for new hardware development WITHOUT a legal team big enough to have its own office building.
Once removed from mainline Linux, a port becomes basically frozen, and may not be compatible with future emulators, which are a moving target. I say that because last year I fixed bugs in Linux/m68k that made it incomatible with recent QEMU releases (it was only compatible with old QEMU releases).
Speaking of which, my qemu m68k system has failed to boot ever since commit: commit f93bfeb55255bddaa16597e187a99ae6131b964a Author: Finn Thain <fthain@xxxxxxxxxxxxxxxxxxx> Date: Sun Jun 28 14:23:12 2020 +1000 macintosh/via-macii: Poll the device most likely to respond Poll the most recently polled device by default, rather than the lowest device address that happens to be enabled in autopoll_devs. This improves input latency. Re-use macii_queue_poll() rather than duplicate that logic. This eliminates a static struct and function. It hangs in a cpu-eating loop after "random: crng init done". Miniconfig attached, the qemu invocation is: qemu-system-m68k -M q800 -nographic -no-reboot -m 256 -kernel vmlinux \ -initrd cpio.gz -append "panic=1 HOST=m68k console=ttyS0 Rob P.S. This is the toybox "make root" m68k target from https://github.com/landley/toybox/blob/master/scripts/mkroot.sh#L171 if that's useful to know. It doesn't get to the root filesystem and the build just creates that miniconfig and runs it as the comments say...
# make ARCH=m68k allnoconfig KCONFIG_ALLCONFIG=m68k.miniconf # make ARCH=m68k -j $(nproc) # boot vmlinux # CONFIG_EMBEDDED is not set # architecture independent CONFIG_BINFMT_ELF=y CONFIG_BINFMT_SCRIPT=y CONFIG_NO_HZ=y CONFIG_HIGH_RES_TIMERS=y CONFIG_BLK_DEV=y CONFIG_BLK_DEV_INITRD=y CONFIG_RD_GZIP=y CONFIG_BLK_DEV_LOOP=y CONFIG_EXT4_FS=y CONFIG_EXT4_USE_FOR_EXT2=y CONFIG_VFAT_FS=y CONFIG_FAT_DEFAULT_UTF8=y CONFIG_MISC_FILESYSTEMS=y CONFIG_SQUASHFS=y CONFIG_SQUASHFS_XATTR=y CONFIG_SQUASHFS_ZLIB=y CONFIG_DEVTMPFS=y CONFIG_DEVTMPFS_MOUNT=y CONFIG_TMPFS=y CONFIG_TMPFS_POSIX_ACL=y CONFIG_NET=y CONFIG_PACKET=y CONFIG_UNIX=y CONFIG_INET=y CONFIG_IPV6=y CONFIG_NETDEVICES=y CONFIG_NET_CORE=y CONFIG_NETCONSOLE=y CONFIG_ETHERNET=y CONFIG_COMPAT_32BIT_TIME=y CONFIG_EARLY_PRINTK=y CONFIG_IKCONFIG=y CONFIG_IKCONFIG_PROC=y # architecture specific CONFIG_MMU=y CONFIG_M68040=y CONFIG_M68KFPU_EMU=y CONFIG_MAC=y CONFIG_SCSI_MAC_ESP=y CONFIG_MACINTOSH_DRIVERS=y CONFIG_ADB=y CONFIG_ADB_MACII=y CONFIG_NET_CORE=y CONFIG_MACSONIC=y CONFIG_SERIAL_PMACZILOG=y CONFIG_SERIAL_PMACZILOG_TTYS=y CONFIG_SERIAL_PMACZILOG_CONSOLE=y