-
Notifications
You must be signed in to change notification settings - Fork 23
Building
This page gives a quick guide into getting AROS compiling on your linux machine (yes, sorry no windows instructions just now). The AROS page has generic steps for all operating systems so check there for your platform.
This guide will focus on debian based systems such as Ubuntu or Linux Mint. Perhaps some kind soul could update this with steps for other systems in the future.
First install the necessary packages for running the compilation
sudo apt-get install git-core gcc g++ make cmake gawk bison flex bzip2 netpbm autoconf automake libx11-dev libxext-dev libc6-dev liblzo2-dev libxxf86vm-dev libpng-dev libsdl1.2-dev byacc genisoimage libxcursor-dev gcc-multilib libxxf86vm1:i386
The first step is to clone the repository. This is done with the command:
git clone --recursive https://github.com/ApolloTeam-dev/AROS.git -b master ApolloOS_Master
There is a script for building a clean image and rom in the root of the repository.
./rebuild_all.sh
If you want to build for WinUAE or a non-vampire platform append "--with-nonvampire-support". This will add additional code for running on nonvampire machines.
This should result in a new aros.rom file in the ApolloOS_Master directory and a runnable boot directory in ApolloOS_Master/bin/amiga-m68k/AROS.HUNK.
If you are testing small changes and wish to build the changes to the rom, you can run the script:
./rebuild_rom_quick.sh
If it fails, and on occassion it does, you can try and continue the build with the command:
make -j
make -j distfiles
cat bin/amiga-m68k/gen/boot/aros-amiga-m68k-ext.bin bin/amiga-m68k/gen/boot/aros-amiga-m68k-rom.bin > aros.rom
Holy Cow! Compiling AROS takes a really long time! Yes, you are building an operating system and it does take time. This is annoying if you want to test a small change. Thankfully you don't need to compile everything. If you are making changes to a single component, there is a make target for compiling just that component. This is only possible once you have successfully compiled AROS once. In the case of compiling the sagagfx driver, you can issue the command
make hidd-m68k-sagagfx
This will be faster than building everything. But it can be faster still with this command:
make hidd-m68k-sagagfx-quick
The new-master branch now contains all the necessary steps to build a complete AROS distribution. Simply copy bin/amiga-m68k/AROS.HUNK onto a CF Card. Then boot from this.
If you prefer to use vcontrol, then follow the old steps as follows. Once compilation is complete, you have all the files needed except for "vcontrol" which can be found in the (SAGA Driver)[https://wiki.apollo-accelerators.com/doku.php/saga:updates]. The base OS is built in the directory bin/amiga-m68k/AROS.HUNK. You need to tweak the startup-sequence to make this boot on a vampire. The steps are:
- Edit bin/amiga-m68k/AROS.HUNK/S/Startup-Sequence. Replace the line
boot/amiga/AROSBootstrap ROM boot/amiga/aros.hunk.gz
with
vcontrol mr=boot/amiga/aros.rom
- Copy vcontrol into bin/amiga-m68k/AROS.HUNK/C/
- Copy this content into an Amiga formated partition on a CF Card or hard drive. This will require the use of UAE to mount the directory bin/amiga-m68k/AROS.HUNK inside a virtual amiga. You will need to configure your destination media in UAE as well so you can format it and copy the contents of bin/amiga-m68k/AROS.HUNK there. Make sure you mark the destination partition as bootable.
On first boot, the startup-sequence should map the aros.rom into memory and reboot the amiga. On second boot, AROS should start booting.
The awesome George Sokianos has put together the means to compile ApolloOS within a docker. If this interests you, check out the guide here:
https://github.com/walkero-gr/dde4aros#build-apolloos-for-vampire
When making a bigfix or any other type of change, you should first create a branch for this change with the name "feature_" or "bugfix_" at the beginning. Only a single feature/bugfix/enhancement should be added into this branch. This feature/bugfix branch should be based of master. Once development is completed and testing is successfully, it can be merged into master for final testing along side the other changes. If all works well, this branch can be submitted to the main AROS project as a pull request.
Vampire Accelerators - Making Amiga Great Again!