Release!

Eventually nemesi, libnemesi and fenice got their new release. This is the last release of the old fenice codebase since we already migrated all the changes to the new one and we are trying make the neo-fenice or fenice-ng or fenice-2 (HELP we need a saner name!) leaner meaner and overall better (featuring libavformat and other libraries since reinventing the wheel is BAD).

nothing much to say =)

step by step…

Looks like booting linux on the ps3 is more or less easy once you figure out the right kernel and the right configuration.

So far http://whitesanjuro.googlepages.com/ got the system booting first using the .16 sources while others acting as guineapig are help me figuring out what is missing and what to do about ps3 and more recent kernels.

Hopefully newlib fixes to build with gcc-fsf will get committed soon and people could start playing with spu coding using the mainline gcc.

there are two new section on powerdeveloper

http://www.powerdeveloper.org/forums/viewforum.php?f=49
http://www.powerdeveloper.org/forums/viewforum.php?f=50

I hope to get some success post and/or inquiries there =)

That’s all for today

Playstation 3!

Some lucky people in Japan got their already, us pitiful European will have to wait a bit more…

Anyway with the release some new toys had appeared already and I already started packaging them =)

Currently my overlay has already ebuilds for the spe-examples, the documentation and some updated kernel sources (arnd sources vanilla for now).

Other useful stuff are the patches to support the Playstation 3 bootloading system (that is quite interesting it itself) and obviously the boot image (provided as iso)

Congratulations to everybody responsible to this timely release, I’m looking forward new surprises (and the rest of the updated toolchain =))

(PS: if somebody with a ps3 is willing to be an early specimen^W ehm, tester for gentoo please contact me and I’ll try to produce a quick test image with the minimal stuff with the tools we have now, edit: some more at http://overlays.gentoo.org/dev/lu_zero )

Bad news = good news?

Today with the help of a lucky owner of a ps3 I managed to discover (reading the kboot script would lead to the same knowledge, note to self) that kboot is a real shell after all, so installing gentoo should be easy, BUT:

– gcc-4.1.1 seems to deplete all the memory -> I’ll provide a build of it
– glibc-2.5 needs a patch to build with gcc-4.3 (the dreaded extern inline issue)
– newlib got coded using a gcc that let you do things you shouldn’t, gcc-fsf as usual is more strict… (I hopefully fixed it already and I’ll post a patch for it soon)
– gcc-4.3 seems to be almost ok beside a nice ICE while building newlib (I’m trying to create a testcase right now)

In short, gentoo almost installed on a ps3 today, BUT I’ll have to figure out why gcc is depleting that much memory and why enabling swap isn’t helping at. [edit: swap wasn’t enabled …]

In the mean time I’ll try to build some tbz2 you could use to avoid the memory depletion issue. (note to sony, have a memory expansion for non-game usage)

Digging the kboot for playstation3

Probably some of us already read about how the playstation3 firmware runs linux (the “OtherOS”)

Some insight:

1- it uses as bootloader a very minimal linux system that then loads the right kernel using the kexec call (yai!, after the gamecube the other ppc platform with kexec implemented is the playstation3…)
2- the instructions obviously are scarce and seems to point out that the provided loader has a nice script to install just one kind of distro (I’ll let the reader the exercise of guessing witch) and doesn’t seem to provide anything useful if you happen to prefer something else…
3- [update] you can access the busybox shell from kbuild and just install gentoo the usual way (suggested using recent ppc64 stage3 and then build a cell-sources kernel using the cell_defconfig)

The kboot is quite neat in itself: it has a great deal of features (like ssh or tftp) and uses pretty standard tools (busybox, linux, kexec-tools, dropbear) plus something specific (the ps3pf-utils).

I’ll add the ps3pf-utils once I have them mirrored on powerdeveloper and maybe adding an unofficial svn/git for it and libspe2 (since looks like they will be improved a lot in the next weeks and keeping track fo the patches is a bit easier this way)

YAGU – Yet another global update

– Ps3/Cell: I eventually fixed the binutils in order to get it build for spu-elf, I’m about to unbreak better gcc since someone thought NOTE_INSN_EXPECTED_VALUE wouldn’t be of any use, while the spu.md is using it for the cmp instructions… (needless to say my workaround isn’t working that well…), tomorrow hopefully I’ll update the patchset either with the revert of this patch or with a proper solution (hard since I’m not that proficient in gcc internals =/), I’m afraid of glibc…

– Fenice/lscube: trac + git is a no go, trac itself or setuputils on the fedora server that is streaming is from bad to idiotic or maybe it’s just me unproficient, add also that gitweb seems unavailable as fedora and you get an interesting picture, importing is easy, working almost (once everybody figures the commands), so there some uncertain about a full transition.

– Personal life: You can use anything happens to you to improve, still I’m afraid I won’t develop the ability to teleport and/or timeshift in order to improve the situation, anyway I’m unfeeling better.

– University: I’m forced to do something in mono for an exam and obviously I have about 30h to learn enough gtk# to do that, luckly glade is always glade…

Busy times…

I’m trying to archive probably much more than I should, so far:

– Cell/Ps3 stuff -> I’m moving most of the stuff in the portage tree (see the mask), I hope to have an updated toolchain for tomorrow evening.

– Fenice stuff -> the merge is coming on nicely and I’m about to move everything to git, git-grep won the heart of everybody =)

– ffmpeg unleashed -> Yes, I removed the mask today, blender’s ffmpeg has been updated, hopefully I won’t have to hack that way with the newer release…

– myself -> I’m trying to recover a bit of rationality, probably that’s the harder part, working/overworking is helping me not to think too much, well, I’ll see in the next months.

Tales from the ppc64 lairs

I spent some days on the glibc/gcc vs busybox issue, in the end:

– gcc-4.2.0 snapshot hates glibc-2.5 -> I’ll write a bug report about it soonish
– gcc-cell-4.0.2 hates glibc-2.5 -> I’ll check for updates soon.
– vapier forgot that busybox won’t take CFLAGS automatically but you have to set EXTRA_CFLAGS

Busybox now can link as static binary for ppc64 =)

gcc vs glibc vs ppc64

I got eventually a shell on a power5 box to test some stuff.

I’m trying discover what’s broken in glibc and/or gcc when you try to build as ppc64, currently busybox has some problems with setjmp symbols if you try to build it static, while trying snapshots I ended up in having other issues with gcc-4.2 snapshot not building glibc-2.5 and that looks like yet another pain =/

Luckly the box is fast enough to not take that much building and rebuilding glibc =)