Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=frugalware-current.git;a=commitdiff;h=c5aeba1d2a07dcc28268c3c506a9eefd814eb942
commit c5aeba1d2a07dcc28268c3c506a9eefd814eb942 Author: Miklos Vajna <vmik...@frugalware.org> Date: Wed Aug 12 00:25:09 2009 +0200 docs: add new 'porting howto' diff --git a/docs/index-devel.txt b/docs/index-devel.txt index f62ac38..274fa34 100644 --- a/docs/index-devel.txt +++ b/docs/index-devel.txt @@ -38,6 +38,8 @@ Documentation: * link:translations.html[Translations] +* link:porting-howto.html[How to port Frugalware to a new architecture] + Appendix: * link:license.html[GNU Free Documentation License] diff --git a/docs/index.txt b/docs/index.txt index 08cd069..3569fd6 100644 --- a/docs/index.txt +++ b/docs/index.txt @@ -79,6 +79,8 @@ Technical documentation: * link:translations.html[Translations] +* link:porting-howto.html[How to port Frugalware to a new architecture] + Appendix: * link:license.html[GNU Free Documentation License] diff --git a/docs/porting-howto.txt b/docs/porting-howto.txt new file mode 100644 index 0000000..c8760d6 --- /dev/null +++ b/docs/porting-howto.txt @@ -0,0 +1,50 @@ += 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-ppc +pkgname=$(pwd|sed 's|.*/||') +ssh genesis "cd git/current/frugalware-ppc; arch=ppc 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. _______________________________________________ Frugalware-git mailing list Frugalware-git@frugalware.org http://frugalware.org/mailman/listinfo/frugalware-git