On 03/27/2016 11:08 PM, John Paul Adrian Glaubitz wrote: >> [1] Of course, if you know how to properly set up a qemu-based chroot >> on amd64, that'd also be sufficient for me. But I did try to >> debootstrap with the http://antcom.de/powerpcspe/ repository >> according to <https://wiki.debian.org/PowerPCSPEPort>, but >> qemu-ppc-static doesn't like it and I get "illegal instruction", >> regardless of what binary I try to execute. qemu-ppc-static does >> work for the 'powerpc' architecture in that fashion. (I'm using >> QEMU 2.5 btw.) > > The reason why that doesn't work is because you need to tell qemu > to switch the CPU type to e500v2 as it defaults to standard powerpc > CPU emulation which doesn't support some of the powerpcspe instructions. Ah, this already helped me. Now I can at least run executables via qemu-ppc-static if I set the QEMU_CPU=e500v2 environment variable. Doesn't allow me to actually create a build environment though, because a LOT of packages required to actually create a root filesystem are not yet compiled for powerpcspe in the official debian-ports repository. When using debootstrap --variant=minbase there are a couple of packages still not compiled yet that are more than essential for debootstrap to actually work. The most prominent among them: apt, base-passwd, bash, findutils, gzip, gnupg, insserv, procps, shadow If you want to try yourself: # (make sure qemu-user-static is installed) debootstrap --arch powerpcspe --foreign --variant=minbase \ --keyring /usr/share/keyrings/debian-archive-keyring.gpg \ --keyring=/usr/share/keyrings/debian-ports-archive-keyring.gpg \ sid ppcspe ftp://ftp.debian-ports.org/debian/ cp /usr/bin/qemu-ppc-static ppcspe/usr/bin/ QEMU_CPU=e500v2 chroot ppcspe /debootstrap/debootstrap \ --second-stage --verbose --keep-debootstrap-dir (Also, I'd recommend a different mirror, ftp.debian-ports.org is not that fast. I've set up a local apt-cacher-ng for this kind of stuff anyway.) The first command will fail directly, but if you add --exclude=apt, it will at least download stuff and claim it's done. But then the --second-stage command will fail (you'll have to look at ppcspe/debootstrap/debootstrap.log to see that it fails because zcat isn't available, and if you fix that by copying the amd64 version of zcat into the chroot together with the required libraries, other things start to go wrong because of missing packages). > You can try the following to boot qemu in system mode with e500v2 > emulation: > > qemu-system-ppc -cpu e500v2 -M mpc8544ds -enable-kvm -m 2047 -bios > ./u-boot.e500 -nographic -kernel ./uImage-kvm-guest -drive > file=debian_ppcspe.img,index=0,if=virtio -net nic,vlan=0,model=e1000 > -net user,vlan=0 -append "rw root=/dev/vda1" Unfortunately, that doesn't help me without a proper rootfs. :( > I will get back to you once I have obtained both a filesystem image > as well as a usable kernel. But creating the image should be possible > with vmdebootstrap at least: https://wiki.debian.org/vmdebootstrap vmdebootstrap uses debootstrap internally, so see above. Anyway, I'm going to have to wait until I'm either able to create a powerpcspe chroot for building things or you have a rootfs image available. (rootfs is actually sufficient, I can just unpack that and use it as a chroot, I don't really need a kernel now.) Regards, Christian
Attachment:
signature.asc
Description: OpenPGP digital signature