PS3:NetBSD

From wikibrew
Jump to: navigation, search

NetBSD.gif



Contents

Obtaining Source Code

# cd /usr
# export CVS_RSH="ssh"
# export CVSROOT="anoncvs@anoncvs.NetBSD.org:/cvsroot"
# cvs checkout -A -P src
# ftp ftp://nandra.segv.jp/pub/NetBSD/ps3/ps3-111111.tar.gz

Building the Toolchain

# cd /usr/src
# mv sys/arch/powerpc ~
# tar xvzf ps3-111111.tar.gz
# patch -p0 < build.sh.patch
# patch -p0 < elf_machdep.h.patch
# mkdir /usr/obj
# cd tools
# sh ./mkheaderlist.sh
# cd ..
# ./build.sh -m ps3 -a powerpc64 tools
===> Tools built to /usr/src/obj/tooldir.NetBSD-5.1-amd64
===> build.sh ended:      Sat Jan  7 15:34:30 CET 2012
===> Summary of results:
         build.sh command:    ./build.sh -m ps3 -a powerpc64 tools
         build.sh started:    Sat Jan  7 15:23:22 CET 2012
         NetBSD version:      5.99.59
         MACHINE:             ps3
         MACHINE_ARCH:        powerpc64
         Build platform:      NetBSD 5.1 amd64
         HOST_SH:             /bin/sh
         No $TOOLDIR/bin/nbmake, needs building.
         Bootstrapping nbmake
         TOOLDIR path:        /usr/src/obj/tooldir.NetBSD-5.1-amd64
         DESTDIR path:        /usr/src/obj/destdir.ps3
         RELEASEDIR path:     /usr/src/obj/releasedir
         Created /usr/src/obj/tooldir.NetBSD-5.1-amd64/bin/nbmake
         Updated makewrapper: /usr/src/obj/tooldir.NetBSD-5.1-amd64/bin/nbmake-ps3
         Tools built to /usr/src/obj/tooldir.NetBSD-5.1-amd64
         build.sh ended:      Sat Jan  7 15:34:30 CET 2012

Compiling Kernel

# cd /usr/src
# patch -p0 < PS3.patch
# patch -p0 < cpu.h.patch
# patch -p0 < pio.h.patch
# patch -p0 < cpu_counter.h.patch
# patch -p0 < spr.h.patch
# patch -p0 < altivec.c.patch
# patch -p0 < cpufunc.h.patch
# patch -p0 < powerpc_machdep.c.patch
# patch -p0 < cpu_970.c.patch
# patch -p0 < fpu.c.patch
# patch -p0 < trap.c.patch
# patch -p0 < ps3pic.c.patch
# patch -p0 < vuart.c.patch
# patch -p0 < clock.c.patch
# patch -p0 < extintr.c.patch
# patch -p0 < machdep.c.patch
# patch -p0 < pmap.h.patch
# patch -p0 < pmap.c.patch
# patch -p0 < ps3av_cmd.c.patch
# patch -p0 < if_gelic.c.patch
# cd sys/arch/ps3/conf
# /usr/obj/tooldir.NetBSD-5.1-amd64/bin/nbconfig PS3
# cd ../compile/PS3
# export PATH=/usr/obj/tooldir.NetBSD-5.1-amd64/bin:$PATH
# /usr/obj/tooldir.NetBSD-5.1-amd64/bin/nbmake-ps3 depend
# /usr/obj/tooldir.NetBSD-5.1-amd64/bin/nbmake-ps3 NOGCCERROR=1
# file netbsd
netbsd: ELF 64-bit MSB executable, 64-bit PowerPC or cisco 7500, version 1 (SYSV),
    statically linked, for NetBSD 5.99.59, not stripped

Compiling Loader

# cd /usr/src
# patch -p0 < Makefile.patch
# patch -p0 < start.S.patch
# patch -p0 < boot.c.patch
# patch -p0 < gelic.c.patch
# patch -p0 < devopen.c.patch
# cd sys/arch/ps3/stand/boot
# /usr/obj/tooldir.NetBSD-5.1-amd64/bin/nbmake-ps3 depend
# /usr/obj/tooldir.NetBSD-5.1-amd64/bin/nbmake-ps3 NOGCCERROR=1 LIBCRT0= LIBC= LIBCRTBEGIN= LIBCRTEND=
# file boot.elf
boot.elf: ELF 64-bit MSB executable, 64-bit PowerPC or cisco 7500, version 1 (SYSV),
    statically linked, not stripped

Booting with Petitboot on OtherOS++

# kexec -l boot.elf
# reboot

Compiling User-Space

Links

Personal tools
Namespaces
Variants
Actions
Gitbrew
Navigation
projects
Toolbox