unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [BLOG] Childhurds and GNU/Hurd substitutes
@ 2020-10-08 13:34 Jan Nieuwenhuizen
  2020-10-08 15:27 ` Tanguy Le Carrour
  2020-10-14  9:47 ` zimoun
  0 siblings, 2 replies; 8+ messages in thread
From: Jan Nieuwenhuizen @ 2020-10-08 13:34 UTC (permalink / raw)
  To: guix-devel, bug-hurd

Hi!

We have just published a blog post on building your own Guix System with
GNU/Hurd and running it in a virtual machine; the road we traveled since
beginning of April and what is possible right now.  Read it here:

    https://guix.gnu.org/en/blog/2020/childhurds-and-substitutes/

Enjoy!
Janneke, Ludovic & Mathieu

-- 
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [BLOG] Childhurds and GNU/Hurd substitutes
  2020-10-08 13:34 [BLOG] Childhurds and GNU/Hurd substitutes Jan Nieuwenhuizen
@ 2020-10-08 15:27 ` Tanguy Le Carrour
  2020-10-14  9:47 ` zimoun
  1 sibling, 0 replies; 8+ messages in thread
From: Tanguy Le Carrour @ 2020-10-08 15:27 UTC (permalink / raw)
  To: Jan Nieuwenhuizen; +Cc: guix-devel, bug-hurd

Hi Janneke, Hi Guix!

Le 10/08, Jan Nieuwenhuizen a écrit :
> We have just published a blog post on building your own Guix System with
> GNU/Hurd and running it in a virtual machine; the road we traveled since
> beginning of April and what is possible right now.  Read it here:
> 
>     https://guix.gnu.org/en/blog/2020/childhurds-and-substitutes/
> 
> Enjoy!
> Janneke, Ludovic & Mathieu

Thank you guys for all the time and energy you've put into the Hurd!
Can't wait to run my own childhurd!

Cheers!

-- 
Tanguy


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [BLOG] Childhurds and GNU/Hurd substitutes
  2020-10-08 13:34 [BLOG] Childhurds and GNU/Hurd substitutes Jan Nieuwenhuizen
  2020-10-08 15:27 ` Tanguy Le Carrour
@ 2020-10-14  9:47 ` zimoun
  2020-10-14 14:15   ` Jan Nieuwenhuizen
  1 sibling, 1 reply; 8+ messages in thread
From: zimoun @ 2020-10-14  9:47 UTC (permalink / raw)
  To: Jan Nieuwenhuizen, guix-devel

Dear,

On Thu, 08 Oct 2020 at 15:34, Jan Nieuwenhuizen <janneke@gnu.org> wrote:

> We have just published a blog post on building your own Guix System with
> GNU/Hurd and running it in a virtual machine; the road we traveled since
> beginning of April and what is possible right now.  Read it here:
>
>     https://guix.gnu.org/en/blog/2020/childhurds-and-substitutes/

Amazing!


On foreign distro, I have missed how to setup the “childhurd“.  The
“guix system” is still a bit mysterious to me…


Using this command line (from gnu/system/examples/bare-hurd.tmpl):

    guix environment --ad-hoc qemu \
         -- qemu-system-i386 -enable-kvm -m 512  \
          -device rtl8139,netdev=net0 -netdev user,id=net0,hostfwd=tcp:127.0.0.1:10022-:2222 \
         -snapshot -hda \
         $(guix system disk-image -t hurd-raw bare-hurd.tmpl)

it is telling me that the ’ssh’ service is not started.  Therefore,

    ssh -p 10022 root@localhost
    ssh: connect to host localhost port 10022: Connection refused

What do I miss?


Then,

    login> login root RET RET
    root@guixygnu ~# $(guix build hello)/bin/hello

downloads, builds, and displays as expected “Hello, world!”. \o/


Last, I am confused:

   debian$ guix build hello --target=586-pc-gnu hello
   /gnu/store/09sz4qsqp3zgnbaxhzppspaxihwmfzll-hello-2.10

   root@guixygnu ~# guix build hello
   /gnu/store/<other-hash>-hello-2.10

What do I miss?


(Sorry for these naive questions.)


Thank you!  All is really neat!

All the best,
simon


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [BLOG] Childhurds and GNU/Hurd substitutes
  2020-10-14  9:47 ` zimoun
@ 2020-10-14 14:15   ` Jan Nieuwenhuizen
  2020-10-14 20:31     ` zimoun
  0 siblings, 1 reply; 8+ messages in thread
From: Jan Nieuwenhuizen @ 2020-10-14 14:15 UTC (permalink / raw)
  To: zimoun; +Cc: guix-devel

zimoun writes:

Dear Simon,

> On Thu, 08 Oct 2020 at 15:34, Jan Nieuwenhuizen <janneke@gnu.org> wrote:
>
>> We have just published a blog post on building your own Guix System with
>> GNU/Hurd and running it in a virtual machine; the road we traveled since
>> beginning of April and what is possible right now.  Read it here:
>>
>>     https://guix.gnu.org/en/blog/2020/childhurds-and-substitutes/
>
> Amazing!

Thanks!

> On foreign distro, I have missed how to setup the “childhurd“.  The
> “guix system” is still a bit mysterious to me…

Yeah, guix system in essence "just" builds a disk-image (aka vm-image).
Then, qemu can start that image.

> Using this command line (from gnu/system/examples/bare-hurd.tmpl):
>
>     guix environment --ad-hoc qemu \
>          -- qemu-system-i386 -enable-kvm -m 512  \
>           -device rtl8139,netdev=net0 -netdev user,id=net0,hostfwd=tcp:127.0.0.1:10022-:2222 \
>          -snapshot -hda \
>          $(guix system disk-image -t hurd-raw bare-hurd.tmpl)
>
> it is telling me that the ’ssh’ service is not started.  Therefore,
>
>     ssh -p 10022 root@localhost
>     ssh: connect to host localhost port 10022: Connection refused
>
> What do I miss?

I have no idea.  This exact command works for me.  Maybe you had bad
luck/try again?  Does `herd start ssh' work after you login as root?

It could be that your "bad luck" comes from qemu networking -- maybe you
could try running your foreign distro's qemu instead of guix's?

> Then,
>
>     login> login root RET RET
>     root@guixygnu ~# $(guix build hello)/bin/hello
>
> downloads, builds, and displays as expected “Hello, world!”. \o/

\o/

> Last, I am confused:
>
>    debian$ guix build hello --target=586-pc-gnu hello
>    /gnu/store/09sz4qsqp3zgnbaxhzppspaxihwmfzll-hello-2.10
>
>    root@guixygnu ~# guix build hello
>    /gnu/store/<other-hash>-hello-2.10
>
> What do I miss?

It's tricky; --target is != --system: --target is a cross-build.  IOW,
--system => (%current-system), --target => (%current-target-system).

So,

    guix build hello --system=i586-gnu hello

should give the identical hash.

> (Sorry for these naive questions.)

You're welcome.  Thanks for looking at this!

> Thank you!  All is really neat!

Hehe, that's what we are doing it for;

Have fun!
Janneke

-- 
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [BLOG] Childhurds and GNU/Hurd substitutes
  2020-10-14 14:15   ` Jan Nieuwenhuizen
@ 2020-10-14 20:31     ` zimoun
  2020-10-14 20:57       ` Jan Nieuwenhuizen
  2020-10-15  7:13       ` Tanguy Le Carrour
  0 siblings, 2 replies; 8+ messages in thread
From: zimoun @ 2020-10-14 20:31 UTC (permalink / raw)
  To: Jan Nieuwenhuizen; +Cc: Guix Devel

Dear Janneke,

Thank you for the help!  I have fun. :-)


On Wed, 14 Oct 2020 at 16:15, Jan Nieuwenhuizen <janneke@gnu.org> wrote:

> > Using this command line (from gnu/system/examples/bare-hurd.tmpl):
> >
> >     guix environment --ad-hoc qemu \
> >          -- qemu-system-i386 -enable-kvm -m 512  \
> >           -device rtl8139,netdev=net0 -netdev user,id=net0,hostfwd=tcp:127.0.0.1:10022-:2222 \
> >          -snapshot -hda \
> >          $(guix system disk-image -t hurd-raw bare-hurd.tmpl)
> >
> > it is telling me that the ’ssh’ service is not started.  Therefore,
> >
> >     ssh -p 10022 root@localhost
> >     ssh: connect to host localhost port 10022: Connection refused
> >
> > What do I miss?
>
> I have no idea.  This exact command works for me.  Maybe you had bad
> luck/try again?  Does `herd start ssh' work after you login as root?
>
> It could be that your "bad luck" comes from qemu networking -- maybe you
> could try running your foreign distro's qemu instead of guix's?

I do not know if it was bad luck or if "herd start ssh" does the trick
but here we go! \o/

--8<---------------cut here---------------start------------->8---
$ ssh -p 10022 root@localhost
The authenticity of host '[localhost]:10022 ([127.0.0.1]:10022)' can't
be established.
ECDSA key fingerprint is SHA256:iETZ8thOyFqk+35g02tRW9FRzLqilgYYlxWr/9xn/kI.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[localhost]:10022' (ECDSA) to the list of
known hosts.


  This is the GNU Hurd.  Welcome.
--8<---------------cut here---------------end--------------->8---

Thank you.


> > Last, I am confused:
> >
> >    debian$ guix build hello --target=i586-pc-gnu hello
> >    /gnu/store/09sz4qsqp3zgnbaxhzppspaxihwmfzll-hello-2.10

[..]

> It's tricky; --target is != --system: --target is a cross-build.  IOW,
> --system => (%current-system), --target => (%current-target-system).
>
> So,
>
>     guix build hello --system=i586-gnu hello
>
> should give the identical hash.

What is the target?  i586-pc-gnu or i586-gnu?  The blog post mentions
'i586-pc-gnu' at the beginning and then 'i586-gnu'.  I suppose it is
'i586-gnu' since using this target produces the expected hash.
What do I miss?


All the best,
simon


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [BLOG] Childhurds and GNU/Hurd substitutes
  2020-10-14 20:31     ` zimoun
@ 2020-10-14 20:57       ` Jan Nieuwenhuizen
  2020-10-14 21:17         ` zimoun
  2020-10-15  7:13       ` Tanguy Le Carrour
  1 sibling, 1 reply; 8+ messages in thread
From: Jan Nieuwenhuizen @ 2020-10-14 20:57 UTC (permalink / raw)
  To: zimoun; +Cc: Guix Devel

zimoun writes:

Dear Simon,

> Thank you for the help!  I have fun. :-)

Good!

> On Wed, 14 Oct 2020 at 16:15, Jan Nieuwenhuizen <janneke@gnu.org> wrote:
> I do not know if it was bad luck or if "herd start ssh" does the trick
> but here we go! \o/
>
> $ ssh -p 10022 root@localhost
> The authenticity of host '[localhost]:10022 ([127.0.0.1]:10022)' can't
> be established.
> ECDSA key fingerprint is SHA256:iETZ8thOyFqk+35g02tRW9FRzLqilgYYlxWr/9xn/kI.
> Are you sure you want to continue connecting (yes/no)? yes
> Warning: Permanently added '[localhost]:10022' (ECDSA) to the list of
> known hosts.
> 
> 
>   This is the GNU Hurd.  Welcome.
>
> Thank you.

\o/

>> > Last, I am confused:
>> >
>> >    debian$ guix build hello --target=i586-pc-gnu hello
>> >    /gnu/store/09sz4qsqp3zgnbaxhzppspaxihwmfzll-hello-2.10
>
> [..]
>
>> It's tricky; --target is != --system: --target is a cross-build.  IOW,
>> --system => (%current-system), --target => (%current-target-system).
>>
>> So,
>>
>>     guix build hello --system=i586-gnu hello
>>
>> should give the identical hash.
>
> What is the target?  i586-pc-gnu or i586-gnu?  The blog post mentions
> 'i586-pc-gnu' at the beginning and then 'i586-gnu'.  I suppose it is
> 'i586-gnu' since using this target produces the expected hash.
> What do I miss?

Yeah, this can be confusing.  The target is a triplet
(https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.69/html_node/Specifying-Target-Triplets.html),
e.g.  i586-pc-gnu, x86_64-unknown-linux-gnu; system is specified by the
platform, or interpreter name; see e.g. gnu/packages/bootstrap.scm:
glibc-dynamic-linker for a list of platforms.

Greetings,
Janneke

-- 
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [BLOG] Childhurds and GNU/Hurd substitutes
  2020-10-14 20:57       ` Jan Nieuwenhuizen
@ 2020-10-14 21:17         ` zimoun
  0 siblings, 0 replies; 8+ messages in thread
From: zimoun @ 2020-10-14 21:17 UTC (permalink / raw)
  To: Jan Nieuwenhuizen; +Cc: Guix Devel

On Wed, 14 Oct 2020 at 22:57, Jan Nieuwenhuizen <janneke@gnu.org> wrote:

> >> It's tricky; --target is != --system: --target is a cross-build.  IOW,
> >> --system => (%current-system), --target => (%current-target-system).

[..]

> Yeah, this can be confusing.  The target is a triplet
> (https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.69/html_node/Specifying-Target-Triplets.html),
> e.g.  i586-pc-gnu, x86_64-unknown-linux-gnu; system is specified by the
> platform, or interpreter name; see e.g. gnu/packages/bootstrap.scm:
> glibc-dynamic-linker for a list of platforms.

Ah ok!  Sorry, you already told me: --target != --system.  Just previously.

Well, the Zen of Python (python -c 'import this') seems appropriate
here: "Although that way may not be obvious at first unless you're
Dutch".  :-) Even if it is only inherited from autoconf. :-)

Cheers,
simon


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [BLOG] Childhurds and GNU/Hurd substitutes
  2020-10-14 20:31     ` zimoun
  2020-10-14 20:57       ` Jan Nieuwenhuizen
@ 2020-10-15  7:13       ` Tanguy Le Carrour
  1 sibling, 0 replies; 8+ messages in thread
From: Tanguy Le Carrour @ 2020-10-15  7:13 UTC (permalink / raw)
  To: Jan Nieuwenhuizen; +Cc: Guix Devel

Le 10/08, Tanguy Le Carrour a écrit :
>Le 10/08, Jan Nieuwenhuizen a écrit :
>> We have just published a blog post on building your own Guix System with
>> GNU/Hurd and running it in a virtual machine; the road we traveled since
>> beginning of April and what is possible right now.  Read it here:
>> 
>>     https://guix.gnu.org/en/blog/2020/childhurds-and-substitutes/
>> […]
>
>Thank you guys for all the time and energy you've put into the Hurd!
>Can't wait to run my own childhurd!

```
$ ssh -p 10022 root@localhost


  This is the GNU Hurd.  Welcome.

root@childhurd ~# uname -a
GNU childhurd 0.9 GNU-Mach 1.8/Hurd-0.9 i686-AT386 GNU
```

It's alive! \o/

Thanks!!

-- 
Tanguy


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2020-10-15  7:13 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-10-08 13:34 [BLOG] Childhurds and GNU/Hurd substitutes Jan Nieuwenhuizen
2020-10-08 15:27 ` Tanguy Le Carrour
2020-10-14  9:47 ` zimoun
2020-10-14 14:15   ` Jan Nieuwenhuizen
2020-10-14 20:31     ` zimoun
2020-10-14 20:57       ` Jan Nieuwenhuizen
2020-10-14 21:17         ` zimoun
2020-10-15  7:13       ` Tanguy Le Carrour

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).