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