Short: Network Block Device (NBD) Server Author: Kadir Mueller Uploader: kadir mueller theflatnet de (Kadir Mueller) Type: comm/tcp Version: 0.1 Requires: SCSI-Disk, TCP/IP, 256kB RAM per client connection Architecture: m68k-amigaos If you ever wanted to be able to clone you Amiga's Harddisk to another disk outside your Amiga or just want to create an byte-by-byte-backup of you disks, this is definitely for you. Well, at least as long as you're not relying on your Windows or MAC-PCs. Also you shouldn't consider AmiNBD as an in any way completed or even tested software. I'm providing it in an very early state "as-is", without any guarantees. AmiNBD gives you the ability to export your SCSI-Harddisk to any computer with an NBD client. As of today, this is true for Linux 3.6 and above and for some BSDs. And as long as you still have an running Amiga with TCP/IP running, you can use AmiNBD also to restore your Image! Remember that the requirement to use Linux or BSD as the servers OS also means that you can also use devices like tiny OpenWRT-Boxes in that place. Just grep an USB-Stick, stick it into your tiny whatever, connect it to your Amiga's network and go ahead. AmiNBD uses generic SCSI-commands through your SCSI Host Bus Adapter to communicate directly with your harddisk. This means that: - your Amiga itself does not have any chance to see any changes you're writing, so be carful! - any software-imposed limitation in your Amiga regarding the size of the disk does not apply. You can even serve disks greater than 2T, if you can connect them to your hardware. However, your Amiga won't be able to handle these large devices for itself. - this will really work with SCSI-devices only. Usage: Just start it, AmiNBD takes no arguments or any other configuration. It will just export all disks it finds. You can use your favorite nbd-client's list option to see your exported disks: root@linux:~>nbd-client -l youramiga Negotiation: .. IBM:DDRS-34560:RD1V9392 SGI:IBM:RD136241 root@linux:~> As you can see from the example output of my own Amiga above, the disks get listed one by line. AmiNBD provides an uniqe name for each disk constructed out of its Vendor, Model and Serial number. Next step: root@linux:~>nbd-client -N IBM:DDRS-34560:RD1V9392 a2k.flatnet -b 512 /dev/nbd0 Note that the blocksize has to be set to 512 bytes for now. Your Linux-kernel should now log something like: nbd0: detected capacity change from 0 to 4569600000 nbd0: RDSK (512) p1 (DOS^E)(res 2 spb 2) p2 ((res 2 spb 1) p3 ((res 2 spb 1) What gets logged exactly depends on your kernel configuration. It's quite helpful to have CONFIG_AMIGA_PARTITION enabled, otherwise your kernel can't parse your Amigas partition table. However, from now on you have access to your Amigas harddisk. The whole disk device is /dev/nbd0, which is corresponding to /dev/sda for the first disk in your linux box. The simplest thing you can do now is: root@linux:~>dd if=/dev/nbd0 of=/tmp/amigaDiskBackup Or, if you want to take a look onto your Amigas disk: root@linux:~>parted /dev/nbd0 GNU Parted 3.1 Using /dev/nbd0 Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) print Pralloc = 0, Reserved = 2, blocksize = 1, root block at 283008 Model: Unknown (unknown) Disk /dev/nbd0: 4570MB Sector size (logical/physical): 512B/512B Partition Table: amiga Disk Flags: Number Start End Size File system Name Flags 1 10.8MB 279MB 268MB DH0 boot 2 279MB 2427MB 2148MB DH1 hidden 3 2427MB 4568MB 2141MB DH2 hidden As parted shows us, nbd0p1 is our DH0-partition. The other two partitions are PFS-filesystems, which Linux can't handle. Knowing this and if you have loaded the nbd-module with partition support: root@linux:~>mount -t affs -o ro /dev/nbd0p1 /mnt/mnt root@linux:~>cd /mnt/mnt root@linux:~>ls Addons Expansion.info PSI T Addons.info Fonts PSI.info ToccataTools C Icons Patterns ToccataTools.info CV64-3D Icons.info Patterns.info Tools CV64-3D.info Images Picasso96 Tools.info Christmas-Look Images.info Picasso96.info Trashcan Christmas-Look.info Internet Prefs Trashcan.info Classes Internet.info Prefs.info Utilities Developer L Rexx Utilities.info Developer.info Libs Rexx.info WBStartup Devs Libs.info Rexxc WBStartup.info Devs.info Locale S install_log_file DirOpus4 Locale.info Storage install_log_file.info DirOpus4.info MUI Storage.info Disk.info MUI.info System Expansion Opt System.info root@linux:~> You can event mount the partition read-write, but this can be dangerous! You will write to the disk in your Amiga without giving AmigaOS any chance to take notice about your modifications, so you may loose your filesystem! Better use an unmounted disk for writing to your Amiga. Note that I can test AmiNBD on my own Amiga only! Use at your own risk. No warranty expressed or implied AmiNBD is published under the MIT License.