Differences between revisions 12 and 27 (spanning 15 versions)
Revision 12 as of 2013-10-20 17:58:22
Size: 10674
Editor: ?AdrianGlaubitz
Comment: Added a note regarding serial console with 3.10 kernels and newer
Revision 27 as of 2017-06-13 23:39:18
Size: 16691
Editor: ?AdrianGlaubitz
Comment: Add section on qemu-system-m68k
Deletions are marked like this. Additions are marked like this.
Line 11: Line 11:
Last Update: 2012-04 (April 2012) Last Update: 2015-01 (January 2015)
Line 26: Line 26:
Pre-made ext2fs (384 MiB) with base system (debootstrap --variant=base) plus a couple of packages, pre-configured, includes 128 MiB swapfile; login root:root ⇒ download [[http://people.debian.org/~tg/f/20121227/|from people.debian.org]] ([[https://www.freewrt.org/~tg/f/20121227/|mirror]]); Last Update: 2012-12 (December 2012) 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 ⇒ [[https://people.debian.org/~tg/f/m68k/2015-Jan/Ara2015A.ima.gz|download]]; Last Update: 2015-01 (January 2015)
Line 30: Line 30:
Pre-made tarball with base system (debootstrap --variant=base) plus a couple of packages, pre-configured except fstab; login root:root ⇒ download [[http://people.debian.org/~tg/f/20121227/|from people.debian.org]] ([[https://www.freewrt.org/~tg/f/20121227/|mirror]]); Last Update: 2012-12 (December 2012) Pre-made tarball with base system (debootstrap --variant=base) plus a couple of packages, pre-configured except fstab; login root:root ⇒ [[https://people.debian.org/~tg/f/m68k/2015-Jan/Ara2015A.tar.gz|download]]; Last Update: 2015-01 (January 2015)
Line 34: Line 34:
Pre-made tarball with package build system (debootstrap --variant=buildd) and policy-rc.d to deny dæmon start ⇒ download [[http://people.debian.org/~tg/f/20121227/|from people.debian.org]] ([[https://www.freewrt.org/~tg/f/20121227/|mirror]]); Last Update: 2012-12 (December 2012) Pre-made tarball with package build system (debootstrap --variant=buildd) and policy-rc.d to deny dæmon start ⇒ download [[https://people.debian.org/~tg/f/m68k/20121227/|from people.debian.org]]; Last Update: 2012-12 (December 2012)
Line 41: Line 41:
Linux 3.2.35-2 (Debian ABI 3.2(.0)-4) ⇒ download [[http://people.debian.org/~tg/f/20121227/|from people.debian.org]] ([[https://www.freewrt.org/~tg/f/20121227/|mirror]]) Linux 3.2.35-2 (Debian ABI 3.2(.0)-4) ⇒ download [[http://people.debian.org/~tg/f/20121227/|from people.debian.org]]

We
don’t offer later kernels because they require a Debian-generated initrd.
Line 47: Line 49:
 * get `0x405422DD` from `hkp://pgp.uni-mainz.de` and `0xE99007E0` from the Debian Developers keyring; validate the former with the latter and apt-key add it
 * add 「`deb http://www.freewrt.org/~tg/dp cross main`」 and run apt-get update (or “sid main”, but since we only pull one package from it anyway, it doesn’t matter)
 * install `wtf-debian-keyring` (which is just the same key as above)
Line 51: Line 50:
  * --include must be passed and the packages `debian-ports-archive-keyring` and `wtf-debian-keyring` listed
  * --keyring=/usr/share/keyrings/wtf-debian-keyring.gpg
  * use one of the following mirrors:
   * `http://frozenfish.freewrt.org/~tg/dp`
   * `http://www.freewrt.org/~tg/dp` (also SSL)
  * --include must be passed and the package `debian-ports-archive-keyring` listed
Line 57: Line 52:
 * after debootstrapping, chroot into it and 「dpkg --purge wtf-debian-keyring」 (unless you decide on keeping it)
* pick your favourite [[http://www.debian-ports.org/mirrors|Debian-Ports mirror]] (we’ll be using 「`http://ftp.de.debian.org/debian-ports`」) and create an /etc/apt/sources.list inside the chroot with, at the '''very''' least, the following two lines:
 * pick your favourite [[https://www.ports.debian.org/mirrors|Debian unofficial ports mirror]] (we’ll be using 「`http://ftp.de.debian.org/debian-ports`」) and create an /etc/apt/sources.list inside the chroot with, at the '''very''' least, the following two lines:
Line 62: Line 56:
 * You may also purge `wtf-debian-keyring` and the repository from the “host” if you wish ☺
 * Read the files linked on https://www.freewrt.org/~tg/dp/sources.txt
Line 68: Line 60:
 * pick your favourite [[http://www.debian-ports.org/mirrors|Debian-Ports mirror]] (we’ll be using 「`http://ftp.de.debian.org/debian-ports`」)  * pick your favourite [[https://www.ports.debian.org/mirrors|Debian unofficial ports mirror]] (we’ll be using 「`http://ftp.de.debian.org/debian-ports`」)
Line 76: Line 68:
== 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 [[http://lists.debian.org/debian-68k/2013/04/msg00037.html]] 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 //kernels/vmlinuz-3.2.0-4-amiga -r //cdrom/initrd.gz root=/dev/ram fb=false

This enables debugging through serial console, loads the kernel from ../../kernel/vmlinuz-3.2.0-4-amiga and the compressed initrd from ../../cdrom/initrd.gz and disables the framebuffer. 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 or newer as the kernel may crash otherwise) to the kernel command line for the first boot attempts. It also helps when there is no video coming up due to a flicker fixer installed. If everything goes right, the machine should boot into Linux without problems.

The following Debian releases are available for install on Amiga:

  * [[http://archive.debian.org/debian/dists/Debian-2.0/main/disks-m68k/current/amiga/]] Debian 2.0
  * [[http://archive.debian.org/debian/dists/Debian-2.1/main/disks-m68k/current/amiga/]] Debian 2.1
  * [[http://archive.debian.org/debian/dists/Debian-2.2/main/disks-m68k/current/amiga/]] Debian 2.2
  * [[http://archive.debian.org/debian/dists/Debian-3.0/main/disks-m68k/current/amiga/]] Debian 3.0
The following Debian releases are available for installation on Amiga, Atari and Mac platforms.

  * [[http://archive.debian.org/debian/dists/Debian-2.0/main/disks-m68k/current/]] Debian 2.0
  * [[http://archive.debian.org/debian/dists/Debian-2.1/main/disks-m68k/current/]] Debian 2.1
  * [[http://archive.debian.org/debian/dists/Debian-2.2/main/disks-m68k/current/]] Debian 2.2
  * [[http://archive.debian.org/debian/dists/Debian-3.0/main/disks-m68k/current/]] Debian 3.0
Line 96: Line 78:
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 unsupported SCSI controllers 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). Installation guides are available for the official releases.

  * [[http://www.debian.org/releases/slink/m68k/install]]
  * [[http://www.debian.org/releases/potato/m68k/install]]
  * [[http://www.debian.org/releases/woody/m68k/install]]
  * [[http://www.debian.org/releases/sarge/m68k/]]

== 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 [[http://lists.debian.org/debian-68k/2013/04/msg00037.html]] 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).
Line 110: Line 111:
A detailed HowTo which explains how to install a more recent version of Debian on Amiga is explained here: [[http://www.amiga.org/forums/showthread.php?t=65146]].
Line 123: Line 126:

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 ==

1. Install required packages on the host machine (as root)
{{{
   # apt install aranym parted debootstrap git
   # apt build-dep parted
}}}
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

   * Click "Disks"
   * Click "Path:"
   * In the "Choose a file" dialog, type an image filename after "File:",
     for example "debian-68k.img", then click "OK"
   * In the field "Disk Size:", enter the desired disk image size in Megabytes
   * Click "Generate Disk Image"
   * Write down the Geometry data, that is the value for Cylinders, Heads and
     Sectors per track (not sure if necessary)
   * Tick the option "Present"
   * Click "Apply"
   * Click "Shutdown" to close ARAnym

5. Build a patched version of parted from source
{{{
   $ git clone https://github.com/glaubitz/parted.git
   $ cd parted
   $ ./bootstrap
   $ ./configure --disable-gcc-warnings
   $ make
}}}
6. Run parted to create partitions in the newly created disk images (as root)
{{{
   # /path/to/parted-git/parted/parted debian-68k.img
}}}
   * Type "mklabel atari" to create an empty partition table
   * Type "u", then "b" to switch the units to bytes
   * Create an ext3 partition with "mkpart":
     - Type "primary" for the type
     - Type "ext3" for the filesystem
     - Type "0" for the start
     - Type a number dividable by 1024 for the end,
       e.g. type "21474836480" for a 20 GiB partition
   * Create a swap partition with "mkpart"
     - Type "primary" for the type
     - Type "linux-swap" for the filesystem
     - Type the end block of the first partiion
       as start, e.g. "21474836480"
     - Type a number dividable by 1024 for the end,
       then add this value to the start value
       e.g. type "25769803776" for a 4 GiB swap
       partition after the first partition
   * Exit parted by typing "quit"

7. Create a new loop-back device on the host from the disk image file (as root)
{{{
   # losetup /dev/loop0 debian-68k.img
}}}
   * The two partitions should now show up as:

     - /dev/loop0p1
     - /dev/loop0p2

   * Create a new ext4 filesystem on the primary partition
{{{
   # mkfs.ext4 /dev/loop0p1
}}}
8. 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 http://ftp.de.debian.org/debian-ports
   # umount /mnt
}}}
9. Configure ARAnyM to boot the image

   * Create a new text file for the ARAnyM configuration
{{{
   $ $EDITOR debian-68k.cfg
}}}
   * Use the values for Cylinders, Sectors and Heads from step 4.
{{{
   [IDE0]
   Present = Yes
   IsCDROM = No
   ByteSwap = Yes
   ReadOnly = No
   Path = debian-68k2.img
   Cylinders = 1058
   Heads = 16
   SectorsPerTrack = 63
   ModelName = Master
}}}
10. Configure ARAnyM for Linux
{{{
   [GLOBAL]
   FastRAM = 768
   Floppy =
   BootstrapArgs =
   BootDrive =
   GMTime = No

   [LILO]
   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
}}}
11. Download kernel and initrd
{{{
   $ wget https://people.debian.org/~glaubitz/chroots/kernels/initrd.img-3.16.0-4-m68k
   $ https://people.debian.org/~glaubitz/chroots/kernels/vmlinuz-3.16.0-4-m68k
}}}
12. Boot ARAnyM
{{{
   $ aranym-mmu -c debian-68k.cfg -l
}}}
13. Once ARAnyM has booted up, run the second stage of debootstrap
{{{
   # /debootstrap/debootstrap --second-stage
}}}
   * This takes quite some time, especially the unpacking of the base system

14. Set a root password and a hostname
{{{
   # passwd (type new password, twice)
   # echo "aranym-host" > /etc/hostname
}}}
15. Shutdown ARAnym
{{{
   # sync
}}}
   * Close the ARAnyM window to kill the emulator

16. Boot the system normally
{{{
   $ $EDITOR debian-68k.cfg
}}}
   * Remove the line "init=/bin/bash" from the "Args" line
   * Save the file and exit editor
{{{
   $ 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 https://github.com/vivier/qemu-m68k.git
# cd qemu-m68k
# ./configure --target-list=sh4-linux-user --static --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 https://people.debian.org/~glaubitz/chroots/unstable-m68k-20150315.tar.gz
# 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 https://people.debian.org/~glaubitz/chroots/kernels/vmlinuz-3.16.0-4-m68k https://people.debian.org/~glaubitz/chroots/kernels/initrd.img-3.16.0-4-m68k
}}}

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
}}}

----
CategoryPorts

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

Installing Debian/m68k

Quickstart

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

http://people.debian.org/~wouter/d-i/ 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 people.debian.org; 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)

Kernels

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

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

Debootstrap

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:

  • run debootstrap with several additional options:
    • --include must be passed and the package debian-ports-archive-keyring listed

    • use “sid” as suite
  • pick your favourite Debian unofficial ports mirror (we’ll be using 「http://ftp.de.debian.org/debian-ports」) and create an /etc/apt/sources.list inside the chroot with, at the very least, the following two lines:

    • deb http://ftp.de.debian.org/debian-ports unstable main

    • deb http://ftp.de.debian.org/debian-ports unreleased main

  • Now you can run dselect update, apt-get --purge dist-upgrade, etc. (with eatmydata if you wish)

Multistrap

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:

  • pick your favourite Debian unofficial ports mirror (we’ll be using 「http://ftp.de.debian.org/debian-ports」)

    • deb http://ftp.de.debian.org/debian-ports unstable main

    • deb http://ftp.de.debian.org/debian-ports unreleased main

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 http://lists.debian.org/debian-68k/2013/04/msg00037.html 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:

  • StartInstall - Amiga chipset graphics

  • StartInstall_CV3D - Cybervision 3D graphics

  • StartInstall_CV64 - Cybervision 64 graphics

  • StartInstall_clgen - Cirrus Logic graphics

  • StartInstall_retz3 - Retina Z3 graphics

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 http://www.g-mb.de/pcmcia_e.html 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: http://www.amiga.org/forums/showthread.php?t=65146.

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 x.org 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

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

   # apt install aranym parted debootstrap git
   # apt build-dep parted

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

  • Click "Disks"
  • Click "Path:"
  • In the "Choose a file" dialog, type an image filename after "File:",
    • for example "debian-68k.img", then click "OK"
  • In the field "Disk Size:", enter the desired disk image size in Megabytes
  • Click "Generate Disk Image"
  • Write down the Geometry data, that is the value for Cylinders, Heads and
    • Sectors per track (not sure if necessary)
  • Tick the option "Present"
  • Click "Apply"
  • Click "Shutdown" to close ARAnym

5. Build a patched version of parted from source

   $ git clone https://github.com/glaubitz/parted.git
   $ cd parted
   $ ./bootstrap
   $ ./configure --disable-gcc-warnings
   $ make

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

   # /path/to/parted-git/parted/parted debian-68k.img
  • Type "mklabel atari" to create an empty partition table
  • Type "u", then "b" to switch the units to bytes
  • Create an ext3 partition with "mkpart":
    • - Type "primary" for the type - Type "ext3" for the filesystem - Type "0" for the start - Type a number dividable by 1024 for the end,
      • e.g. type "21474836480" for a 20 GiB partition
  • Create a swap partition with "mkpart"
    • - Type "primary" for the type - Type "linux-swap" for the filesystem - Type the end block of the first partiion
      • as start, e.g. "21474836480"
      - Type a number dividable by 1024 for the end,
      • then add this value to the start value e.g. type "25769803776" for a 4 GiB swap partition after the first partition
  • Exit parted by typing "quit"

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

   # losetup /dev/loop0 debian-68k.img
  • The two partitions should now show up as:
    • - /dev/loop0p1 - /dev/loop0p2
  • Create a new ext4 filesystem on the primary partition

   # mkfs.ext4 /dev/loop0p1

8. 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 http://ftp.de.debian.org/debian-ports
   # umount /mnt

9. Configure ARAnyM to boot the image

  • Create a new text file for the ARAnyM configuration

   $ $EDITOR debian-68k.cfg
  • Use the values for Cylinders, Sectors and Heads from step 4.

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

10. Configure ARAnyM for Linux

   [GLOBAL]
   FastRAM = 768
   Floppy =
   BootstrapArgs =
   BootDrive =
   GMTime = No

   [LILO]
   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

11. Download kernel and initrd

   $ wget https://people.debian.org/~glaubitz/chroots/kernels/initrd.img-3.16.0-4-m68k
   $ https://people.debian.org/~glaubitz/chroots/kernels/vmlinuz-3.16.0-4-m68k

12. Boot ARAnyM

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

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

   # /debootstrap/debootstrap --second-stage
  • This takes quite some time, especially the unpacking of the base system

14. Set a root password and a hostname

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

15. Shutdown ARAnym

   # sync
  • Close the ARAnyM window to kill the emulator

16. Boot the system normally

   $ $EDITOR debian-68k.cfg
  • Remove the line "init=/bin/bash" from the "Args" line
  • Save the file and exit editor

   $ 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 https://github.com/vivier/qemu-m68k.git
# cd qemu-m68k
# ./configure --target-list=sh4-linux-user --static --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 https://people.debian.org/~glaubitz/chroots/unstable-m68k-20150315.tar.gz
# 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 https://people.debian.org/~glaubitz/chroots/kernels/vmlinuz-3.16.0-4-m68k https://people.debian.org/~glaubitz/chroots/kernels/initrd.img-3.16.0-4-m68k

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


CategoryPorts