Saturday 30 January 2016

Setting up KallistiOS on Fedora

KallistiOS (or KOS for short) is the open source SDK for Dreamcast development. It can be a little tricky to understand the installation process so I'm just explaining it here, this is more for my own benefit than anything.

There are instructions for configuring KallisitiOS on the website, but they are focused on installing globally in /opt/ whereas I'm going to explain how to setup KOS in your home folder.


Step 1. Clone all the things


Firstly you need to get the code. KOS and its counterpart library port repository both use GIT. So, let's make a directory called "Dreamcast" and clone those things:

mkdir ~/Dreamcast
cd ~/Dreamcast
git clone git://git.code.sf.net/p/cadcdev/kallistios
git clone --recursive git://git.code.sf.net/p/cadcdev/kos-ports 


At this point you'll have two folders, kallistios and kos-ports. Forget about kos-ports for the time being.

Step 2. Building the toolchain


The "toolchain" is the GCC cross-compiler you need to build for the Dreamcast. There are two architectures to build: sh-elf and arm-eabi.

KOS has some scripts for helping you to build the toolchain, and these are found in the "utils/dc-chain" folder.

The first thing we need to do is alter the installation location to our "~/Dreamcast" folder.

Open "utils/dc-chain/Makefile" in a text editor, near the top of the file you'll find the following lines:

sh_prefix  := /opt/toolchains/dc/$(sh_target)
arm_prefix := /opt/toolchains/dc/$(arm_target)


You'll need to change them to:

sh_prefix  := /home/YOUR_USERNAME/Dreamcast/toolchain/$(sh_target)
arm_prefix := /home/YOUR_USERNAME/Dreamcast/toolchain/$(arm_target)


Now, we need to make sure we have all the required dependencies, run this command first:

sudo dnf builddep gcc
Once that's done, run the following commands:

cd ~/Dreamcast/kallistios/utils/dc-chain
./download.sh
./unpack.sh
make

You'll have to wait for each step to complete in full. Watch for any errors during the build, you may having additional missing dependencies. Hit up Google if that's the case :)

Step 3. Building KOS


OK, at this point you should have a "~/Dreamcast/toolchain" folder with stuff in it. You now need to set up your environment. Run the following commands:

cd ~/Dreamcast/kallistios
cp docs/environ.sh.sample environ.sh

Now open "~/Dreamcast/kallistios/environ.sh" in a text editor and change the KOS_BASE export so it's something like this:

export KOS_BASE="/home/YOUR_USERNAME/Dreamcast/kallistios"

Also change any references to sh-elf or arm-eabi to point to the folders in "~/Dreamcast/toolchain".

Edit your ~/.bashrc file and add the following to the end of it:

source /home/YOUR_USERNAME/Dreamcast/kallistios/environ.sh

Now, open a new terminal, run the following:

cd ~/Dreamcast/kallistios
make

Step 4. Build the ports you need


From now on it's up to you, you can "cd" into the individual ports that you want and run:

make install clean

Everything is now ready to go!

9 comments:

  1. This is a great post. I really liked it, thank you for sharing this information with us. I would like to share this with my friends. Keep it up.

    ReplyDelete
  2. Making a social showcasing plan is simple in the event that you know how an interpersonal organization works. There are a few things to recall while making an arrangement for your business.See More

    ReplyDelete
  3. its really very impressive. I am glad to get the knowledge about it. Other post are also very impressive. Keep sharing. Tik Tok

    ReplyDelete
  4. I recommend using this service if you need to quickly write or finish a written assignment (for example - essay). From my own experience, I can say that to write a quality essay, you need to spend a lot of time. Since I work, I don't have enough free time, so I sometimes use this service. The level of essays from PayForEssay service is high and I was able to successfully pass these assignments at the university. Excellent quality paper at a good price!

    ReplyDelete
  5. This is a really awesome and helpful article for me. I really appreciate your work for providing such useful information, thank you so much! wholesale dairy suppliers

    ReplyDelete
  6. It is so interesting I was searching for this topic for a long time. I read this article very carefully and now I got all my best information for writing a blog on essay writing service dubai. I am so glad that I finally find a blog resemblance to my topic. Thanks for this.

    ReplyDelete
  7. Good morning world, need buy essay for college ?! Our team of professional writers is experienced in a diverse range of English fields, and we specialize in customer service that will ensure you get a personalized experience and an admissions essay that fits your exact vision, only better!

    ReplyDelete
  8. This is great! KallistiOS is a powerful development environment for the Dreamcast, and it's great to see that best assignment services has provided a guide for setting it up on Fedora. Hopefully this will make it easier for more people to get started with Dreamcast development.

    ReplyDelete
  9. Your insights into programming reflect a deep understanding of the digital realm. Similarly, uk assignment help caters to educational needs, offering expert guidance for academic challenges. Just as you navigate coding complexities, these services assist students in mastering subjects. It's a synergy between your programming musings and their commitment to nurturing learning, aligning perfectly with the pursuit of knowledge in today's dynamic landscape.

    ReplyDelete