On 07/14/2017 05:52 AM, Federico Bruni wrote:
https://github.com/fedelibre/LilyDevOS/releases/tag/v0.1
Hi Federico,
This looks great! I downloaded the one for linux (I'm on Ubuntu 16.04
LTS) and gave it a try. I ran into a few things but got it working and
successfully built LilyPond in the container. Details below.
One issue was that I had systemd installed, but not systemd-container,
so I had to install that. So maybe we should add that to the
dependencies in the instructions?
$ sudo systemd-nspawn -bD lilydevos-0.1
sudo: unable to resolve host t440s
sudo: systemd-nspawn: command not found
$ systemd-nspawn --help
The program 'systemd-nspawn' is currently not installed. You can install
it by typing:
sudo apt install systemd-container
After that, things worked, although I saw some "Failed to..." messages,
not sure if they are a problem or not:
$ sudo systemd-nspawn -bD lilydevos-0.1
sudo: unable to resolve host t440s
Spawning container lilydevos-0.1 on
/home/paul/lilypond-world/LilyDevOS/lilydevos-0.1.
Press ^] three times within 1s to kill container.
Failed to create directory
/home/paul/lilypond-world/LilyDevOS/lilydevos-0.1/sys/fs/selinux:
Read-only file system
Failed to create directory
/home/paul/lilypond-world/LilyDevOS/lilydevos-0.1/sys/fs/selinux:
Read-only file system
systemd 233 running in system mode. (+PAM +AUDIT +SELINUX +IMA -APPARMOR
+SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4
+SECCOMP +BLKID +ELFUTILS +KMOD +IDN default-hierarchy=hybrid)
Detected virtualization systemd-nspawn.
Detected architecture x86-64.
Welcome to Fedora 26 (Twenty Six)!
Set hostname to <lilydev>.
Initializing machine ID from random generator.
Failed to install release agent, ignoring: File exists
[ OK ] Listening on /dev/initctl Compatibility Named Pipe.
[ OK ] Listening on Journal Socket (/dev/log).
[ OK ] Created slice User and Session Slice.
[ OK ] Reached target Swap.
[ OK ] Listening on Process Core Dump Socket.
[ OK ] Created slice System Slice.
[ OK ] Created slice system-getty.slice.
Mounting Huge Pages File System...
Mounting FUSE Control File System...
[ OK ] Reached target Slices.
Mounting POSIX Message Queue File System...
[ OK ] Listening on Journal Socket.
[ OK ] Reached target Local File Systems (Pre).
[ OK ] Reached target Local File Systems.
Starting Rebuild Journal Catalog...
[ OK ] Started Forward Password Requests to Wall Directory Watch.
Starting Rebuild Dynamic Linker Cache...
[ OK ] Started Dispatch Password Requests to Console Directory Watch.
[ OK ] Reached target Paths.
[ OK ] Reached target Encrypted Volumes.
Starting Create System Users...
Starting Journal Service...
[ OK ] Reached target Remote File Systems.
[ OK ] Mounted FUSE Control File System.
[ OK ] Mounted POSIX Message Queue File System.
[ OK ] Mounted Huge Pages File System.
[ OK ] Started Create System Users.
[ OK ] Started Journal Service.
Starting Flush Journal to Persistent Storage...
[ OK ] Started Rebuild Journal Catalog.
[ OK ] Started Flush Journal to Persistent Storage.
Starting Create Volatile Files and Directories...
[ OK ] Started Create Volatile Files and Directories.
Starting Update UTMP about System Boot/Shutdown...
[ OK ] Started Update UTMP about System Boot/Shutdown.
[ OK ] Started Rebuild Dynamic Linker Cache.
Starting Update is Completed...
[ OK ] Started Update is Completed.
[ OK ] Reached target System Initialization.
[ OK ] Listening on D-Bus System Message Bus Socket.
[ OK ] Reached target Sockets.
[ OK ] Started Daily Cleanup of Temporary Directories.
[ OK ] Started dnf makecache timer.
[ OK ] Reached target Timers.
[ OK ] Reached target Basic System.
Starting Permit User Sessions...
[ OK ] Started D-Bus System Message Bus.
Starting Login Service...
[ OK ] Started Permit User Sessions.
[ OK ] Started Console Getty.
[ OK ] Reached target Login Prompts.
[ OK ] Started Login Service.
[ OK ] Reached target Multi-User System.
[ OK ] Reached target Graphical Interface.
Starting Update UTMP about System Runlevel Changes...
[ OK ] Started Update UTMP about System Runlevel Changes.
Fedora 26 (Twenty Six)
Kernel 4.4.0-83-generic on an x86_64 (console)
lilydev login:
Next I found that the uid for the dev user in the container was not the
same as my host user uid, so I wasn't able to access the files from the
host user account. But I was able to use the instructions in this blog
post to change the dev user uid and that fixed it:
https://muffinresearch.co.uk/linux-changing-uids-and-gids-for-user/
And I was able to successfully build lilypond in the container. (Look
mom, no VM!)
So this is really nice. I can edit files using my usual desktop
environment and text editor, then just do git and git-cl via the command
line in the container.
One other minor thing is I noticed that trying to run gitk in the
container doesn't work:
$ gitk
application-specific initialization failed: no display name and no
$DISPLAY environment variable
Error in startup script: no display name and no $DISPLAY environment
variable
while executing
"load /usr/lib64/libtk8.6.so Tk"
("package ifneeded Tk 8.6.6" script)
invoked from within
"package require Tk"
(file "/usr/bin/gitk" line 10)
But, it works to run it from a terminal in the host account.
Also, the authentication in git-cl opens a web page in a browser so I'm
not sure how that will work from the container?
Anyway, thanks for your work on this! It will be really nice not to
have the overhead of a VM.
-Paul
_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel