https://guix.gnu.org/feeds/blog/gnuhurd.atomGNU Guix — Blog — GNU/Hurdfeed author nameGNU Guixhttps://guix.gnu.org/static/base/img/icon.png2020-08-14T21:45:00Zhttps://guix.gnu.org/blog/2020/a-hello-world-virtual-machine-running-the-hurd/A “Hello World” virtual machine running the HurdJan Nieuwenhuizen, Ludovic Courtès2020-04-08T17:50:00Z2020-04-08T17:50:00Z Hello GNU World! There’s been a bit of speculation as to whether our April 1st
post
was a joke. Part of it was a joke: we’re not deprecating Linux-libre,
fear not! But when we published it, it was already April 2nd in Eastern
parts of the world and thus, not surprisingly, the remainder of the post
was less of a joke. Getting to a bootable system For all you who tried our April 1st image and ran guix we sure hope
you had a good laugh. We set out to cross-build that…<p>Hello GNU World!</p><p>There’s been a bit of speculation as to whether our <a href="https://guix.gnu.org/blog/2020/deprecating-support-for-the-linux-kernel/">April 1st
post</a>
was a joke. Part of it was a joke: we’re <em>not</em> deprecating Linux-libre,
fear not! But when we published it, it was already April 2nd in Eastern
parts of the world and thus, not surprisingly, the remainder of the post
was less of a joke.</p><h1>Getting to a bootable system</h1><p>For all you who tried our April 1st image and ran <code>guix</code> we sure hope
you had a good laugh. We set out to cross-build that virtual machine
(VM) image using Guix and while we made some good progress on Wednesday,
in the end we decided to cheat to make the release deadline.</p><p>What we got stuck on for a while was to get past the ext2fs
<a href="https://www.gnu.org/software/hurd/doc/hurd_6.html#SEC43"><em>translator</em></a>
(the user-land process that implements the ext2 file system) seemingly
freezing on boot, saying:</p><pre><code>start ext2fs:</code></pre><p>and then nothing... Running <code>ext2fs</code> cross-built with Guix on
Debian GNU/Hurd would hang similarly. The kernel debugger would show an
intriguing backtrace in <code>ext2fs</code> suggesting that <code>ext2fs</code> was not
handling <a href="https://www.gnu.org/software/hurd/gnumach-doc/Memory-Object-Server.html">page fault
messages</a>.
Long story short: we eventually realized that the server interfaces were
compiled with a 64-bit <a href="https://www.gnu.org/software/mig">MiG</a> whereas
we were targeting a 32-bit platform. From there on, we embarked on a
delightful hacking journey ensuring the Hurd boot process would
correctly run in our VM up to a proper login prompt.</p><p>Today we have a humble gift for you: On the <code>wip-hurd-vm</code> branch
(<em>Update: this has now been
<a href="https://git.savannah.gnu.org/cgit/guix.git/log?h=core-updates&id=5084fd38541a5fc233f3299e10a33c3a38a7173f">merged</a>!</em>)
we have an <a href="https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/system/hurd.scm?h=core-updates&id=5084fd38541a5fc233f3299e10a33c3a38a7173f">initial
hurd.scm</a>
system description that can be used to cross build a VM running the
Hurd.</p><p>Running:</p><pre><code>./pre-inst-env guix build -f gnu/system/hurd.scm</code></pre><p>cross-compiles all the relevant packages for GNU/Hurd—specifically the
<code>i586-pc-gnu</code>
<a href="https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.69/html_node/Specifying-Target-Triplets.html">triplet</a>—and produces a VM image:</p><pre><code>/gnu/store/yqnabv1zmlkviwzikc23w9qvfnyfwvj7-qemu-image</code></pre><p>You can build it and start it from your GNU/Linux machine with this
command:</p><pre><code>qemu-system-i386 -enable-kvm -m 512 -snapshot -hda \
$(./pre-inst-env guix build -f gnu/system/hurd.scm)</code></pre><p>and voilà:</p><p><img src="https://guix.gnu.org/static/blog/img/hello-hurd.gif" alt="Initial Guix VM running the Hurd" /></p><p>Woohoo! (Actually we already have more stuff not shown here, such as
<code>guix</code> itself running… for a future post! :-))</p><h1>Why bother?</h1><p>Why bother with the Hurd anyway? Isn’t it a pipe dream or “vaporware”,
depending on one’s perspective? There’s some unquestionable truth in
that: we know that Hurd development started in the early 90’s, months
before Linux development started, and yet it still lacks so much in
terms of hardware support, even though significant progress was made in
recent years in particular with the use of <a href="http://rumpkernel.org/">Rump
kernels</a>.</p><p>The more we witness how new features are retrofitted in the kernel
Linux, the more we think the Hurd’s design is better suited to today’s
needs. <a href="http://man7.org/linux/man-pages/man7/namespaces.7.html">Linux
namespaces</a>, the
foundation of “containers”, are such an example of an afterthought;
unprivileged user namespaces, which allow unprivileged users to benefit
from lightweight “container” virtualization, are still often disabled by
distros due to a lack of confidence. This is in sharp contrast with the
Hurd’s inherent unrestricted support for fine-grain virtualization: a
PID namespace is just another <code>proc</code> server, and file system name space
is just another root file system server, and so on. Container-like
lightweight virtualization is <em>native</em> on the Hurd.</p><p>Last but not least, with an eye on the security and transparency of free
software systems, a microkernel-based systems seems to naturally lend
itself well to bootstrapping from a reduced trusted base. This is one
of the topics <a href="https://guix.gnu.org/blog/2019/reproducible-builds-summit-5th-edition/">we discussed on the last Reproducible Builds
Summit</a>.</p><p>The question is not so much whether 2020 or 2021 will be the year of the
Hurd. It’s more about the kind of systems we want to <em>build</em>. A lot of
work remains to be done, but we think, in 2020 more than ever, that this
is a promising approach for the betterment of the security of our
systems and the freedom of users.</p><p>We also have to admit that this is an amazing system to hack on, even
more so when combined with Guix, so… happy hacking! :-)</p><h4>About GNU Guix</h4><p><a href="https://www.gnu.org/software/guix">GNU Guix</a> is a transactional package
manager and an advanced distribution of the GNU system that <a href="https://www.gnu.org/distros/free-system-distribution-guidelines.html">respects
user
freedom</a>.
Guix can be used on top of any system running the Hurd or the Linux
kernel, or it can be used as a standalone operating system distribution
for i686, x86_64, ARMv7, and AArch64 machines.</p><p>In addition to standard package management features, Guix supports
transactional upgrades and roll-backs, unprivileged package management,
per-user profiles, and garbage collection. When used as a standalone
GNU/Linux distribution, Guix offers a declarative, stateless approach to
operating system configuration management. Guix is highly customizable
and hackable through <a href="https://www.gnu.org/software/guile">Guile</a>
programming interfaces and extensions to the
<a href="http://schemers.org">Scheme</a> language.</p><h4>About the GNU Hurd</h4><p><a href="https://www.gnu.org/software/hurd">The GNU Hurd</a> is the GNU project's
replacement for the Unix kernel. It is a collection of servers that
run on the Mach microkernel to implement file systems, network
protocols, file access control, and other features that are
implemented by the Unix kernel or similar kernels (such as Linux).
<a href="https://www.gnu.org/software/hurd/hurd/documentation.html">More
info</a>.</p><p>The <a href="https://www.gnu.org/software/hurd/community/weblogs/antrik/hurd-mission-statement.html">mission of the GNU
Hurd</a>
project is to create a general-purpose kernel suitable for the GNU
operating system, which is viable for everyday use, and gives users
and programs as much control over their computing environment as
possible.</p>https://guix.gnu.org/blog/2020/deprecating-support-for-the-linux-kernel/Deprecating support for the Linux kernelJan (janneke) Nieuwenhuizen, Ludovic (civodul) Courtès, Marius (mbakke) Bakke, Ricardo (rekado) Wurmus2020-04-01T23:00:00Z2020-04-01T23:00:00Z Hey, this post was published on April 1st, so take it with a grain of
salt! Read the
followup
for some clarifications. After years in the
making ,
Guix recently gained support
for running natively on the GNU/Hurd operating system .
That means you will soon be able to replace... (kernel linux-libre) with (kernel hurd)
(initial-herd hurd) ...in your operating-system
declaration
and reboot into the future! Running on the Hurd was always a goal for Guix, and supporting multiple
kernels is a huge maintenance burden. …<blockquote><p><em>Hey, this post was published on April 1st, so take it with a grain of
salt! <a href="https://guix.gnu.org/blog/2020/a-hello-world-virtual-machine-running-the-hurd/">Read the
followup</a>
for some clarifications.</em></p></blockquote><p>After <a href="https://lists.gnu.org/archive/html/guix-devel/2015-08/msg00379.html">years in the
making</a>,
Guix <a href="https://lists.gnu.org/archive/html/guix-devel/2020-03/msg00081.html">recently gained support</a>
for running natively on the <a href="https://www.gnu.org/software/hurd/">GNU/Hurd operating system</a>.
That means you will soon be able to replace...</p><pre><code>(kernel linux-libre)</code></pre><p>with</p><pre><code>(kernel hurd)
(initial-herd hurd)</code></pre><p>...in your <a href="https://guix.gnu.org/manual/en/guix.html#operating_002dsystem-Reference">operating-system
declaration</a>
and reboot into the future!</p><p>Running on the Hurd was always a goal for Guix, and supporting multiple
kernels is a huge maintenance burden. As such it is expected that the
upcoming Guix 1.1 release will be the last version featuring the
Linux-Libre kernel. Future versions of Guix System will run
exclusively on the Hurd, and we expect to remove Linux-Libre
entirely by Guix 2.0.</p><p>The Linux kernel will still be supported when using Guix on "foreign"
distributions, but it will be on a best-effort basis. We hope that
other distributions will follow suit and adopt the Hurd in order to
increase security and freedom for their users.</p><p>We provide a <a href="https://guix.gnu.org/guix-hurd-20200401.img.tar.xz">pre-built virtual machine image with the Hurd for
download</a> with
SHA256
<code>056e69ae4b5fe7a062b954a5be333332152caa150359c20253ef77152334c662</code>.</p><p>Here is how to get started:</p><pre><code>wget https://guix.gnu.org/guix-hurd-20200401.img.tar.xz
tar xf guix-hurd-20200401.img.tar.xz
guix environment --ad-hoc qemu -- \
qemu-system-i386 -enable-kvm -drive file=guix-hurd-20200401.img,cache=writeback -m 1G</code></pre><p>Log in as <code>root</code> without password. Then try <code>hello</code>, <code>guix describe</code>,
or <code>guix install linux-libre</code> to run Linux in userspace... We are
looking forward to your feedback!</p><h4>About GNU Guix</h4><p><a href="https://www.gnu.org/software/guix">GNU Guix</a> is a transactional package
manager and an advanced distribution of the GNU system that <a href="https://www.gnu.org/distros/free-system-distribution-guidelines.html">respects
user
freedom</a>.
Guix can be used on top of any system running the Hurd or the Linux
kernel, or it can be used as a standalone operating system distribution
for i686, x86_64, ARMv7, and AArch64 machines.</p><p>In addition to standard package management features, Guix supports
transactional upgrades and roll-backs, unprivileged package management,
per-user profiles, and garbage collection. When used as a standalone
GNU/Linux distribution, Guix offers a declarative, stateless approach to
operating system configuration management. Guix is highly customizable
and hackable through <a href="https://www.gnu.org/software/guile">Guile</a>
programming interfaces and extensions to the
<a href="http://schemers.org">Scheme</a> language.</p>https://guix.gnu.org/blog/2017/back-from-fosdem-2017/Back from FOSDEM 2017sirgazil2017-02-06T00:00:00+02002017-02-06T00:00:00+0200 FOSDEM 2017 concluded. This time, the GNU Guix community participated with 8 talks. An introduction to functional package management with GNU Guix DOWNLOAD VIDEO (WebM, 26 minutes) Speaker: Ricardo Wurmus Slides: guix-fosdem-intro-20170205.pdf Composing system services in GuixSD DOWNLOAD VIDEO (WebM, 43 minutes) Speaker: Ludovic Courtès Slides: guix-fosdem-composing-services-20170205.pdf Reproducible packaging and distribution of software with GNU Guix DOWNLOAD VIDEO (WebM, 29 minutes) …<p><a href="https://fosdem.org/2017/">FOSDEM 2017</a> concluded. This time, the GNU Guix community participated with 8 talks.</p><h3>An introduction to functional package management with GNU Guix</h3><video src="https://video.fosdem.org/2017/K.4.601/guixintroduction.vp8.webm" controls="controls"><div class="action-box centered-text"><a class="button-big" href="https://video.fosdem.org/2017/K.4.601/guixintroduction.vp8.webm">DOWNLOAD VIDEO</a><p>(WebM, 26 minutes)</p></div></video><ul><li>Speaker: Ricardo Wurmus</li><li>Slides: <a href="https://www.gnu.org/software/guix/guix-fosdem-intro-20170205.pdf">guix-fosdem-intro-20170205.pdf</a></li></ul><h3>Composing system services in GuixSD</h3><video src="https://video.fosdem.org/2017/K.4.601/composingsystemservicesinguixsd.vp8.webm" controls="controls"><div class="action-box centered-text"><a class="button-big" href="https://video.fosdem.org/2017/K.4.601/composingsystemservicesinguixsd.vp8.webm">DOWNLOAD VIDEO</a><p>(WebM, 43 minutes)</p></div></video><ul><li>Speaker: Ludovic Courtès</li><li>Slides: <a href="https://www.gnu.org/software/guix/guix-fosdem-composing-services-20170205.pdf">guix-fosdem-composing-services-20170205.pdf</a></li></ul><h3>Reproducible packaging and distribution of software with GNU Guix</h3><video src="https://video.fosdem.org/2017/K.4.601/guixpackages.vp8.webm" controls="controls"><div class="action-box centered-text"><a class="button-big" href="https://video.fosdem.org/2017/K.4.601/guixpackages.vp8.webm">DOWNLOAD VIDEO</a><p>(WebM, 29 minutes)</p></div></video><ul><li>Speaker: Pjotr Prins</li><li>Slides: <a href="https://www.gnu.org/software/guix/guix-fosdem-packaging-20170205.pdf">guix-fosdem-packaging-20170205.pdf</a></li></ul><h3>Mes—Maxwell's Equations of Software</h3><video src="https://mirrors.dotsrc.org/fosdem/2017/K.4.601/guixsdbootstrap.vp8.webm" controls="controls"><div class="action-box centered-text"><a class="button-big" href="https://mirrors.dotsrc.org/fosdem/2017/K.4.601/guixsdbootstrap.vp8.webm">DOWNLOAD VIDEO</a><p>(WebM, 28 minutes)</p></div></video><ul><li>Speaker: Jan Nieuwenhuizen</li><li>Slides: <a href="https://www.gnu.org/software/guix/guix-fosdem-mes-20170205.pdf">guix-fosdem-mes-20170205.pdf</a></li></ul><h3>Adding GNU/Hurd support to GNU Guix and GuixSD</h3><video src="http://mirror.onet.pl/pub/mirrors/video.fosdem.org/2017/K.4.601/guixhurd.vp8.webm" controls="controls"><div class="action-box centered-text"><a class="button-big" href="http://mirror.onet.pl/pub/mirrors/video.fosdem.org/2017/K.4.601/guixhurd.vp8.webm">DOWNLOAD VIDEO</a><p>(WebM, 30 minutes)</p></div></video><ul><li>Speaker: Manolis Ragkousis</li><li>Slides: <a href="https://www.gnu.org/software/guix/guix-fosdem-hurd-20170205.pdf">guix-fosdem-hurd-20170205.pdf</a></li></ul><h3>Workflow management with GNU Guix</h3><video src="https://mirrors.dotsrc.org/fosdem/2017/K.4.601/guixworkflowmanagement.vp8.webm" controls="controls"><div class="action-box centered-text"><a class="button-big" href="https://mirrors.dotsrc.org/fosdem/2017/K.4.601/guixworkflowmanagement.vp8.webm">DOWNLOAD VIDEO</a><p>(WebM, 20 minutes)</p></div></video><ul><li>Speaker: Roel Janssen</li><li>Slides: <a href="https://www.gnu.org/software/guix/guix-fosdem-workflow-management-20170205.pdf">guix-fosdem-workflow-management-20170205.pdf</a></li></ul><h3>Optimized and reproducible HPC Software deployment</h3><video src="https://video.fosdem.org/2017/H.2213/hpc_deployment_guix.vp8.webm" controls="controls"><div class="action-box centered-text"><a class="button-big" href="https://video.fosdem.org/2017/H.2213/hpc_deployment_guix.vp8.webm">DOWNLOAD VIDEO</a><p>(WebM, 26 minutes)</p></div></video><ul><li>Speakers: Pjotr Prins and Ludovic Courtès</li><li>Slides: <a href="https://www.gnu.org/software/guix/guix-fosdem-hpc-part1-20170204.pdf">guix-fosdem-hpc-part1-20170204.pdf</a>, <a href="https://www.gnu.org/software/guix/guix-fosdem-hpc-part2-20170204.pdf">guix-fosdem-hpc-part2-20170204.pdf</a></li></ul><h3>The future of Guix</h3><video src="http://bofh.nikhef.nl/events/FOSDEM/2017/K.4.601/futureofguix.vp8.webm" controls="controls"><div class="action-box centered-text"><a class="button-big" href="http://bofh.nikhef.nl/events/FOSDEM/2017/K.4.601/futureofguix.vp8.webm">DOWNLOAD VIDEO</a><p>(WebM, 48 minutes)</p></div></video><ul><li>Speakers: Christopher Webber, Ludovic Courtès, Pjotr Prins, Ricardo Wurmus</li></ul>https://guix.gnu.org/blog/2016/meet-guix-at-fosdem/Meet Guix at FOSDEM!Ludovic Courtès2016-01-22T00:00:00+01002016-01-22T00:00:00+0100 One week to FOSDEM ! This year, there will be no less than six Guix-related talks. This and the fact that we are addressing different communities is exciting. First, on Saturday morning, in the GNU Guile track (room K.3.201): Adding GNU/Hurd support to GNU Guix (Manolis Ragkousis)
A gentle introduction to functional package management with GNU Guix (Ricardo Wurmus)
Your distro is a Scheme library (Ludovic Courtès)
Foreign packages in GNU Guix (Pjotr Prins)
…<div><p>One week to <a href="https://fosdem.org/2016">FOSDEM</a>! This year, there will be no less than six Guix-related talks. This and the fact that we are addressing different communities is exciting.<br /></p><p>First, on Saturday morning, in the <a href="https://fosdem.org/2016/schedule/track/gnu_guile/">GNU Guile track</a> (room K.3.201):<br /></p><ul><li><a href="https://fosdem.org/2016/schedule/event/guixhurd/">Adding GNU/Hurd support to GNU Guix</a> (Manolis Ragkousis)
</li><li><a href="https://fosdem.org/2016/schedule/event/guix/">A gentle introduction to functional package management with GNU Guix</a> (Ricardo Wurmus)
</li><li><a href="https://fosdem.org/2016/schedule/event/guixdistro/">Your distro is a Scheme library</a> (Ludovic Courtès)
</li><li><a href="https://fosdem.org/2016/schedule/event/guixmodules/">Foreign packages in GNU Guix</a> (Pjotr Prins)
</li></ul><p>On Saturday afternoon:<br /></p><ul><li><a href="https://fosdem.org/2016/schedule/event/deployments_with_gnu_guix/">Reproducible and Customizable Deployments with GNU Guix</a> (Ludovic Courtès, <a href="https://fosdem.org/2016/schedule/track/distributions/">distributions track</a>, room K.4.201)
</li><li><a href="https://fosdem.org/2016/schedule/event/guix_tox/">Guix-tox, a functional version of tox</a> (Cyril Roelandt, <a href="https://fosdem.org/2016/schedule/track/python/">Python track</a>, room UD2.218A)
</li></ul><p>On Sunday noon:<br /></p><ul><li><a href="https://fosdem.org/2016/schedule/event/hpc_bigdata_gnu_guix/">Reproducible and User-Controlled Package Management in HPC with GNU Guix</a> (Ricardo Wurmus, <a href="https://fosdem.org/2016/schedule/track/hpc,_big_data_and_data_science/">HPC track</a>, room AW1.126)
</li></ul><p>See you there!<br /></p><h4>About GNU Guix</h4><p><a href="http://www.gnu.org/software/guix">GNU Guix</a> is a functional package manager for the GNU system. The Guix System Distribution or GuixSD is an advanced distribution of the GNU system that relies on GNU Guix and <a href="http://www.gnu.org/distros/free-system-distribution-guidelines.html">respects the user's freedom</a>.<br /></p><p>In addition to standard package management features, Guix supports transactional upgrades and roll-backs, unprivileged package management, per-user profiles, and garbage collection. Guix uses low-level mechanisms from the Nix package manager, except that packages are defined as native <a href="http://www.gnu.org/software/guile">Guile</a> modules, using extensions to the <a href="http://schemers.org">Scheme</a> language. GuixSD offers a declarative approach to operating system configuration management, and is highly customizable and hackable.<br /></p><p>GuixSD can be used on an i686 or x86_64 machine. It is also possible to use Guix on top of an already installed GNU/Linux system, including on mips64el and armv7.<br /></p></div>https://guix.gnu.org/blog/2015/porting-guix-and-guixsd/Porting Guix and GuixSDLudovic Courtès2015-09-07T00:00:00+02002015-09-07T00:00:00+0200 Quite a lot has happened lately when it comes to porting Guix and GuixSD to other systems. A few weeks ago, Manolis Ragkousis announced the completion of the GSoC project whose purpose was to port Guix to the Hurd. The system distribution, GuixSD, cannot run GNU/Hurd yet, but the package manager itself can both cross-compile from GNU/Linux to GNU/Hurd and build natively on GNU/Hurd. The work of Manolis is being gradually merged in the main branch. More recently, Mark H Weaver posted a series of patches…<div><p>Quite a lot has happened lately when it comes to porting Guix and GuixSD to other systems.<br /></p><p>A few weeks ago, Manolis Ragkousis <a href="https://lists.gnu.org/archive/html/guix-devel/2015-08/msg00379.html">announced</a> the completion of the GSoC project whose purpose was to port Guix to the Hurd. The system distribution, GuixSD, cannot run GNU/Hurd yet, but the package manager itself can both cross-compile from GNU/Linux to GNU/Hurd and build natively on GNU/Hurd. The work of Manolis is being gradually merged in the main branch.<br /></p><p>More recently, Mark H Weaver <a href="https://lists.gnu.org/archive/html/guix-devel/2015-08/msg00500.html">posted</a> a series of patches porting GuixSD to MIPS (Lemote Yeeloong), making it the first GuixSD port to non-Intel-compatible hardware (the package manager itself has supported mips64el <a href="/software/guix/news/distro-of-the-linux-based-gnu-system-ported-to-mips.html">for two years</a> already.) By removing several platform-specific assumptions, this work paves the way for future ports.<br /></p><p>Lastly, we are glad to report the <a href="http://www.gnu.org/software/guix/donate/">donation</a> of <a href="https://lists.gnu.org/archive/html/guix-devel/2015-09/msg00134.html">two ARM machines</a> for our build farm. They will allow us to continuously test the ARM port, which was completed <a href="/software/guix/news/gnu-guix-ported-to-arm-and-other-niceties-of-the-new-year.html">earlier this year</a>, and to publish pre-built binaries on our <a href="http://hydra.gnu.org/jobset/gnu/master">build farm</a>. We are grateful to the donors whose contribution makes a big difference for the development of Guix on ARM. If you would like to help out with hardware and/or hosting, <a href="http://www.gnu.org/software/guix/donate/">please get in touch</a>!<br /></p><h4>About GNU Guix</h4><p><a href="http://www.gnu.org/software/guix">GNU Guix</a> is a functional package manager for the GNU system. The Guix System Distribution or GuixSD is an advanced distribution of the GNU system that relies on GNU Guix and <a href="http://www.gnu.org/distros/free-system-distribution-guidelines.html">respects the user's freedom</a>.<br /></p><p>In addition to standard package management features, Guix supports transactional upgrades and roll-backs, unprivileged package management, per-user profiles, and garbage collection. Guix uses low-level mechanisms from the Nix package manager, except that packages are defined as native <a href="http://www.gnu.org/software/guile">Guile</a> modules, using extensions to the <a href="http://schemers.org">Scheme</a> language. GuixSD offers a declarative approach to operating system configuration management, and is highly customizable and hackable.<br /></p><p>GuixSD can be used on an i686 or x86_64 machine. It is also possible to use Guix on top of an already installed GNU/Linux system, including on mips64el and armv7.<br /></p></div>https://guix.gnu.org/blog/2015/gsoc-update/GSoC updateLudovic Courtès2015-07-19T00:00:00+02002015-07-19T00:00:00+0200 This year Guix was lucky to have 3 GSoC projects , and they have made rather good progress so far: Manolis successfully completed the recipes to get a cross-compilation toolchain to GNU/Hurd , with part of the work already in the main branch. This allowed him to produce statically-linked bootstrap binaries (stumbling upon nasty ld.so issues on the way.) Manolis is now running Guix and building packages natively on GNU/Hurd, which will constitute a large part of the remainder of his project.
Rémi has written Guile…<div><p>This year Guix was lucky to have <a href="/software/guix/news/gnu-guix-welcomes-three-students-for-gsoc.html">3 GSoC projects</a>, and they have made rather good progress so far:<br /></p><ul><li>Manolis successfully completed the recipes to get a <a href="http://git.savannah.gnu.org/cgit/guix.git/log/?h=wip-hurd">cross-compilation toolchain to GNU/Hurd</a>, with part of the work already in the main branch. This allowed him to produce statically-linked bootstrap binaries (stumbling upon nasty ld.so issues on the way.) Manolis is now <a href="http://lists.gnu.org/archive/html/guix-devel/2015-07/msg00029.html">running Guix and building packages natively</a> on GNU/Hurd, which will constitute a large part of the remainder of his project.
</li><li>Rémi has written <a href="http://git.savannah.gnu.org/cgit/guix/gnunet.git/tree/">Guile bindings</a> to crucial parts of the <a href="https://gnunet.org">GNUnet</a> API, including the file sharing API. This will allow him to move to the next step: Writing <a href="http://lists.gnu.org/archive/html/guix-devel/2015-07/msg00033.html">tools to publish and retrieve</a> Guix <a href="http://www.gnu.org/software/guix/manual/en/html_node/Substitutes.html">substitutes</a> (pre-built binaries.)
</li><li>Rohan laid the foundations of the <a href="http://git.savannah.gnu.org/cgit/guix/dhcp.git/tree/">DHCP client</a>. The current code can send packets on all the configured network interfaces. Rohan hopes to have working code to establish leases in the following weeks.
</li></ul><p>Happy hacking!<br /></p><h4>About GNU Guix</h4><p><a href="http://www.gnu.org/software/guix">GNU Guix</a> is a functional package manager for the GNU system. The Guix System Distribution or GuixSD is an advanced distribution of the GNU system that relies on GNU Guix and <a href="http://www.gnu.org/distros/free-system-distribution-guidelines.html">respects the user's freedom</a>.<br /></p><p>In addition to standard package management features, Guix supports transactional upgrades and roll-backs, unprivileged package management, per-user profiles, and garbage collection. Guix uses low-level mechanisms from the Nix package manager, except that packages are defined as native <a href="http://www.gnu.org/software/guile">Guile</a> modules, using extensions to the <a href="http://schemers.org">Scheme</a> language. GuixSD offers a declarative approach to operating system configuration management, and is highly customizable and hackable.<br /></p><p>GuixSD can be used on an i686 or x86_64 machine. It is also possible to use Guix on top of an already installed GNU/Linux system, including on mips64el and armv7.<br /></p></div>https://guix.gnu.org/blog/2015/gnu-guix-welcomes-three-students-for-gsoc/GNU Guix welcomes three students for GSoCLudovic Courtès2015-05-02T00:00:00+02002015-05-02T00:00:00+0200 GNU Guix got 3 slots for the Google Summer of Code (GSoC), as part of GNU, which participates as an organization. So we are pleased to welcome three students this summer: Rohan will work on a DHCP client written in Guile Scheme, with the goal of making it easy to integrate it with GNU dmd ;
Manolis will be able to keep working on porting Guix to GNU/Hurd , with the eventual goal of being able to run GuixSD on GNU/Hurd ;
Rémi will work…<div><p>GNU Guix got 3 slots for the Google Summer of Code (GSoC), as part of GNU, which participates as an organization. So we are pleased to welcome three students this summer:<br /></p><ul><li>Rohan <a href="http://lists.gnu.org/archive/html/guix-devel/2015-04/msg00559.html">will work on a DHCP client</a> written in Guile Scheme, with the goal of making it easy to integrate it with <a href="http://www.gnu.org/software/dmd/">GNU dmd</a>;
</li><li>Manolis will be able to <a href="http://lists.gnu.org/archive/html/guix-devel/2015-04/msg00560.html">keep working on porting Guix to GNU/Hurd</a>, with the eventual goal of being able to run GuixSD on <a href="http://hurd.gnu.org">GNU/Hurd</a>;
</li><li>Rémi <a href="http://lists.gnu.org/archive/html/guix-devel/2015-04/msg00562.html">will work on peer-to-peer software distribution</a> over <a href="http://gnunet.org/">GNUnet</a>.
</li></ul><p>All three projects have very exciting prospects and we are thrilled to get them started! We are also glad that this allows us to strengthen ties with several other GNU packages.<br /></p><h4>About GNU Guix</h4><p><a href="http://www.gnu.org/software/guix">GNU Guix</a> is a functional package manager for the GNU system. The Guix System Distribution (GuixSD) is an advanced distribution of the GNU system that relies on GNU Guix.<br /></p><p>In addition to standard package management features, Guix supports transactional upgrades and roll-backs, unprivileged package management, per-user profiles, and garbage collection. It also offers a declarative approach to operating system configuration management. Guix uses low-level mechanisms from the Nix package manager, except that packages are defined as native <a href="http://www.gnu.org/software/guile">Guile</a> modules, using extensions to the <a href="http://schemers.org">Scheme</a> language.<br /></p><p>At this stage the Guix System Distribution can be used on an i686 or x86_64 machine. It is also possible to use Guix on top of an already installed GNU/Linux system, including on mips64el and armv7.<br /></p></div>https://guix.gnu.org/blog/2014/guix-at-the-2014-gnu-hackers-meeting/Guix at the 2014 GNU Hackers MeetingLudovic Courtès2014-10-11T00:00:00+02002014-10-11T00:00:00+0200 The Guix talk of this summer's GNU Hackers Meeting is now available (get the slides ). DOWNLOAD VIDEO (WebM, 60 minutes) It gives an introduction to Guix from a user's viewpoint, and covers topics such as features for GNU maintainers, programming interfaces, declarative operating system configuration, status of the GNU/Hurd port, and the new Emacs and Web interfaces---with a bunch of demos. Do not miss other fine talks from the GHM . Many thanks to everyone who took care of the video recordings. …<p>The Guix talk of this summer's GNU Hackers Meeting is now available (get the <a href="https://www.gnu.org/software/guix/guix-ghm-20140815.pdf">slides</a>).</p><video src="https://audio-video.gnu.org/video/ghm2014/2014-08--courtes--were-building-the-gnu-system--ghm.webm" controls="controls"><div class="action-box centered-text"><a class="button-big" href="https://audio-video.gnu.org/video/ghm2014/2014-08--courtes--were-building-the-gnu-system--ghm.webm">DOWNLOAD VIDEO</a><p>(WebM, 60 minutes)</p></div></video><p>It gives an introduction to Guix from a user's viewpoint, and covers topics such as features for GNU maintainers, programming interfaces, declarative operating system configuration, status of the GNU/Hurd port, and the new Emacs and Web interfaces---with a bunch of demos.</p><p>Do not miss <a href="http://audio-video.gnu.org/video/ghm2014/">other fine talks from the GHM</a>. Many thanks to everyone who took care of the video recordings.</p>