2018-03-12 18:39 GMT+01:00 Thorsten Wilms : > 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/7irxjifw4m8sj0if2nj > 0r26vf0n0imsj-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/hfc5j4dq387s2iyvz > 392dja8zc75cvss-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/4vgn265kihmk1aayy3 > rg5h4z00dvlfmy-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/ > >