all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* create a symlink
@ 2018-04-19  2:54 Rene
  2018-04-19  6:26 ` Danny Milosavljevic
  0 siblings, 1 reply; 16+ messages in thread
From: Rene @ 2018-04-19  2:54 UTC (permalink / raw)
  To: guix-devel@gnu.org

[-- Attachment #1: Type: text/plain, Size: 1335 bytes --]

Hello,

In 'gnu/build/install.scm', I try to create a symlink from '/gnu/store/..hurd-0.9' to /hurd during 'guix system init  '.

But Guix waits for a string, is it possible to use a package to do the symlink?

--------CODE---------------

(let ((hurd-1 (string-append target

                                     "/hurd")))

    (let try ()

      (catch 'system-error

             (lambda ()

               (symlink hurd hurd-1))

             (lambda args

               ;; If hurd-1 already exists, overwrite it.

               (if (= EEXIST (system-error-errno args))

                   (begin

                     (delete-file hurd-1)

                     (try))

                   (apply throw args))))))

-----------------------

-----------ERROR-------------

In guix/scripts/system.scm:

181: 4 [#<procedure b1fd9c0 at guix/scripts/system.scm:183:4 (state)> #]

In ice-9/eval.scm:

432: 3 [eval # #]

In ice-9/boot-9.scm:

157: 2 [catch system-error #<procedure afcd888 at ice-9/eval.scm:416:20 ()> ...]

157: 1 [catch system-error #<procedure afcd858 at guix/ui.scm:359:2 ()> ...]

In unknown file:

   ?: 0 [symlink # "/home/jin/subhurd/rfs/hurd"]

ERROR: In procedure symlink:

ERROR: Wrong type (expecting string): #<package hurd@0.9 gnu/packages/hurd.scm:251 98c7120>

--------------------------

Thank you

Rene

[-- Attachment #2: Type: text/html, Size: 14950 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread
* Re: create a symlink
@ 2019-03-08 21:13 Rene
  2019-03-09  8:22 ` Danny Milosavljevic
  0 siblings, 1 reply; 16+ messages in thread
From: Rene @ 2019-03-08 21:13 UTC (permalink / raw)
  To: Danny Milosavljevic; +Cc: guix-devel

Hello,

Danny Milosavljevic <dannym@scratchpost.org> writes:

>
> What is supposed to load the "/hurd" that would be created ?
>

After starting GNU Mach microkernel, the hurd translators are required to start
the operating system.

At the moment all components like gnumach, hurd servers point to /hurd.

Maybe there is a way to avoid links?

-- 

Rene

^ permalink raw reply	[flat|nested] 16+ messages in thread
* Re: create a symlink
@ 2019-03-12 20:57 Rene
  2019-03-13 11:25 ` Danny Milosavljevic
  2019-03-13 14:52 ` Ludovic Courtès
  0 siblings, 2 replies; 16+ messages in thread
From: Rene @ 2019-03-12 20:57 UTC (permalink / raw)
  To: Danny Milosavljevic; +Cc: guix-devel


Hi,

Danny Milosavljevic <dannym@scratchpost.org> writes:

>
> But as far as I understand, you boot Debian/Hurd or something and then
> it loads Guix, right?
>

Yes, I use Guix as package manager like another linux distro.

I currently use `./pre-inst-env guix system init doc/os-config-hurd.scm
/guix`, where /guix is an empty partition to populate GuixSD os.

>
> It should be easy to adapt gnu/bootloader/grub.scm's grub-configuration-file
> to emit those and then reconfigure.
>
> (Later, we could add "multiboot" and "modules" to <menu-entry> in
> gnu/bootloader.scm)
>
> However, it's a dangerous part to modify since this part cannot be rolled
> back easily.  So don't make a typo ;)
>

I get It.

I found a conversation in bug-hurd, maybe it will work to avoid links like /hurd.
http://lists.gnu.org/archive/html/bug-hurd/2015-07/msg00002.html

How I can change "/hurd/" by "/gnu/store/abc..-hurd-0.9/hurd/" in
<hurd/paths.h> through Guix?

--8<---------------cut here---------------start------------->8---
/* Hurd servers are specified by symbols _HURD_FOO,
   the canonical pathname being /hurd/foo.  */

#define       _HURD           "/hurd/"
#define _HURD_STARTUP   _HURD "startup"
#define _HURD_PROC       _HURD "proc"
#define _HURD_AUTH  _HURD "auth"
--8<---------------cut here---------------end--------------->8---


-- 

Rene

^ permalink raw reply	[flat|nested] 16+ messages in thread
* Re: create a symlink
@ 2019-03-28  1:54 Rene
  2019-04-03  7:12 ` Chris Marusich
  0 siblings, 1 reply; 16+ messages in thread
From: Rene @ 2019-03-28  1:54 UTC (permalink / raw)
  To: Danny Milosavljevic; +Cc: guix-devel


Hello Danny,

Danny Milosavljevic <dannym@scratchpost.org> writes:
>
> In that case, /hurd could be handled like we handle /run/booted-system .
>

As I understand Guix, /run/booted-system is created during the
boot(activation) process; however, I think that to perform the
activation there should already be /hurd (binaries like ext2fs.static,exec..).

> Rene could use service extension like
>
>   (service-extension boot-service-type hurd-boot-gexp)
>
> in order to create the "/hurd" symlink (in hurd-boot-gexp).
>
> That is, if the Hurd can boot that far (until the root filesystem is mounted).
>
> In fact, as a hack, we could create a dummy service that does the service
> extension and use it for the Hurd.
>

For now, I did the following:

--8<---------------cut here---------------start------------->8---
lrwxr-xr-x  1 root root    37 Mar 28 00:19 bin -> /var/guix/profiles/system/profile/bin
drwxr-xr-x  3 root root  4096 Mar 28 00:19 boot
drwxr-xr-x  4 root root  4096 Mar 27 17:31 dev
drwxr-xr-x  3 root root  4096 Mar 27 18:05 etc
drwxr-xr-x  3 root root  4096 Mar 28 00:15 gnu
drwxr-xr-x  3 root root  4096 Mar 27 17:31 home
lrwxr-xr-x  1 root root    38 Mar 28 00:19 hurd -> /var/guix/profiles/system/profile/hurd
drwxr-xr-x  2 root root  4096 Mar 28 00:19 lib
lrwxr-xr-x  1 root root    41 Mar 28 00:19 libexec -> /var/guix/profiles/system/profile/libexec
drwx------  2 root root 16384 Mar 28 00:10 lost+found
drwxr-xr-x  2 root root  4096 Mar 28 00:19 mnt
dr-xr-xr-x  0 root root     0 Dec 31  1969 proc
drwxr-xr-x  3 root root  4096 Mar 27 17:35 root
drwxr-xr-x  3 root root  4096 Mar 27 17:31 run
lrwxr-xr-x  1 root root    38 Mar 28 00:19 sbin -> /var/guix/profiles/system/profile/sbin
drwxr-xr-x  3 root root  4096 Mar 28 00:19 servers
drwxrwxrwt  2 root root  4096 Mar 27 18:01 tmp
drwxr-xr-x 10 root root  4096 Mar 27 17:31 var
--8<---------------cut here---------------end--------------->8---

In this way the gnumach kernel can find /hurd and the binaries needed to
start the whole system.

On the other hand, in linux there is `--system` argument, how does this
argument work?, Is there a script that uses it?. To test `--system`, I
removed it from my linux system and when loging in with my user it does not
detect any command.

--8<---------------cut here---------------start------------->8---
BOOT_IMAGE=/gnu/store/fiqgyafknihbvmz4j62ddb67p79kfcbk-linux-libre-4.19.13/bzImage --root=my-root --system=/var/guix/profiles/system-87-link --load=/var/guix/profiles/system-87-link/boot
--8<---------------cut here---------------end--------------->8---

Thank you
-- 

Rene

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

end of thread, other threads:[~2019-04-03  7:12 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-04-19  2:54 create a symlink Rene
2018-04-19  6:26 ` Danny Milosavljevic
2018-04-19 21:23   ` Joshua Branson
2018-04-21 14:31   ` Rene
2018-04-27  5:20   ` Rene
2018-04-27 15:08     ` Danny Milosavljevic
2019-03-07 22:11       ` Rene
2019-03-08  8:15         ` Danny Milosavljevic
  -- strict thread matches above, loose matches on Subject: below --
2019-03-08 21:13 Rene
2019-03-09  8:22 ` Danny Milosavljevic
2019-03-12 20:57 Rene
2019-03-13 11:25 ` Danny Milosavljevic
2019-03-13 14:52 ` Ludovic Courtès
2019-03-25 23:06   ` Danny Milosavljevic
2019-03-28  1:54 Rene
2019-04-03  7:12 ` Chris Marusich

Code repositories for project(s) associated with this external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.