= How to port Frugalware to a new architecture == Introduction This document is a draft about how to port Frugalware to a new architecture. == Toolchain * Install any existing distro to the given architecture. No matter what kind of it, but make sure you install the normal development tools like header files, gcc, make, etc. * Compile from source (based on the FrugalBuilds) our development tools like pacman-g2, pacman-tools (+ deps: libarchive, etc if they are not available.) * Build a minimal toolchain: binutils, gcc, glibc (in this order) outside chroot, with dep checking disabled (makepkg -dHcu). * Build packages which are necessary to build in chroot: see the COREPKGS variable in /etc/makepkg.conf (same makepkg switches). Given that repoman won't allow you to upload which are not built in chroot, here is a simple script to upload and register then till you don't have a chroot: ---- #!/bin/sh scp *.fpm genesis:git/current/frugalware-NEWARCH pkgname=$(pwd|sed 's|.*/||') ssh genesis "cd git/current/frugalware-NEWARCH; arch=NEWARCH updatesync upd frugalware-current.fdb ../source/*/$pkgname/FrugalBuild" ---- Replace genesis with the server name and git/current with an other path if you don't have such a symlink in your HOME. Now you can start building in chroot and uploading real packages. NOTE: Yes, this means that you have to build the toolchain twice. Also known as 'bootstrapping'. == Base system You should start porting with packages from the 'base' category, once you are done with it, you should be able to install (manually) a bootable system, after manually configuring a boot manager. == The rest That depends on your needs, you can port additional packages as well.