CRUX PPC 3.0 released!

CRUX PPC LogoCRUX PPC 3.0 is now available. Toolchain ships with Graphite support (PPL backend) and also with LTO (Link Time Optimization).
CRUX PPC 3.0 is released as two different archives: 32bit and 64bit. The 32bit version is based on a single lib toolchain instead the 64bit one comes with a multilib toolchain. These two versions share the same ports tree.

Download and more information on the official website: http://cruxppc.org

 

CRUX PPC 2.6 released

CRUX PPC 2.6 is now available. It works on Apple 32bit “NewWorld” G3/G4 and Apple 64bit G5, Genesi PegasosII and Efika, Acube Sam440ep, IBM RS/6000 CHRP (604e), YDL Powerstation, IBM Intellistation POWER, and IBM pSeries RS64/POWERn.
CRUX PPC 2.6 is, as usual, released via two different installation ISO: 32bit and 64bit. The 32bit version is based on a single lib toolchain instead the 64bit one comes with a multilib toolchain. These two versions share the same ports tree.
See the download page!

CRUX PPC 2.5 Released

CRUX PPC 2.5 is now available. Supports Apple 32bit “NewWorld” G3/G4 and Apple 64bit G5, Genesi PegasosII and Efika, Acube Sam440ep, IBM RS/6000 CHRP32 (604e), YDL Powerstation, IBM Intellistation POWER, and IBM pSeries RS64/POWERn.
CRUX PPC 2.5 is released as two different installation ISO: 32bit and 64bit. The 32bit version is based on a single lib toolchain instead the 64bit one comes with a multilib toolchain. These two versions share the same ports tree.
To increase CRUX PPC usability on pSeries, starting from 2.5 we do provide ports for some IBM utils.
See the download page!

CRUX PPC 2.5 Release Candidate 4

It’s time for a new (and we hope the last one) release candidate for CRUX PPC 2.5. This release candidate implements all the changes introduced in CRUX PPC Release Candidate 3.

From this release candidate we provide a full support for IBM pSeries machines (since we bought a second hand IBM Intellistation 2-way POWER4+ workstation).

Please test it:

The 32bit version:
ftp://ftp.cruxppc.org/cruxppc/test/crux-ppc-2.5rc4.iso
ftp://ftp.cruxppc.org

The 64bit version:
ftp://ftp.cruxppc.org/cruxppc/test/crux-ppc64-2.5rc4.iso
ftp://ftp.cruxppc.org/cruxppc/test/crux-ppc64-2.5rc4.iso.md5

Please give us feedback on the CRUX PPC forum: http://www.cruxppc.org/forum/viewtopic.php?f=2&t=220

Making ilenia update local repositories

After about two years I felt the time to add a new feature to ilenia was came. On every systems were I’ve installed CRUX (or CRUX PPC) on I use local repositories for storing ports written by me for that system or ports selected by other repositories (“contrib” for example), while there is an automatic system to update harmlessly ports written by me it’s possible to update the other ones by downloading them from their own repositories.

The scenario likes the one described for the “Mult” repository driver written by sepen (http://crux.nu/Wiki/Mult), but I think it’s needed to add a new kind of repository while we can just build a system to update local repositories.

Of course local repositories should get updated together with other ones, so the tool (for my systems) that should update local repositories is ilenia and I made ilenia update local repositories.

When updating a local repository, ilenia looks for a shell script in the repository root called “.updater.sh”, if that file exists ilenia run it in the repository root.

For example on lazarus.cruxppc.org we have :

#
# /etc/ports/lazarus.local
#

PATH=/home/ports

# End Of File

And the script:

#
# /home/ports/.updater.sh
#

# ilenia
rsync -aqz cruxppc.org::ports/core/2.5/ilenia/ ilenia

# logrotate
rsync -aqz crux.nu::ports/crux-2.5/contrib/logrotate/ logrotate

# php-gd
rsync -aqz crux.nu::ports/crux-2.5/contrib/php-gd/ php-gd

# End Of File

To use the new feature you can patch ilenia-3.4 with ilenia-3.4.diff that has also some early bugfixes already released.

Probably I should roll up a new release …

CRUX PPC 2.5 Release Candidate 3

Remember this CRUX PPC full 64bit is coming soon? I was trying to build a full 64bit CRUX PPC system (and intallation iso). Now we got it!

CRUX PPC 2.5 Release Candidate 3 is distribued as two different installation iso, one for 32bit systems and another one for the 64bit ones. The 64bit version isn’t just a recompilation of the 32bit: the 32bit version is based on a single lib toolchain, instead the 64bit one comes with a multilib toolchain. As discussed in the precedent post, the two versions share the same ports tree, infact a little subset of ports need some changes for using on the different platform, for example the toolchain ports (binutils, glibc, gcc, libgmp, libmpfr); to know for which platform the ports is being compiled we relay to the bash environment variable HOSTTYPE (and MACHTYPE). These variables are setted automatically by bash with the value obtained on compile time as the host for which it is being compiled. For not breaking the strange ring we need to “force” the bash port to compile for the hosttype on which we’re compiling it.

Many packages although being built using the same Pkgfile can significantly differ in footprint if they’re built on 32bit or 64bit system (think at /usr/lib and /usr/lib64 and so on), so we provide two footprint for every port, on for 32bit host and another one for 64bit host. A little change in pkgmk had been needed: pkgmk should look at .footprint.$HOSTTYPE and no at .footprint anymore. This is a little change but it could be the base for an unified multiarchitecture ports tree (or I hope so)!

With this little hack we can use the same ports tree and we can’t risk to mess the system with 32 and 64bit binaries.

The 32bit is based on a single lib toolchain to provide a lighter system, I guessed that no one that is using a 64bit machine wants to run a 32bit system if it’s disponible the same system with 64bit binaries. Instead the 64bit version is based on a multilib toolchain so it is made possible to build binaries for powerpc32 on 64bit machines (think, for example, at me: building binaries for the Sam440ep on the YDL PowerStation).

But now, it’s time to test it:

The 32bit version:

http://cruxppc.crux.it/~cjg/crux-ppc-2.5rc3.iso

http://cruxppc.crux.it/~cjg/crux-ppc-2.5rc3.iso.md5

The 64 bit version:

http://cruxppc.crux.it/~cjg/crux-ppc64-2.5rc3.iso

http://cruxppc.crux.it/~cjg/crux-ppc64-2.5rc3.iso.md5

Warning: the 32bit version doesn’t boot on 64bit hosts.

Please give us feedback on the CRUX PPC forum: http://cruxppc.sunsite.dk/forum/viewtopic.php?t=220

CRUX PPC 2.5 Release Candidate 2

CRUX PPC 2.5rc2 is now available.

CRUX PPC 2.5rc2 32/64 bit multilib includes kernel-2.6.28.5, glibc 2.8, gcc 4.3.3 and binutils 2.19.1 .

please stay tuned and give us a feedback on the forum topic: http://cruxppc.sunsite.dk/forum/viewtopic.php?t=220

ftp://ftp.crux.it/cruxppc/test/crux-ppc-2.5rc2.iso
ftp://ftp.crux.it/cruxppc/test/crux-ppc-2.5rc2.iso.md5