GNU bug report logs -
#41541
merge wip-hurd-vm
Previous Next
Reported by: Jan Nieuwenhuizen <janneke <at> gnu.org>
Date: Tue, 26 May 2020 14:22:02 UTC
Severity: normal
Done: Jan Nieuwenhuizen <janneke <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
Message #20 received at 41541 <at> debbugs.gnu.org (full text, mbox):
Mathieu Othacehe writes:
Hello Mathieu,
>> I have managed to completely boot-activation. Still using the same
>> patch for hurd-directives, but I've got a feeling we're getting real
>> close now.
>
> Just discovered your (gnu build hurd-boot), that's awesome!
Thanks...yeah I was just attempting to write a mail about that,
asking/wondering if you think some commits should be collapsed
again...especially the introduction of using MAKEDEV
--8<---------------cut here---------------start------------->8---
Subject: [PATCH 1/9] gnu: hurd: Create minimal "runsystem" script to invoke "rc".
diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm
@@ -329,10 +329,26 @@ boot, since this cannot be done from GNU/Linux."
[...]
+ ;; "@HURD@" and "@COREUTILS@" are a placeholders.
+ (setenv "PATH" "@HURD@/bin:@HURD@/sbin:@COREUTILS@/bin")
@@ -349,10 +374,43 @@ boot, since this cannot be done from GNU/Linux."
[...]
- (invoke "console" "--daemonize" "-c" "/dev/vcs"
- "-d" "vga" "-d" "pc_kbd" "-d" "generic_speaker"))))
+ (format #t "Creating essential device nodes...\n")
+ (with-directory-excursion "/dev"
+ (invoke "MAKEDEV" "--devdir=/dev" "std")
+ (invoke "MAKEDEV" "--devdir=/dev" "vcs")
+ (invoke "MAKEDEV" "--devdir=/dev" "tty1""tty2" "tty3" "tty4" "tty5" "tty6")
+ (invoke "MAKEDEV" "--devdir=/dev" "ptyp0" "ptyp1" "ptyp2")
+ (invoke "MAKEDEV" "--devdir=/dev" "console"))
--8<---------------cut here---------------end--------------->8---
later moving it to hurd-boot, and its subsequent removal...
> I wonder if we could go one step further and move the "rc" script
> outside of the "hurd" package (not sure where to put it though).
Yes, I agree that would be great. I briefly thought about it and gave
up, instead of asking this question...so
The "normal" (old, current master) bootstrap goes like this
/hurd/startup -> /libexec/runsystem -> /hurd/init ->
/libexec/runsystem.hurd -> /libexec/rc
where RC is our initial Guile script. I've managed to patch that into
/hurd/startup -> /libexec/runsystem* -> /libexec/rc
Where, /hurd is symlink to /gnu/store/*-hurd-0.9/hurd/ and runsystem*
now is a very minimal bash script, doing
exec /libexec/rc "$@"
and /libexecc is currently being substituted with the store file name,
which gives us a hurd package that does this
/hurd/startup
-> /gnu/store/xyz-hurd-0.9/libexec/runsystem
-> /gnu/store/xyz-hurd-0.9/libexec/rc
Now, how could we have runsystem run another RC? Hmm, runsystem is
being called with --load and --system arguments too; we could even
give it an --rc=RC-FILE if that's more convenient.
Then, we would only need to add this RC-FILE to the system, maybe add a
%hurd-"something" service?
Hmm. Please share your thoughts, I'm having a go at this.
Greetings,
Janneke
--
Jan Nieuwenhuizen <janneke <at> gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | AvatarĀ® http://AvatarAcademy.com
This bug report was last modified 4 years and 339 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.