Re: [BLOG] Childhurds and GNU/Hurd substitutes
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
Re: [BLOG] Childhurds and GNU/Hurd substitutes
On Wed, 14 Oct 2020 at 22:57, Jan Nieuwenhuizen 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
Re: [BLOG] Childhurds and GNU/Hurd substitutes
zimoun writes: Dear Simon, > Thank you for the help! I have fun. :-) Good! > On Wed, 14 Oct 2020 at 16:15, Jan Nieuwenhuizen 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 | GNU LilyPond http://lilypond.org Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com
Re: [BLOG] Childhurds and GNU/Hurd substitutes
Dear Janneke, Thank you for the help! I have fun. :-) On Wed, 14 Oct 2020 at 16:15, Jan Nieuwenhuizen 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-: \ > > -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
Re: [BLOG] Childhurds and GNU/Hurd substitutes
zimoun writes: Dear Simon, > On Thu, 08 Oct 2020 at 15:34, Jan Nieuwenhuizen 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-: \ > -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/-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 | GNU LilyPond http://lilypond.org Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com
Re: [BLOG] Childhurds and GNU/Hurd substitutes
Dear, On Thu, 08 Oct 2020 at 15:34, Jan Nieuwenhuizen 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-: \ -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/-hello-2.10 What do I miss? (Sorry for these naive questions.) Thank you! All is really neat! All the best, simon
Re: [BLOG] Childhurds and GNU/Hurd substitutes
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