Chimera Linux: if you like BSD and Linux, why not both


A new Linux option for ppc64le popped up on my radar today, and this one's really interesting: if you like the way FreeBSD does business, but you want a Linux kernel, now you don't have to choose. Chimera Linux gives you a FreeBSD userland with no GNU components in the base system except make and ncurses (for some of the readership this will be a feature), plus the ability to bootstrap itself from any musl-based distro like Alpine or Adelie or Void PPC's musl variant. ppc64le, aarch64 and x86_64 are the three launch architectures, making OpenPOWER a first-class citizen from the very beginning, and they promise portability with any architecture that has LLVM/clang available.

There are some important questions yet to answer, however, and the distro is clearly not yet ready for prime time. There's no init system yet (let's hope it's not systemd, because that would really be an unholy union) and there's not even a kernel, so I can't tell you what it runs; presumably it uses the kernel of the distro you bootstrap it on. For that reason, don't even think about asking for a bootable ISO. The source package build system is also custom and it wouldn't be surprising to me if it manifested rough edges for awhile.

The other question mark is LLVM; Chimera relies on clang, not gcc. clang works for a lot of things on ppc64le but at least in my usage doesn't properly work for some large projects like Firefox, and its performance is marginally poorer. This is undoubtedly no problem on the other two architectures, but they are the primary focus of LLVM and clang, and OpenPOWER isn't.

Still, I think there's real potential for this project, quite possibly for people who would ordinarily be attracted to Slackware's philosophy but are more used to the way BSDs do business. (As a product of the University of California, I have great empathy for this viewpoint.) And there's already precedent: Mac OS X macOS is a Mach kernel, but with a BSD userland, and look at how successful that concept was. Sometimes the best choice is the one you don't have to end up making.

Comments

  1. there is nothing particularly worse about clang on ppc64le than on any other architecture (it even supports some features that are not available on say, aarch64, and is fully self hosting, i.e. provides support for the whole runtime)

    problems with firefox (if they exist) must be isolated to firefox, considering we build chromium for ppc64le(-musl) with clang at void since the beginning and it's never caused any issues, and likewise other things work just fine; mentioning that performance is worse is very off the mark, considering clang is known to perform roughly the same (and sometimes faster) as gcc the last few years

    the statement about being portable to anything with llvm/clang is not entirely accurate; you also need support in the compiler-rt builtins and crt (that means e.g. s390x is not possible right now, but big-endian ppc64 or say, risc-v should be fine)

    and no, there won't be systemd (the current main choice appears to be dinit, if that ends up not working for whatever reason, the second main choice is s6-rc)

    ReplyDelete
    Replies
    1. I stick by my comments on clang. I agree it has improved, but I still see poorer performance with some workloads on ppc64le, so I will continue to politely disagree. I'm sure it's fine on the other two arches.

      Do you build firefox with clang? It builds now -- it didn't used to -- but it still doesn't work.

      Delete

Post a Comment

Comments are subject to moderation. Be nice.