aboutsummaryrefslogtreecommitdiff
path: root/www/content/notes/hurd
diff options
context:
space:
mode:
Diffstat (limited to 'www/content/notes/hurd')
-rw-r--r--www/content/notes/hurd/_index.md15
-rw-r--r--www/content/notes/hurd/cheat-sheet.md68
-rw-r--r--www/content/notes/hurd/links.md88
-rw-r--r--www/content/notes/hurd/todos.md20
4 files changed, 179 insertions, 12 deletions
diff --git a/www/content/notes/hurd/_index.md b/www/content/notes/hurd/_index.md
new file mode 100644
index 0000000..8faf70b
--- /dev/null
+++ b/www/content/notes/hurd/_index.md
@@ -0,0 +1,15 @@
+---
+title: "Hurd"
+date: 2025-03-03T15:34:41+08:00
+lastmod: 2025-06-12T01:09:39+08:00
+layout: single
+---
+
+This is the gateway page for various notes about
+[GNU/Hurd](https://www.gnu.org/software/hurd/) written by me.
+
+- [Cheat Sheet](/notes/hurd/cheat-sheet)
+
+- [Todos](/notes/hurd/todos)
+
+- [Useful Links](/notes/hurd/links)
diff --git a/www/content/notes/hurd/cheat-sheet.md b/www/content/notes/hurd/cheat-sheet.md
new file mode 100644
index 0000000..6fe5ccd
--- /dev/null
+++ b/www/content/notes/hurd/cheat-sheet.md
@@ -0,0 +1,68 @@
+---
+title: "Hurd Cheat Sheet"
+date: 2025-06-12T00:59:16+08:00
+lastmod: 2025-06-14T20:34:06+08:00
+---
+
+## Mirrors
+
+The mirror has to be `debian-ports`, not `debian`, and many mirror sites do not
+provide it. Following is aliyun mirror:
+
+```txt
+/etc/apt/sources.list
+---
+deb https://mirrors.aliyun.com/debian-ports/ unstable main
+deb https://mirrors.aliyun.com/debian-ports/ unreleased main
+deb-src https://mirrors.aliyun.com/debian/ unstable main
+```
+
+The hurd-amd64 deb-src seems to not work.
+
+## Use QEMU Virtual Machine
+
+For i386, use
+
+```sh
+qemu-system-x86_64 -enable-kvm -m 4G \
+ -net nic -net user,hostfwd=tcp::3222-:22 \
+ -vga vmware -drive cache=writeback,file=[...]
+```
+
+For x86_64, use
+
+```sh
+qemu-system-x86_64 -enable-kvm -m 8G -machine q35 \
+ -net nic -net user,hostfwd=tcp::3223-:22 \
+ -vga vmware -drive cache=writeback,file=[...]
+```
+
+GRUB in the image seems to use hard-coded path of `/dev/*` block file as the
+root partition in the kernel command line rather than GUID, so if the hard disk
+bus is changed in QEMU and the path is changed accordingly, the system can't
+boot on.
+
+QEMU cli arguments `-machine q35` enables AHCI and SATA, and is **required for
+official x86_64 image to boot**. As for i386, I haven't checked now.
+
+There is [a Deno script](https://github.com/crupest/crupest/blob/dev/deno/tools/manage-vm.ts)
+written by me to help define and build QEMU cli arguments of VMs.
+
+## Inside Hurd
+
+Configure/Setup network
+
+```sh
+settrans -fgap /servers/socket/2 /hurd/pfinet \
+ -i /dev/eth0 -a 10.0.2.15 -g 10.0.2.2 -m 255.255.255.0
+fsysopts /servers/socket/2 /hurd/pfinet \
+ -i /dev/eth0 -a 10.0.2.15 -g 10.0.2.2 -m 255.255.255.0
+fsysopts /server/socket/2 -a 10.0.2.15 -g 10.0.2.2 -m 255.255.255.0
+```
+
+Setup apt
+
+```sh
+apt-get --allow-unauthenticated --allow-insecure-repositories update
+apt-get --allow-unauthenticated upgrade
+```
diff --git a/www/content/notes/hurd/links.md b/www/content/notes/hurd/links.md
new file mode 100644
index 0000000..1e966d4
--- /dev/null
+++ b/www/content/notes/hurd/links.md
@@ -0,0 +1,88 @@
+---
+title: "Hurd Useful Links"
+date: 2025-06-14T20:34:06+08:00
+lastmod: 2025-06-14T20:34:06+08:00
+---
+
+## links
+
+| name | link |
+| --- | --- |
+| kernel-list-archive | <https://lists.gnu.org/archive/html/bug-hurd/> |
+| debian-list-archive | <https://lists.debian.org/debian-hurd/> |
+| irc-archive | <https://logs.guix.gnu.org/hurd/> |
+| kernel-home | <https://www.gnu.org/software/hurd/index.html> |
+| debian-home | <https://www.debian.org/ports/hurd/> |
+
+refs:
+
+| name | link |
+| --- | --- |
+| c | <https://en.cppreference.com/w/c> |
+| posix latest | <https://pubs.opengroup.org/onlinepubs/9799919799/> |
+| posix 2013 | <https://pubs.opengroup.org/onlinepubs/9699919799.2013edition/> |
+| posix 2008 | <https://pubs.opengroup.org/onlinepubs/9699919799.2008edition/> |
+| glibc | <https://sourceware.org/glibc/manual/2.41/html_mono/libc.html> |
+
+## mailing lists / irc
+
+| name | address |
+| --- | --- |
+| hurd | <bug-hurd@gnu.org> |
+| debian | <debian-hurd@lists.debian.org> |
+| irc | librechat #hurd |
+
+## *_MAX patch
+
+See [this](posts/c-func-ext.md)
+
+## git repos
+
+Clone all at once:
+
+```sh
+# glibc is too big, so not clone here.
+for repo in hurd gnumach mig web; do
+ if [ ! -d $repo ]; then
+ git clone "https://crupest.life/git/hurd/$repo.git"
+ pushd $repo
+ git remote add upstream "https://git.savannah.gnu.org/git/hurd/$repo.git"
+ popd
+ fi
+done
+```
+
+{{< link-group >}}
+hurd
+cru: <https://crupest.life/git/hurd/hurd.git>
+upstream: <https://git.savannah.gnu.org/git/hurd/hurd.git>
+debian: <https://salsa.debian.org/hurd-team/hurd>
+{{< /link-group >}}
+
+{{< link-group >}}
+gnumach
+cru: <https://crupest.life/git/hurd/gnumach.git>
+upstream: <https://git.savannah.gnu.org/git/hurd/gnumach.git>
+debian: <https://salsa.debian.org/hurd-team/gnumach>
+{{< /link-group >}}
+
+{{< link-group >}}
+mig
+cru: <https://crupest.life/git/hurd/mig.git>
+upstream: <https://git.savannah.gnu.org/git/hurd/mig.git>
+debian: <https://salsa.debian.org/hurd-team/mig>
+{{< /link-group >}}
+
+{{< link-group >}}
+glibc
+cru: <https://crupest.life/git/hurd/glibc.git>
+upstream: <git://sourceware.org/git/glibc.git>
+debian: <https://salsa.debian.org/glibc-team/glibc>
+mirror: <https://mirrors.tuna.tsinghua.edu.cn/git/glibc.git>
+{{< /link-group >}}
+
+{{< link-group >}}
+web
+cru: <https://crupest.life/git/hurd/web.git>
+upstream: <https://git.savannah.gnu.org/git/hurd/web.git>
+{{< /link-group >}}
diff --git a/www/content/notes/hurd/todos.md b/www/content/notes/hurd/todos.md
index cd93f01..2dbded3 100644
--- a/www/content/notes/hurd/todos.md
+++ b/www/content/notes/hurd/todos.md
@@ -1,7 +1,7 @@
---
title: "Hurd Todos"
date: 2025-03-03T21:22:35+08:00
-lastmod: 2025-03-03T23:28:46+08:00
+lastmod: 2025-06-14T20:34:06+08:00
params:
css:
- todos
@@ -9,7 +9,11 @@ params:
## Porting
-{{< todo name=pam state=give-up >}}
+### hurd-fs4 {class="todo working"}
+
+<https://salsa.debian.org/rust-team/debcargo-conf/-/merge_requests/872>
+
+### pam {class="todo give-up"}
{{< link-group >}}
git
@@ -23,9 +27,7 @@ mail
<https://lists.debian.org/debian-hurd/2025/02/msg00018.html>
{{< /link-group >}}
-{{< /todo >}}
-
-{{< todo name=abseil state=working >}}
+### abseil {class="todo working"}
{{< link-group >}}
git
@@ -40,9 +42,7 @@ mail
<https://lists.debian.org/debian-hurd/2025/02/msg00035.html>
{{< /link-group >}}
-{{< /todo >}}
-
-{{< todo name=libgav1 state=done >}}
+### libgav1 {class="todo done"}
{{< link-group >}}
git
@@ -56,7 +56,3 @@ misc
mail: <https://lists.debian.org/debian-hurd/2025/02/msg00016.html>
gerrit: <https://chromium-review.googlesource.com/c/codecs/libgav1/+/6239812>
{{< /link-group >}}
-
-{{< /todo >}}
-
-