Short: net-boot with PCMCIA 3Com Etherlink III Author: Francesco Talarico Uploader: Francesco Talarico (fra tal pm me) Type: driver/media Version: 43.23 Requires: A600/A1200, 3Com EtherLink III PCMCIA, LoadModule, ptable.library, Linux host Architecture: m68k-amigaos # L2BOOT L2Boot allows an Amiga 600 or Amiga 1200 to mount and boot from an HDF image or physical disk hosted by a Linux machine. The remote storage appears to AmigaOS as: l2scsi.device unit 0 Communication uses raw Ethernet frames. No TCP/IP stack or network configuration is required on the Amiga. Apart from the 3Com newtork card, no other dedicated hardware or custom Kickstart ROM are required. The Amiga components are spawned at boot using LoadModule. # QUICK START Amiga: - Amiga 600 or Amiga 1200 - AmigaOS 3.x - 3Com EtherLink III PCMCIA card - LoadModule - supplied ptable.library - supplied l2scsi.device - supplied l2remote.boot Linux: - any Linux computer (tested OK on VirtualBox) - Ethernet connection to the Amiga - root privileges - GCC (apt-get build-essential) - A Raspberry Pi is convenient but not required. # BUILD THE LINUX SERVER wget https://github.com/Telefonorosso/l2boot/raw/refs/heads/main/l2boot-pi-hdf-server-v50-data1024-native-rdb-write-blockdev-noboot-auto-peer.c Compile: gcc -O2 -Wall -Wextra \ -o l2boot-hdf-server \ l2boot-pi-hdf-server-v50-data1024-native-rdb-write-blockdev-noboot-auto-peer.c Make it executable: chmod +x l2boot-hdf-server # START THE SERVER For an existing RDB HDF: ./l2boot-hdf-server eth0 disk.hdf Replace eth0 with the correct interface. # LOAD THE AMIGA MODULES - download http://aminet.net/package/util/boot/LoadModule lha e loadmodule.lha - move l2boot.lha into the LoadModule folder lha e l2boot.lha LoadModule ptable.library l2scsi.device l2remote.boot NOREBOOT (now reboot with CTRL-AMIGA) The system will scan for the server in the broadcast domain and eventually boot from the remote disk image! # FEATURES - boot from remote Amiga RDB/ADF images or Linux block devices - write support - multiple partitions - HDToolBox partitioning and resizing - quick and full formatting - optional read-only mode - temporary non-booting mode - creation of new blank disks - automatic host discovery - Linux operation on Raspberry Pi, desktop PCs and virtual machines # READ-ONLY MODE ./l2boot-hdf-server eth0 disk.hdf --protect Use this or make a backup of your valuable image beforehand! # PREVENT AUTOMATIC BOOT ./l2boot-hdf-server eth0 disk.hdf --noboot The disk remains visible and writable, but its partitions are temporarily presented with BootPri -10. The source HDF or physical disk is not modified. # CREATE A BLANK HDF Fully allocated 256 MiB image: dd if=/dev/zero of=blank.hdf bs=1M count=256 status=progress Sparse 1 GiB image: truncate -s 1G blank.hdf # PREPARE A BLANK HDF Start the server once with: ./l2boot-hdf-server eth0 blank.hdf --allow-raw-write --noboot Then: - Boot the Amiga and do LoadModule - Start HDToolBox with l2scsi.device unit 0. - "Define" the drive. - Create and save the partitions (set a high bootpri!) - Reboot the Amiga - Format the partitions - Make some use of them - Restart the server without any option when ready: ./l2boot-hdf-server eth0 blank.hdf # LINUX BLOCK DEVICES E.G. MICRO-SD CARDS A physical disk, USB device or memory card may be served directly: ./l2boot-hdf-server eth0 /dev/sdb Check the device name first: fdisk -l Before exposing a block device: - verify the device name - confirm it is not the Linux system disk - BE CAREFUL Do an initial read-only test! ./l2boot-hdf-server eth0 /dev/sdb --protect # LINUX GUEST The server has been tested under Debian running in VirtualBox on Windows. The guest must be able to: - receive Ethernet broadcasts; - transmit custom Ethernet frames; - open Linux AF_PACKET raw sockets; - pass EtherType 0x88B8; - access the selected HDF or block device. This does not require any special configuration on VirtualBox apart from enabling "BRIDGED NETWORKING". # COMPATIBILITY Verified: - Amiga 600 (Pistorm) - Amiga 1200 (+ 68030) - AmigaOS 3.x - Kickstart 40.68 with LoadModule - 3Com EtherLink III PCMCIA 3C589C for 10BASE-T and Coax - 3Com EtherLink III PCMCIA 3C589D-TP for 10BASE-T - RDB images - ADF images - multiple partitions - bootable partitions - Linux block devices - HDToolBox - formatting # LIMITATIONS - ADF images with custom bootblock, copy protection, etc. will be UNREADABLE - The network card is OWNED by l2boot - LoadModule is incompatible with "CPU FASTROM" it hangs forever on a purple screen) - hot removal (disk swapping) is unsupported. # DEPENDENCIES LoadModule is available from Aminet: https://aminet.net/package/util/boot/LoadModule ptable.library is a component of the CFD project: https://aminet.net/package/driver/media/cfd # CREDITS L2Boot: Francesco Talarico LoadModule: Thomas Richter and Etienne Vogt ptable.library: Jaroslav Pulchart Original compactflash.device / CFD project: Torsten Jager