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 -+-

Reply via email to