[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#41541: merge wip-hurd-vm
From: |
Jan Nieuwenhuizen |
Subject: |
bug#41541: merge wip-hurd-vm |
Date: |
Tue, 02 Jun 2020 11:24:33 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) |
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@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com
- bug#41541: merge wip-hurd-vm, Mathieu Othacehe, 2020/06/02
- bug#41541: merge wip-hurd-vm,
Jan Nieuwenhuizen <=
- bug#41541: merge wip-hurd-vm, Mathieu Othacehe, 2020/06/02
- bug#41541: merge wip-hurd-vm, Jan Nieuwenhuizen, 2020/06/02
- bug#41541: merge wip-hurd-vm, Ludovic Courtès, 2020/06/02
- bug#41541: merge wip-hurd-vm, Jan Nieuwenhuizen, 2020/06/02
- bug#41541: merge wip-hurd-vm, Ludovic Courtès, 2020/06/03
- bug#41541: merge wip-hurd-vm, Jan Nieuwenhuizen, 2020/06/03
- bug#41541: merge wip-hurd-vm, Mathieu Othacehe, 2020/06/03
- bug#41541: merge wip-hurd-vm, Jan Nieuwenhuizen, 2020/06/03
- bug#41541: merge wip-hurd-vm, Ludovic Courtès, 2020/06/04
- bug#41541: merge wip-hurd-vm, Jan Nieuwenhuizen, 2020/06/04