Awesome!  Great work!  I read the below draft blog post like a Harry
Potter novel!  It is superbly written.  And it makes a lot of sense!

Chris Marusich <cmmarus...@gmail.com> writes:

> Hi,
>
> Léo and I have drafted the following blog post.  Could you take a few
> minutes to read it and give us your thoughts?
>
> It's a work in progress.  The primary goal is to announce the new
> powerpc64le-linux support and explain why it matters (POWER9 is an
> exciting, freedom-friendly platform!).  The secondary goal is to explain
> some of the details about what we did, and invite people to get
> involved.
>
> Your feedback would be highly appreciated!
>
> --
> Chris

Seriously good job on this blog post, and all involved in the powerPC
porting work!  Fabulous job chaps!  Cheerio!  Also below are my tiny
edits:

> +
> +### Why Is This Important?
> +
> +This is important because it means that GNU Guix now works on the [RYF
> +Talos II and Talos II Lite
> +mainboards](https://www.fsf.org/news/talos-ii-mainboard-and-talos-ii-lite-mainboard-now-fsf-certified-to-respect-your-freedom)
> +and it's IBM POWER9 processor.  This is a modern, performant hardware

I believe you should use "its".  it's is short for "it is".

> +platform that respects your freedom.  It can run without any non-free
> +code, all the way down to its bootloader and firmware.  It's a
> +freedom-friendly platform that aligns well with GNU Guix's commitment
> +to software freedom.
> +
> +How is this any different from existing RYF hardware, you might ask?
> +The existing RYF
> +[laptops](https://ryf.fsf.org/products?category=1&vendor=All&sort_by=created&sort_order=DESC),
> +[mainboards](https://ryf.fsf.org/products?category=5&vendor=All&sort_by=created&sort_order=DESC),
> +and
> +[workstations](https://ryf.fsf.org/products?category=30&vendor=All&sort_by=created&sort_order=DESC)
> +can only really be used with Intel Core Duo or AMD Opteron processors.
> +Those processors were released over 15 years ago.  Since then,
> +processor performance has increased drastically.  People should not
> +have to choose between performance and freedom, but the fact is that
> +for many years, that is exactly what we were forced to do.  However,
> +the Talos II and Talos II Lite have changed this: the free software
> +community now has an RYF-certified option that can compete with the
> +performance of modern Intel and AMD systems.
> +
> +Although the performance of POWER9 processors is competitive with
> +modern Intel and AMD processors, its real advantage is that it<

Why is there "it<"  ?  Is that some markup I'm not familiar with?

> +respects your freedom.  Modern processors from [both Intel and AMD
> +include back
> +doors](https://www.fsf.org/blogs/sysadmin/the-management-engine-an-attack-on-computer-users-freedom)
> +over which you are given no control.  Additionally, hardware design
> +defects in the processors of both vendors have been discovered, giving
> +rise to critical security vulnerabilities like
> +[Spectre](https://en.wikipedia.org/wiki/Spectre_(security_vulnerability))
> +and
> +[Meltdown](https://en.wikipedia.org/wiki/Meltdown_(security_vulnerability)).
> +In many cases, these vulnerabilities can only be fixed by installing
> +[non-free CPU microcode](https://wiki.debian.org/Microcode) - unless,
> +of course, [the vendor decides not to provide any fix at
> +all](https://arstechnica.com/gadgets/2018/04/intel-drops-plans-to-develop-spectre-microcode-for-ancient-chips/)!
> +
> +Compared to that, the RYF Talos II and Talos II Lite are a breath of
> +fresh air that the free software community really deserves.  Raptor
> +Computing Systems' commitment to software freedom and owner control is
> +an inspiring reminder that it **is** possible to ship a great product
> +that respects the freedom of your customers.  And going forward, the
> +future looks bright for the open, royalty-free Power ISA, [which is
> +now a Linux Foundation
> +project](https://www.linuxfoundation.org/press-release/2019/08/the-linux-foundation-announces-new-open-hardware-technologies-and-collaboration/)
> +(see also: [the same announcement from The OpenPOWER
> +Foundation](https://openpowerfoundation.org/the-next-step-in-the-openpower-foundation-journey/).
> +
> +
> +In Guix, all software for a given system (e.g., powerpc64le-linux) is
> +built starting from its bootstrap binaries.  It is intended that the
> +bootstrap binaries are the only pieces of software in the entire
> +package collection that Guix cannot build from source.  In practice,
> +[additional bootstrap roots are
> +possible](https://lists.gnu.org/archive/html/guix-devel/2015-02/msg00814.html),
> +but introducing them in Guix is highly discouraged, and our community
> +[actively](https://guix.gnu.org/en/blog/2019/guix-reduces-bootstrap-seed-by-50/)
> +[works](https://guix.gnu.org/en/blog/2020/guix-further-reduces-bootstrap-seed-to-25/)
> +to [reduce](https://guix.gnu.org/en/blog/2018/bootstrapping-rust/) our
> +overall bootstrap footprint.
> +
> +So first you need to build the the bootstrap binaries for your

"the the" --> "the"

> +platform.  In theory, you can do this in many ways.  For example, you
> +might try to manually compile them on an existing system.  However,
> +Guix has [package
> +definitions](https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/make-bootstrap.scm?id=5d8c2c00d60196c46a32b68c618ccbe2b3aa48f4)
> +that you can use to build them - using Guix, of course!
>
> +In both the big-endian and little-endian case, we were saddened to
> +discover that the bootstrap binaries are not entirely reproducible.
> +This fact is documented in [bug
> +41669](https://debbugs.gnu.org/cgi/bugreport.cgi?bug=41669), along
> +with our extensive investigations.  In short, if you build the
> +bootstrap binaries on two separate machines without using any
> +substitutes, you will find that the derivation which cross-compiles
> +%gcc-static (the bootstrap GCC, version 5.5.0) produces different
> +output on the two systems.  However, if you build %gcc-static twice on
> +the same system, it builds reproducibly.  This suggests that something
> +in the transitive closure of inputs of %gcc-static is perhaps
> +contributing to its non-reproducibility.  There is an interesting graph 
> toward the end of the bug report that suggests that the non-reproducibliity 
> is introduced by one or more of 21 derivations in the transitive closure of 
> %gcc-static's inputs that do not build reproducibly across systems.

On my computer, the above line is SUPER LONG.  Should you do a M-x
fill-paragraph on the above line?  Or does that not really matter?

> +### Next Steps
> +
> +It is now possible to install Guix on a powerpc64le-linux system and
> +use it to build some useful software - in particular, Guix itself.  So
> +Guix is now "self-hosted" on this platform, which gives us a
> +comfortable place to begin further work.
> +
> +The following tasks still need to be done.  Anyone can help, so please
> +get in touch if you want to contribute!
> +
> +- Solve the GCC bootstrap binary reproducibility issue.
> +- Get Guix System to work on powerpc64le-linux.
> +- Get CI infrastructure to work (Cuirass, guix-build-coordinator,
> +  substitutes, etc.)
> +- Fix all package build failures.
> +- Try building rust, and if it works, judiciously re-introduce the
> +  librsvg dependency for powerpc64le-linux in gtk+ and gtk+-2, since
> +  [it is currently
> +  missing](https://git.savannah.gnu.org/cgit/guix.git).

Just out of curiosity, does rust work on power?  I'm under the
impression that rust, while memory safe, is not so easy to bootstrap.
Though I am eager to see someone bootstrap rust to power!  Best of luck
you brave soul!

> +- Upgrade GCC to 8 on core-updates, fix issues that occur.
> +- Merge core-updates to master after that.

--
Joshua Branson (joshuaBPMan in #guix)
Sent from Emacs and Gnus
  https://gnucode.me
  https://video.hardlimit.com/accounts/joshua_branson/video-channels
  https://propernaming.org
  "You can have whatever you want, as long as you help
enough other people get what they want." - Zig Ziglar

Reply via email to