This is a step by step guide to installing AmigaOS4 and GNU/Linux Debian on separate harddisks.
Notes
- I am not a Linux expert. Far from it. I am not saying this is the only, best or most efficient way to do this. I am just saying it worked for me.
- I don't have a Sil card so I can't verify that the SIL instructions work.
- It is not currently possible to install OS4 using an SiI680 IDE card. Debian, however, can be installed using such a card. Details on how to add SiI680 support are given throughout the guide.
- With regard to SiI680 support generally, see IntuitionBase's SII support.
- Specific notes for those who intend to use a motherboard-mounted VIA controller (as found on the AmigaOne-XE) are also included in this guide.
This guide is provided with no warranty whatsoever; the author assumes no responsibility for any possible damage, physical or otherwise, resulting from following the steps outlined here. Readers should note that there is a DMA problem when using GNU/Linux on the AmigaOne-XE models (possibly not on the micro-A1 - so far, test details are still lacking) which may lead to data corruption or loss. This guide outlines steps to be taken to avoid this, but this is no guarantee that all problems will be avoided. You should most certainly make backups of any data which you wish to preserve prior to following any of the steps detailed here.
This guide may, of course, be freely distributed.
This guide was adapted from the guide for installing OS4 and Linux on the same hard disk by William 'WilleKe/ntm' White. I was too lazy to write it from scratch! ;-)
Requirements
You will require the following:
- An AmigaOne with at least version 1.0.0 of the firmware.
- Some spare room on your OS4 hard drive.
- Linux already installed on a different hard drive than OS4
Recommended - the latest OS4 update CD available from http://www.hyperion-entertainment.biz(registered users only; SiI680 users require this).
UBoot
- Halt the boot countdown by pressing a key other than enter.
- Enter the Boot Sequence section
- Select Amiga Multiboot Options then Configuration (erase the config name, usually "default")
- Also, make a note of your Linux boot args ("root=/dev....). You will need them later.
Installing OS4
Begin installing OS4 in accordance with the OS4 installation guide, if you haven't already.
When partitioning the harddisk, be sure to create:
- At least one partition for OS4
- At least one partition for Debian (filesystem-identifier: 4C4E5800 [LNX\00]); this must be made bootable.
- A swap partition for Debian (filesystem-identifier: 53575000 [SWP\00])
- I don't know what the minimum size for these should be. I made mine 1/2 gig each.
Note that these are minimum requirements. The OS4 installation guide also mentions OS4 swap space, for example.
You may also want to make a swapdata partition to swap files between Linux and OS4 (DOS 3, 512 blocks, buffers to 500, automount, whatever size you like); create other partitions as you require.
If you need to re-size partitions you've already created, be sure to backup any data as you will lose data on partitions that are resized.
Make a note of the order of the partitions. Note that Amiga numbers partitions starting with "0" (ex. "DH0", DH1", etc), and Linux starts them with "1" ("HDB1", "HDB2", etc).
Complete the OS4 installation (if you haven't already).
Install any OS4 updates you have including the SLB.
If you made a swap data partition, reboot OS4 and quick format that partition.
Debian
Shut down OS4 and boot Linux as usual.
If you want to want to download the image file and kernel via the internet, do that now. Otherwise you can download them directly via the shell.
The following points should be noted:
Debian addresses harddisk as /dev/hdX. 'X' is determined as follows:
Harddisk plugged into primary IDE port, master - /dev/hda
Harddisk plugged into primary IDE port, slave - /dev/hdb
Harddisk plugged into secondary IDE port, master - /dev/hdc
Harddisk plugged into secondary IDE port, slave - /dev/hdd
Debian addresses partitions as /dev/hdXY; thus the first primary partition is /dev/hdX1, the second /dev/hdX2, and so on.
Using the information above, determine the name of the Debian root partition you just made in OS4 (/dev/hdXY).
NOTE: this is a rather cut down explanation of naming; see, for example, http://linux.org.mt/article/partnames for further details.
VIA users: When setting the bootargs variable, it is recommended that you include:
ide=nodma; thus, for example:
setenv bootargs root=/dev/hda4 video=radeon:1024x768-8@70 l2cr=0x80000000 ide=nodma
Make a note of the full bootargs variable setting.
Enter a Linux shell. If you did not log in as root, enter super user mode (enter "su" then the root password)
Decide on a name for your new partition. It doesn't matter what you use because no-one but you will see it. Try to pick something easy to type. Also note that Linux filenames ARE case sensitive.
cd /
mkdir name
If you made a swapdata partition, choose a name and make a dir for that too.
mkdir name2
Then use nano to edit the fstab file.
nano /etc/fstab
(if you don't have nano you can get it with "apt-get install nano" assuming you are connected to the Internet)
Add a line as shown in the example below. Replace "hdb7" with the harddisk address of the bootable Linux partition you just made in OS4 and "name" with the name you chose.
/dev/hdb7 /name ext3 user,noauto 0 0
Note: use TAB to switch between columns.
If you make a swapdata partition, you can make an entry for that too. It's similar except the entry for 'type' should be "affs". You can also change 'noauto' to "auto" if you want it to be mounted automatically every time. Otherwise you will have to manually mount it. It's up to you. Of course change "hdb9" and "name2" as appropriate. Example:
/dev/hdb9 /name2 affs user,auto 0 0
Use CTRL-X to exit nano and Y to save your changes
Next you need to format the new partition. That is done with "mkfs.ext3" followed by your device. Example:
mkfs.ext3 /dev/hdb7
You don't need to format the swapdata partition in Linux (if you do, OS4 won't be able to read it).
mount /name
cd /name/
{copy kernel and img to partition}
Now you need to get the kernel and modules installed. There are 2 ways to do it. If you have an Internet connection with Linux of your A1 the easiest way is with the 'wget' command. Type the following lines replacing "name" with your drive's name:
cd /name/ (if you haven't already)
wget http://amigaone-linux.sourceforge.net/modules-2.4.26.tgz (downloads the modules)
tar xvzf modules-2.4.26.tgz (extracts the modules)
cd /name/boot/
wget http://amigaone-linux.sourceforge.net/kernel-2.4-26.img (downloads the kernel image)
The other way if you already have the files on your hard drive or on a CD requires you to know the exact path to the files. In the example replace "path" with the path to the file and "name" with you drive's name:
cd /name/ (if you haven't already)
tar xvzf /path/modules-2.4.26.tgz (extracts the modules)
cd /name/boot/
cp /path/kernel-2.4.26.img /name/boot/ (copies the kernel image)
Next you need to make the config file.
cd /name/boot/ (if you haven't already)
nano a1boot.conf (a1boot.conf is the boot configuration file for Debian on the AmigaOne).
VIA users: enter the following line:
���Linux /boot/kernel-2.4.26.img
followed by the bootargs as mentioned in step 1 of this section.
Note: "Linux" is just the label that will be shown in the boot menu. You can replace "Linux" with whatever you like ("Debian", "Sarge", "Moose", whatever)
An example line:
Linux /boot/kernel-2.4.26.img root=/dev/hda4 video=radeon:1024x768-8@70 l2cr=0x80000000 ide=nodma
If you have more than one Linux install (a Stable and a Testing for example) you can make a separate like for the other one too. Just change the "root=..." and make a different label ("Linux2" maybe). Example:
Linux2 /boot/kernel-2.4.26.img root=/dev/hda2 video=radeon:1024x768-8@70 l2cr=0x80000000 ide=nodma
SiI680 users: enter the following line:
Linux-SiI680 /boot/kernel-2.4.26.img
followed be the bootargs as mentioned in step 1 of this section; if you intend only to use the IDE ports on the SiI680, replace ide=nodma with ide=reverse (this will ensure that the naming as described in step 1 of this section still holds true), and add the options hde=noprobe and hdf=noprobe (ensures that the AmigaOne's internal IDE ports are not probed).
An example line for SiI680 users (>> indicates the line continues):
Linux-SiI680 /boot/kernel-2.4.26.img root=/dev/hda4 >>
video=radeon:1024x768-8@70 l2cr=0x80000000 ide=reverse hde=noprobe hdf=noprobe
Press the key combination CTRL X followed by the Y key and then the ENTER key to exit and save the file.
Next to double check the files. Enter the following 2 commands:
cd /name/
ls (the Linux version of the 'Dir' command)
You should see 'boot' and 'lib' if all went well. You may also see 'modules-2.4.26.tgz'. The 'modules-2.4.26.tgz' file is no longer needed. You can delete it if you want ("rm modules-2.4.26.tgz") or you can leave it there. It won't hurt anything. Now one more check. Enter:
cd /name/boot/
ls
You should see 'a1boot.conf' and 'kernel-2.4.26.img'. If so, you should be good. If not either you didn't follow the directions correctly or I made a mistake writing them :-). To exit the shell type "exit". If you were in super user mode then "exit" just takes you back to the 'standard' shell. Enter "exit" again to quit the shell completely.
To use the swapdata partition in a Linux shell just type "mount /name2". From a KDE desktop, right-click on the desktop and select create new hard disk device. Right-click on the new icon. Change the name to whatever you like. Under properties, make sure it points to the right partition (which would be "/dev/hdb9" in my example). Click OK. When you double click on it, it should mount and be ready for use.
Shut down Linux and power-off your A1. Wait at least 30 seconds before restarting to make sure the memory is cleared out.
On boot, (cross your fingers!) you should now be presented with a menu along the following lines:
1: Amiga OS4 (Default)
2: Amiga OS4 (Debug)
3: Linux
4: Linux-SiI680
(If you don't get both OS4 and Linux options in the menu, double check the directions. If you get the menu but Linux doesn't boot properly there is probably a mistake in the bootargs you entered)
You can use the arrow keys, number keys and ENTER key to navigate and select your OS. Congratulations! You Got-R-Done. Cheer, wave your hands in the air, do a little dance, etc...
Conclusion
The original guide was drawn up with the help of the amigaworld.net thread "OS4 & Debian dual booting experience (edited)". Thanks goes to all those who contributed. I edited that guide to make this one.
Original written by: William 'WilleKe/ntm' White
This one by Al 'Racer X' Metz
Last updated: October 14, 2005.
Edited: Jonathan Haddock
Published: 21st December 2005