FS#49839 - [ostree] current version breaks grub-mkconfig

Attached to Project: Arch Linux
Opened by Philip Müller (philm) - Saturday, 25 June 2016, 08:45 GMT
Last edited by Jan Alexander Steffens (heftig) - Sunday, 26 June 2016, 11:10 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Jan Alexander Steffens (heftig)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:

It seems ostree needs some patches as Archlinux is using grub instead of grub2. The function grub2-generate somehow doesn't fine a directory. Therefore it fails and prevents any other script like 30-os-prober from executing.

Additional info:
* ostree 2016.5-2, grub 1:2.02.beta2-6
* file which creates the issue: /etc/grub.d/15_ostree


Steps to reproduce:

Simply call 'sudo ostree admin instutil grub2-generate'.

It will result in: error: No such file or directory
This task depends upon

Closed by  Jan Alexander Steffens (heftig)
Sunday, 26 June 2016, 11:10 GMT
Reason for closing:  Fixed
Additional comments about closing:  2016.5-4
Comment by Jan Alexander Steffens (heftig) - Saturday, 25 June 2016, 17:17 GMT
Please try 2016.5-3.
Comment by Philip Müller (philm) - Sunday, 26 June 2016, 08:54 GMT
Hi Jan, it still results in: error: No such file or directory. I also tested it with grub 2.02-beta3, which I built myself.
Comment by Jan Alexander Steffens (heftig) - Sunday, 26 June 2016, 08:58 GMT
Please try to use strace to find out where the ENOENT comes from, exactly.
Comment by Philip Müller (philm) - Sunday, 26 June 2016, 10:23 GMT
Here you go for the strace: https://gist.githubusercontent.com/philmmanjaro/a31b434de3c4a7a49c448d9a14ae2aec/raw/96e49e91be6bb536de02b9c7533a6515607ceea8/ostree-strace.txt

Seems to be some with locale and some missing files:

12:17:59.395461 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) <0.000024>
12:17:59.434708 open("/usr/lib/gvfs/tls/x86_64/libgvfscommon.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) <0.000020>
12:17:59.453736 stat("/usr/lib/gvfs/tls/x86_64", 0x7ffcc8e23fb0) = -1 ENOENT (No such file or directory) <0.000047>
12:17:59.453986 open("/usr/lib/gvfs/tls/libgvfscommon.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) <0.000027>
12:17:59.454105 stat("/usr/lib/gvfs/tls", 0x7ffcc8e23fb0) = -1 ENOENT (No such file or directory) <0.000021>
12:17:59.454176 open("/usr/lib/gvfs/x86_64/libgvfscommon.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) <0.000022>
12:17:59.454248 stat("/usr/lib/gvfs/x86_64", 0x7ffcc8e23fb0) = -1 ENOENT (No such file or directory) <0.000020>
12:17:59.455791 open("/usr/share/locale/de_DE.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) <0.000023>
12:17:59.455869 open("/usr/share/locale/de_DE/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) <0.000022>
12:17:59.455948 open("/usr/share/locale/de.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) <0.000023>
12:17:59.458033 newfstatat(3, "boot/loader", 0x7ffcc8e250c0, AT_SYMLINK_NOFOLLOW) = -1 ENOENT (No such file or directory) <0.000023>
12:17:59.458119 newfstatat(3, "ostree/boot.0", 0x7ffcc8e24d70, AT_SYMLINK_NOFOLLOW) = -1 ENOENT (No such file or directory) <0.000020>
12:17:59.458195 newfstatat(3, "ostree/deploy", 0x7ffcc8e24f10, 0) = -1 ENOENT (No such file or directory) <0.000020>
12:17:59.458291 open("/usr/lib/gconv/gconv-modules.cache", O_RDONLY) = -1 ENOENT (No such file or directory) <0.000025>
12:17:59.465008 open("/usr/lib/charset.alias", O_RDONLY) = -1 ENOENT (No such file or directory) <0.000029>
Comment by Jan Alexander Steffens (heftig) - Sunday, 26 June 2016, 10:37 GMT
Seems ostree expects /boot/loader to be a symlink to somewhere. I'm not sure what kind of setup it wants for bootable trees, but Arch's isn't it.

Since I added ostree as a flatpak dependency (which doesn't require bootability), booting will remain unsupported right now unless someone can figure out how to get it going, preferably using sd-boot instead of grub.
Comment by Philip Müller (philm) - Sunday, 26 June 2016, 10:49 GMT
@Jan: using followed config fixes it:

./configure \
--prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
--sbindir=/usr/bin \
--libexecdir=/usr/lib \
--with-mkinitcpio \
--with-builtin-grub2-mkconfig \
--disable-static \
--enable-gtk-doc

Loading...