Remember that a minimal sources.list must contain one line for the “unstable” distribution and one line for the “unreleased” distribution!

Installing Debian/m68k


ARAnyM images

Pre-made ARAnyM hard disc images (byte-swapped, i.e. directly usable by ARAnyM) are here, configuration and kernels included. Last Update: 2015-01 (January 2015)

Debian-Installer contains a d-i build by WouterVerhelst. Last Update: 2012-12 (December 2012)

Installing from d-i is currently untested and most likely not working because it uses debootstrap, which can only install from unstable without taking the Debian-Ports "unreleased" suite into account. A workaround is being worked on.

This version of d-i currently supports Amiga and Atari computers.

Pre-made filesystems

Filesystem images

Pre-made ext2fs (448 MiB) with base system (debootstrap --variant=base) plus a couple of packages, pre-configured, (does not include 128 MiB swapfile, forgot about it, sorry, next time); login root:root ⇒ download; Last Update: 2015-01 (January 2015)

Filesystem tarballs

Pre-made tarball with base system (debootstrap --variant=base) plus a couple of packages, pre-configured except fstab; login root:root ⇒ download; Last Update: 2015-01 (January 2015)

build chroot tarballs

Pre-made tarball with package build system (debootstrap --variant=buildd) and policy-rc.d to deny dæmon start ⇒ download from; Last Update: 2012-12 (December 2012)

Pre-made /var/cache/pbuilder/base.cow image (from “cowbuilder --create”) can be downloaded here. Last Update: 2012-04 (April 2012)


Linux 3.2.35-2 (Debian ABI 3.2(.0)-4) ⇒ download from

We don’t offer later kernels because they require a Debian-generated initrd.


It is currently not possible to simply debootstrap because we require both the “unstable” and “unreleased” suite. A combined repository of both (only the most important gigabyte of packages) is however available, and you can debootstrap from that as follows:


It should be possible to use that and pull directly from official Debian-Ports repositories, from an installed system that’s more up-to-date than etch-m68k. (The only “upgrade” path from etch-m68k we support is un-tarring one of the tarballs above and booting into them.) There’s no multistrap configuration as of yet, but if you know how to write one already, use the following two APT repositories combined into one:

Of course, feel free to paste a working configuration below ;-)

Platform-specific notes

The following Debian releases are available for installation on Amiga, Atari and Mac platforms.

Installation guides are available for the official releases.

Booting and installing Debian/m68k on an Amiga

To boot Debian on Amiga systems, a utility called amiboot is required. There are two commonly used versions of amiboot available, 5.6 and 6.0snapshot. Version 5.6 was shipped up to including Debian Sarge, while Etch and newer releases use 6.0snapshot. However, amiboot 6.0snapshot has some issues (see for example) and it is therefore sometimes advisable to resort to amiboot 5.6 which usually works fine in these cases but requires the kernels to be decompressed prior use. This can be achieved using the UnARC utility part of AmigaOS 3.9 or similar utility from AmiNet.

A typical command line to boot Linux with amiboot looks like this:

amiboot -d -k vmlinuz-3.2.0-4-amiga -r initrd.gz root=/dev/ram video=pal

This enables debugging through serial console, loads the kernel from vmlinuz-3.2.0-4-amiga and the compressed initrd from initrd.gz (both located in the same directory as amiboot in this case) and tells the kernel to set the video output standard to "pal" (use "ntsc" if you're in the US or any other countries which uses NTSC). Omitting the "video=" setting may result in the Amiga video showing a blank screen after booting the Linux kernel.

It can be helpful to redirect the console output to the serial console of the Amiga by adding "console=ttyS0,9600n8" (Note: Use "debug=ser" instead on Kernel 3.10-2-m68k as the kernel may crash otherwise, but it works fine now on more recent kernels like 3.14-1-m68k) to the kernel command line for the first boot attempts if you should have issues with the video output. If everything goes right, the machine should boot into Linux without problems.

It's highly recommended to copy all installer files onto an AmigaOS partition, then running amiboot to boot into Linux. This allows to conveniently edit the command line for amiboot in a Amiga shell script which can later be used to boot into Linux by double-clicking its icon. Editing the amiboot; command line can be necessary when changing the version of amiboot used, enabling serial console or extra debugging (see above). Copying all installer files onto hard disk also helps avoiding problems with SCSI controllers unsupported by Linux which attach the CD-ROM drive used to the Amiga. The very popular Squirrel SCSI PCMCIA adaptor is unsupported on Linux, for example. Accessing installer files on a hard disk will always work (provided that the disk is connected to the internal IDE controller, in case of Amiga 600/1200).

There are several Amiga shell scripts available to boot into Linux for installation, depending on the video card used:

Installation notes for the various graphics cards are supplied in the Amiga installation directory. StartInstall; should work for most users. If no video output can be seen after booting Linux, it may help to use serial console (see above).

After successfully booting into Linux, Debian Installer will start and try to detect the available disks and hardware. In order to do a network installation, a supported network card is required (see for an incomplete list of PCMCIA network cards supported on the Amiga 600/1200, for example; not all PCMCIA network adapters supported by the Linux kernel actually work on Amiga hardware due to a different PCMCIA driver layer used for the Amiga).

A detailed ?HowTo which explains how to install a more recent version of Debian on Amiga is explained here:

Hardware limitations on Atari

4 MiB ST-RAM are not enough. (Although that was for 3.2; we should recheck this with the modularised 3.10 which is much smaller, when loading the initrd into TT-RAM.)

The EtherNAT and EtherNEC patches are not yet in the mainline kernel, and thus also not in the Debian kernel. You can hand-compile your own m68k-queue kernel if you dare and need support for that hardware.

The fbdev driver does not seem to support any of the Atari video modes (yet; an experimental patch is said to have been written).

Installing Debian/m68k on a Macintosh

Michael Tomkins has written about Installation of Debian sid on Quadra 605 from scratch, although he uses slightly older images than which are currently available (and one shouldn’t use the base.cow / “buildd” image, but rather the “base” image, which contains e.g. the DHCP client already, to run the system). Similar instructions for the Quadra 650 exist.

Read also this mailing list thread as it contains important additional information. Remember to use the ‘p’ tar(1) option when extracting the tarballs, i.e. “tar xzpf file.tgz” or similar.

Instructions for installing old Debian releases 2.0, 2.1 and 2.2 on Macs can be found at M68k/Archive. These are mostly kept for posterity; if for some reason an old Linux 2.2 kernel was desired, it would be better to install Debian release 3.1.

Installing Debian/68k in ARAnyM from scratch

Note: This requires a relatively recent version of parted (Debian Stretch or newer).

1. Install required packages on the host machine (as root)

   # apt install aranym parted debootstrap git

2. Create a new folder for ARAnym

   $ mkdir debian-68k
   $ cd debian-68k

3. Run ARAnyM with the GUI and do the initial setup

   $ aranym --gui

4. In ARAnym, first create a new disk image

5. Run parted to create partitions in the newly created disk images (as root)

   # parted/parted debian-68k.img

6. Create a new loop-back device on the host from the disk image file (as root)

   # losetup /dev/loop0 debian-68k.img

   # mkfs.ext4 /dev/loop0p1

7. Mount the disk image and install a minimal Debian/m68k base system into it (as root)

   # mount /dev/loop0 /mnt
   # debootstrap --arch=m68k --foreign --include=apt,nano unstable /mnt
   # umount /mnt

8. Configure ARAnyM to boot the image

   $ $EDITOR debian-68k.cfg

   Present = Yes
   IsCDROM = No
   ByteSwap = Yes
   ReadOnly = No
   Path = debian-68k2.img
   Cylinders = 1058
   Heads = 16
   SectorsPerTrack = 63
   ModelName = Master

9. Configure ARAnyM for Linux

   FastRAM = 768
   Floppy =
   BootstrapArgs =
   BootDrive =
   GMTime = No

   Kernel = vmlinuz-3.16.0-4-m68k
   Args = root=/dev/nfhd8p1 init=/bin/bash rw devtmpfs.mount=1 video=atafb:vga16
   Ramdisk = initrd.img-3.16.0-4-m68k
   LoadToFastRam = No

10. Download kernel and initrd

   $ wget

11. Boot ARAnyM

   $ aranym-mmu -c debian-68k.cfg -l

12. Once ARAnyM has booted up, run the second stage of debootstrap

   # /debootstrap/debootstrap --second-stage

13. Set a root password and a hostname

   # passwd (type new password, twice)
   # echo "aranym-host" > /etc/hostname

14. Shutdown ARAnym

   # sync

15. Boot the system normally

   $ $EDITOR debian-68k.cfg

   $ aranym-mmu -c debian-68k.cfg -l

Installing on qemu-m68k-system

1. Preparing QEMU

# apt-get install qemu-system
# apt-get build-dep qemu
# git clone
# cd qemu-m68k
# ./configure --target-list=m68k-softmmu --disable-glusterfs
# make

2. Preparing the disk image

# qemu-img create -f qcow2 m68k-system.img 40G
# modprobe nbd max_part=8
# qemu-nbd --connect=/dev/nbd0 m68k-system.img
# cfdisk /dev/nbd0 (Partition drive)
# partprobe /dev/nbd0
# mkfs.ext4 -F /dev/nbd0p1
# mount /dev/nbd0p1 /mnt

3. Setting up the m68k chroot

# wget
# tar xf unstable-m68k-20150315.tar.gz 
# rm unstable-m68k-20150315.tar.gz
# rmdir unstable-m68k-20150315/
# mv unstable-m68k-20150315/* .
# ls
bin  boot  dev  etc  home  lib  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
# cd
# umount /mnt
# qemu-nbd --disconnect /dev/nbd0
/dev/nbd0 disconnected

4. Downloading kernel and initrd

# wget

5. Preparing the kernel

# gzip -d -c < vmlinuz-3.16.0-4-m68k > vmlinux-3.16.0-4-m68k

6. Booting QEMU

# qemu-system-m68k -M q800 -serial none -serial mon:stdio -m 1000M -drive file=m68k-system.img,format=qcow2 -net nic,model=dp83932,addr=08:00:07:12:34:56 -net user -nographic -append "root=/dev/sda1 rw console=ttyS0" -kernel vmlinux-3.16.0-4-m68k -initrd initrd.img-3.16.0-4-m68k