help-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Half a success with chroot


From: Gábor Boskovits
Subject: Re: Half a success with chroot
Date: Mon, 12 Mar 2018 20:17:36 +0100

2018-03-12 18:39 GMT+01:00 Thorsten Wilms <address@hidden>:
Hi!

Thanks to mbakke in #guix, I managed to chroot from my comfortable Ubuntu into the rather naked Guix SD installation, with a few things working, though it ended with a "cannot pivot old root directory".

Maybe someone here can improve on it; otherwise see it as a rough note about the possibilities and limitations.

Given a Guix SD on /dev/sdb2:

````
sudo mkdir /mnt/guixsd
sudo mount /dev/sdb2 /mnt/guixsd
cd /mnt/guixsd
sudo mount --bind /dev dev
sudo mount --bind /proc proc
sudo mount --bind /sys sys
sudo chroot /mnt/guixsd /run/current-system/profile/bin/bash
=> logged in as root, no commands available
source /etc/profile
=> at least basic shell commands work, as does `guix package -s banana` (yes, that does find something!)
````

````
# su thorwil
$ guix package -i emacs-bash-completion
bash: guix: command not found
$ source /etc/profile
$ guix package -i emacs-bash-completion
guile: warning: failed to install locale
warning: failed to install locale: Invalid argument
guix package: error: failed to connect to `/var/guix/daemon-socket/socket': Connection refused
$ exit
````

Oops, starting guix-daemon:
````
# guix-daemon --build-users-group=guixbuild &
[1] 4347
# su thorwil
$ source /etc/profile
$ guix package -i emacs-bash-completion
guile: warning: failed to install locale
warning: failed to install locale: Invalid argument
accepted connection from pid 4350, user thorwil
substitute: guile: warning: failed to install locale
substitute: warning: failed to install locale: Invalid argument
substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0%
The following package will be installed:
   emacs-bash-completion        2.0.0 /gnu/store/7irxjifw4m8sj0if2nj0r26vf0n0imsj-emacs-bash-completion-2.0.0

substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0%
The following derivations will be built:
   /gnu/store/z55j7zi1hgzyikbmv5gpnbv6sw49j6kw-profile.drv
   /gnu/store/yli3x8jscrcy4vicjvqlcd7z2cnyzc9q-gtk-im-modules.drv
   /gnu/store/sk4l43zrsjjgrnvbwcayf2lm484pnqxd-fonts-dir.drv
   /gnu/store/kk4yd0k0g30fmqwnmrmqv3ygnvl8s2fw-info-dir.drv
   /gnu/store/hffz6p320akp7sbqskxrdlxjslld5qpg-gtk-icon-themes.drv
   /gnu/store/ac501lz2zg8dc51acdcz457fr32r6r0c-xdg-desktop-database.drv
   /gnu/store/2gjkjjrbv8x3xx6xgma2wcaq3xga8wha-xdg-mime-database.drv
   /gnu/store/0mxc3m4l8n7l2h5p95s4cmfzhwhqpjbc-ca-certificate-bundle.drv

/gnu/store/4vgn265kihmk1aayy3rg5h4z00dvlfmy-emacs-bash-completion-2.0.0.drv
   /gnu/store/d3pp0bl6f8ml06yzgm08pnyg3624rlc2-manual-database.drv
0.0 MB will be downloaded:
   /gnu/store/hfc5j4dq387s2iyvz392dja8zc75cvss-emacs-bash-completion-2.0.0
guile: warning: failed to install locale
warning: failed to install locale: Invalid argument
Downloading https://mirror.hydra.gnu.org/guix/nar/gzip/hfc5j4dq387s2iyvz392dja8zc75cvss-emacs-bash-completion-2.0.0...
 emacs-bash-completion-2.0.0  31KiB
                     5.3MiB/s 00:00 [##################] 100.0%

guix package: error: build failed: while setting up the build environment: cannot pivot old root directory onto '/gnu/store/4vgn265kihmk1aayy3rg5h4z00dvlfmy-emacs-bash-completion-2.0.0.drv.chroot/real-root':$
````


Hello! It would be nice to know the error code returned by the pivot_root syscall. It might point to the reason of the failure.
Most probably you can get that using strace. Stracing the daemon is possible using strace -fp pid_of_daemon.
 
--
Thorsten Wilms

thorwil's design for free software:
http://thorwil.wordpress.com/



reply via email to

[Prev in Thread] Current Thread [Next in Thread]