Applied, thanks! Joshua Branson, le mar. 24 févr. 2026 05:42:55 -0500, a ecrit: > This is a guide that tells people how to take an existing Hurd distro vm > running > on qemu and flash it to a spare SSD. One can then insert the SSD and be > running > the Hurd. It's sooo easy we should document it! > --- > faq/drivers.mdwn | 2 +- > hurd/running.mdwn | 2 +- > hurd/running/Guix.mdwn | 5 ++ > hurd/running/debian.mdwn | 4 ++ > hurd/running/flash_qemu_img.mdwn | 78 ++++++++++++++++++++++++++++++++ > hurd/running/qemu.mdwn | 5 ++ > 6 files changed, 94 insertions(+), 2 deletions(-) > create mode 100644 hurd/running/flash_qemu_img.mdwn > > diff --git a/faq/drivers.mdwn b/faq/drivers.mdwn > index 02a0c5e9..dd29687a 100644 > --- a/faq/drivers.mdwn > +++ b/faq/drivers.mdwn > @@ -22,7 +22,7 @@ in the BIOS. A cheaper option is the T43 (2GB max RAM). > **Please note that as of January 2026, users must install the Hurd on > physical > machines with a physical CD, because the Hurd has almost no USB support.** > Also > please see our [[recommended Hurd Distributions page|hurd/running/distrib]]. > -One can also run virtually run the hurd via [[qemu|hurd/running/qemu]]. > +One can also virtually run the hurd via [[qemu|hurd/running/qemu]] and use > that image to [[install to real hardware|hurd/running/flash_qemu_img]]. > > Other working Thinkpads include the X200, T400, > [[T410|https://logs.guix.gnu.org/hurd/2025-04-25.log#103752]] or T500 > Thinkpads, > diff --git a/hurd/running.mdwn b/hurd/running.mdwn > index c60efb5a..ee0106e2 100644 > --- a/hurd/running.mdwn > +++ b/hurd/running.mdwn > @@ -17,7 +17,7 @@ There are several different ways to run a GNU/Hurd system: > * [[Distributions|Distrib]] - Distros based on the Hurd > * [[microkernel/mach/gnumach/ports/Xen]] - In Xen > * [[Live_CD]] - As a live CD without installing (can also be run in QEMU) > -* [[QEMU]] - In QEMU > +* [[QEMU]] - In QEMU, which you can [[flash to real > hardware|hurd/running/flash_qemu_img]] > * [[Cloud]] - In the "cloud": OpenStack > * [[Chroots|chroot]] need a couple of tricks to work properly. > * [[VirtualBox]] - In VirtualBox > diff --git a/hurd/running/Guix.mdwn b/hurd/running/Guix.mdwn > index 30b7b62a..36c1ceda 100644 > --- a/hurd/running/Guix.mdwn > +++ b/hurd/running/Guix.mdwn > @@ -6,6 +6,11 @@ GNU/Hurd support has been integrated in Guix. > # QEMU Image > [[!inline pages=hurd/running/Guix/qemu_image raw=yes feeds=no]] > > +--- > +# Flash qemu image to disk > + > +You can install the Hurd to bare metal via flashing a working [[qemu > image|hurd/running/flash_qemu_img]]. > + > --- > # Documentation > > diff --git a/hurd/running/debian.mdwn b/hurd/running/debian.mdwn > index e28d7ed4..9599c1d4 100644 > --- a/hurd/running/debian.mdwn > +++ b/hurd/running/debian.mdwn > @@ -22,6 +22,10 @@ As of late 2025 installation may require larger amount of > RAM (≥ 2 GB) due to > # <a id="crossinstall">CrossInstall</a> > It is possible to install a Debian GNU/Hurd system on a spare partition from > an existing Debian GNU/Linux installation. We call this [[CrossInstall]]. > > +--- > +# Flash qemu image to disk > +You can install the Hurd to bare metal via flashing a working [[qemu > image|hurd/running/flash_qemu_img]]. > + > --- > # Contributing > - [[Porting]] — Helping with porting packages > diff --git a/hurd/running/flash_qemu_img.mdwn > b/hurd/running/flash_qemu_img.mdwn > new file mode 100644 > index 00000000..38d3fd7d > --- /dev/null > +++ b/hurd/running/flash_qemu_img.mdwn > @@ -0,0 +1,78 @@ > +[[!meta copyright="Copyright © 2026 Free Software Foundation, > +Inc."]] > + > +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable > +id="license" text="Permission is granted to copy, distribute and/or modify > this > +document under the terms of the GNU Free Documentation License, Version 1.2 > or > +any later version published by the Free Software Foundation; with no > Invariant > +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the > license > +is included in the section entitled [[GNU Free Documentation > +License|/fdl]]."]]"""]] > + > +[[!meta title="Installing the Hurd from a Qemu Image"]] > + > +# Installing the Hurd from a Qemu Image > + > +Perhaps the easiest method of installing the Hurd on [[real > +hardware|faq/drivers]] is to use a GNU/Linux machine to download a [[qemu > +image|https://cdimage.debian.org/cdimage/ports/latest/hurd-i386/]] (or [[64 > bit > +image|https://cdimage.debian.org/cdimage/ports/latest/hurd-amd64/]]), run it > via > +[[hurd/running/qemu]], update the distribution, install the packages you > want, > +and [[configure your hurd to your > +liking|https://www.debian.org/ports/hurd/hurd-install]], and finally flash > the > +image directly to your SSD. > + > +Please note that as of Feb 2026, the 64 bit image uses > [[hurd/rump/rumpdisk]] by > +default, while the 32 bit image does not use rumpdisk, because rumpdisk is a > +little memory hungry at the moment. If you wish, you can switch to > [[hurd/rump/rumpdisk]]. Please read this [[faq > entry|faq/2_gib_partition_limit]] to learn more about maximum partition sizes. > + > +#### Getting a qemu image > + > +[[!inline pages=hurd/running/debian/qemu_image raw=yes feeds=no]] > + > +#### Flashing a qemu hurd image to an SSD or HDD > + > +Next attach your spare SSD to your GNU/Linux machine via USB to SATA dongle. > StarTech dongles are a good choice. Once you are plugged in run this command > to determine your spare SSD's device name. > + > + $ lsblk > + NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS > + sda 8:0 0 74.5G 0 disk > + ├─sda1 8:1 0 2M 0 part > + └─sda2 8:2 0 74.5G 0 part > + └─cryptroot 253:0 0 74.5G 0 crypt /gnu/store > + / > + sdb 8:16 0 953.9G 0 disk > + └─sdb4 8:20 0 953.9G 0 part > + > +Normally `/dev/sda` and `/dev/sdaN` is GNU/Linux's SSD and `/dev/sdb` is > your blank SSD. In the above example, Guix System is my `sda` and `sdb` is > my spare SSD. To double check your spare SSD's device name, run the above > command with your SATA dongle connected and disconnected. Once you have your > spare SSD's device name, flash your hurd image to it. Here's the command that > worked for me: > + > + # dd if=debian-hurd*.img of=/dev/sdb bs=1m status=progress > + > +Note do not write `/dev/sdb1`. Write it as `/dev/sdb`. The vm image > already contains the partitions. > + > +#### Expand your hurd filesystem partitions. > + > + $ lsblk | grep sdb > + NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS > + sdb 8:16 0 238.5G 0 disk > + ├─sdb1 8:17 0 953M 0 part > + ├─sdb2 8:18 0 1K 0 part > + └─sdb5 8:21 0 4G 0 part > + > +Sweet! Flashing was successful! You cannot really tell here, but my Hurd > partitions are `sdb1` swap, `sdb2` extended, `sdb5` ext2. We need to expand > the `sdb2` and `sdb5` and resize the filesystem to take up all available > space (please be aware of the [[partition size > limits|faq/2_gib_partition_limit]]). That's easily achieved via: > + > + # parted /dev/sdb > + (parted) resizepart 2 100% > + (parted) resizepart 5 100% > + (parted) quit > + # resize2fs /dev/sdb5 > + $ echo new let's check out work! > + $ lsblk | grep sdb > + NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS > + sdb 8:16 0 238.5G 0 disk > + ├─sdb1 8:17 0 953M 0 part > + ├─sdb2 8:18 0 1K 0 part > + └─sdb5 8:21 0 237.5G 0 part > + > +It looks like our ext2 filesystem has expanded to about 240G. Now we can > unplug our SATA dongle, install the SSD to a [[supported Hurd > machine|faq/drivers]] and boot! Our [[hurd/running/x]] page gives some good > window manager recommendations! > + > diff --git a/hurd/running/qemu.mdwn b/hurd/running/qemu.mdwn > index c56292c8..b6cfbc70 100644 > --- a/hurd/running/qemu.mdwn > +++ b/hurd/running/qemu.mdwn > @@ -433,6 +433,11 @@ Note that, contrary to [[GRUB]]'s configuration file, > you don't specify > "`argv[0]`" here, and it's fortunate that neither ext2fs nor exec need a > comma > on their command line... > > +--- > +# Flashing your qemu image to real hardware > + > +If you have a working Hurd distribution running on qemu, then you can > [[flash that image to a spare SSD|hurd/running/flash_qemu_img]]. You could > then install that spare SSD to a [[machine that can run the > Hurd|faq/drivers]]. This is an easy way to install the Hurd on real hardware. > + > --- > # Related Links > > -- > 2.52.0 > >
-- Samuel N: beep beep Miam miam? y: ++ a: kill -MIAM -1 -+- #runtime < /dev/miam -+-
