%general-entities; ]> Yaboot-&yaboot-version; Yaboot Installation of Yaboot Existing multilib distributions alter gcc to default to 32-bit output. Because our gcc defaults to 64-bit, we need to pass appropriate options to both the compiler and the linker. The Makefile already overrides any CC and ignores LDFLAGS in favour of its own variables, so we need to use the following seds for a successful compile and install. sed -i -e "s/\(-print-libgcc-file-name\)/${BUILD32} \1/" \ -e "s/\(-Bstatic\)/-melf32ppclinux \1/" Makefile The meaning of the sed parameters: "s/\(-print-libgcc-file-name\)/${BUILD32} \1/" This picks a convenient place within the Makefile's lgcc variable and inserts the flag to force gcc to create 32-bit code when compiling yaboot. "s/\(-Bstatic\)/-melf32ppclinux \1/" This picks the end of the LFLAGS which the Makefile passes to the linker to create the second-stage linux loader, and inserts a flag to force ld to use a suitable 32-bit emulation picked from the output of 'ld -V'. The above patches and seds are critical in ensuring a successful build. In particular, the package will appear to install correctly without the second sed, but will fail to load linux, requiring you to use OF or a rescue disk to boot. CFLAGS="${BUILD32}" make PREFIX=/usr The CFLAGS on the above command are equally critical for a successful install. make PREFIX=/usr install 2>&1 >instlog To ensure that the install was successful, run the following command: grep 'powerpc:common64' instlog If the command gave you any output (... is incompatible with powerpc:common output) the build is broken and you will have to repeat it with all of the items marked as important.