ClangBuiltLinux / continuous-integration

Continuous integration of latest Linux kernel with daily build of Clang & LLVM tools
https://travis-ci.com/ClangBuiltLinux/continuous-integration
Apache License 2.0
44 stars 18 forks source link

S390 support #229

Closed nathanchance closed 4 years ago

nathanchance commented 4 years ago

Closes: #152 Requires: https://github.com/ClangBuiltLinux/dockerimage/pull/40

nickdesaulniers commented 4 years ago

it doesn't boot? (we could reuse that qemu skip for hexagon (cc @androm3da )

nathanchance commented 4 years ago

I did not try per the comment in Guenter’s build script: https://github.com/groeck/linux-build-test/blob/b8650ca8cdef921992b71db582b9bbdc4efb0ab3/rootfs/s390/run-qemu-s390.sh#L22

nickdesaulniers commented 4 years ago

but it looks like @groeck still boot tests s390, he just does defconfig+CONFIG_MARCH_Z900=y, which is what we should do, too.

We already do this for a few arch's, a la: https://github.com/ClangBuiltLinux/continuous-integration/blob/fa15d669c53a70beebb9d612cc7c2f4ea42b5879/driver.sh#L332

nathanchance commented 4 years ago

We can’t do that with clang because of https://git.kernel.org/linus/c263a4e990b7296b074e33aa077239a0a28a818e.

tpimh commented 4 years ago

Instead of db908a6 we should add qemu-system-misc package to dockerimage, create a rootfs image (need some research, s390 support seems to be removed from buildroot: https://github.com/buildroot/buildroot/commit/b24c3215c13b0f25979c744af4b2e58359b5723b) and run it like this: qemu-system-s390x -m 512m -machine s390-ccw-virtio -initrd images/s390/rootfs.cpio -display none -serial mon:stdio -kernel linux/arch/s390/boot/bzImage

tpimh commented 4 years ago

I wonder if we can use initrd from moonbuggy image from the 2014 QEMU Advent Calendar

tpimh commented 4 years ago

Just checked the moonbuggy image, it's not very useful: only a couple shared libraries and a game binary as init. I'm now checking out gentoo netboot initramfs for s390x, it has busybox in it.

tpimh commented 4 years ago

Just built the kernel, tried to boot with QEMU, got Kernel fault:

KASLR disabled: CPU has no PRNG
Linux version 5.5.0-gf75716570 (driver@clangbuiltlinux) #1 SMP Thu Jan 1 00:00:00 UTC 1970Kernel fault: interruption code 0005 ilc:2
PSW : 0000200180000000 00000000000175d4
      R:0 T:0 IO:0 EX:0 Key:0 M:0 W:0 P:0 AS:0 CC:2 PM:0 RI:0 EA:3
GPRS: 00000000fffffff8 0000000c00000009 00000003fffffff4 0000000000000008
      0000000000000010 00000000fffffff0 00000000fffffff4 0000000000000004
      000000000000000c 0000000000000000 00000000fffffffc 00000000009495a8
      0000000000000002 0000000000000001 0000000000000000 000000000000bb58

At least the console is functional.