After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 684049 - Initramfs generation fails
Initramfs generation fails
Status: RESOLVED FIXED
Product: ostree
Classification: Infrastructure
Component: general
unspecified
Other Linux
: Normal normal
: ---
Assigned To: OSTree maintainer(s)
OSTree maintainer(s)
Depends on:
Blocks:
 
 
Reported: 2012-09-14 21:33 UTC by Giovanni Campagna
Modified: 2012-09-16 22:56 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Add /etc/system-release to the release files (1.47 KB, patch)
2012-09-14 21:42 UTC, Giovanni Campagna
reviewed Details | Review
Autogenerate release files (3.14 KB, patch)
2012-09-14 21:55 UTC, Giovanni Campagna
reviewed Details | Review
Grub2: use /etc/system-release now that we have one (1015 bytes, patch)
2012-09-14 21:58 UTC, Giovanni Campagna
reviewed Details | Review
Update kernel files for command naming changes (765 bytes, patch)
2012-09-14 21:59 UTC, Giovanni Campagna
committed Details | Review
Autogenerate release files (3.34 KB, patch)
2012-09-16 21:55 UTC, Giovanni Campagna
committed Details | Review
Add /ostree/current-etc symlink to current configuration (3.23 KB, patch)
2012-09-16 22:34 UTC, Giovanni Campagna
committed Details | Review
Grub2: use /etc/system-release now that we have one (1019 bytes, patch)
2012-09-16 22:34 UTC, Giovanni Campagna
committed Details | Review

Description Giovanni Campagna 2012-09-14 21:33:47 UTC
With 2ae7c5e4e2e1acae88ae2b513b82a9286c8b97e4abdf0c5e44069043572f623b, initramfs generation fails because plymouth can't find the system logo.

Full log:
Generating initramfs using /ostree/deploy/trees/gnomeos-3.6-i686-devel-2ae7c5e4e2e1acae88ae2b513b82a9286c8b97e4abdf0c5e44069043572f623b...
E: '/var/log/dracut.log' is not a writable file
E: Could not find program "arping" required by network.
E: Could not find program "arping" required by network.
E: Dracut module "network" cannot be found.
E: Dracut module "network" cannot be found.
E: Dracut module "network" cannot be found.
E: Dracut module "network" cannot be found.
I: *** Including module: dash ***
I: *** Including module: caps ***
I: *** Including module: i18n ***
find: `/usr/share/consoletrans': No such file or directory
I: *** Including module: plymouth ***
F: Failed to install /usr/share/pixmaps/system-logo-white.png
Child process exited with code 1
Child process exited with code 1
Comment 1 Giovanni Campagna 2012-09-14 21:39:35 UTC
I fixed that problem by copying over system-logo-white.png from fedora, but found more bugs later on.
Some patches coming.
Comment 2 Giovanni Campagna 2012-09-14 21:42:01 UTC
Created attachment 224363 [details] [review]
Add /etc/system-release to the release files

This file is needed by plymouth, and without it dracut can't generate
the initial ram disk.
Comment 3 Giovanni Campagna 2012-09-14 21:55:31 UTC
Created attachment 224364 [details] [review]
Autogenerate release files

Centralize OS name and version in configure.ac, and use configure
substitutions to generate /etc/os-release and /etc/system-release
Comment 4 Giovanni Campagna 2012-09-14 21:58:35 UTC
Created attachment 224365 [details] [review]
Grub2: use /etc/system-release now that we have one

This matches the upstream code more, and avoids the GNOME OS trademark
in ostree, which is otherwise platform agnostic.
Comment 5 Giovanni Campagna 2012-09-14 21:59:39 UTC
Created attachment 224366 [details] [review]
Update kernel files for command naming changes

ostadmin is now ostree admin.
Comment 6 Colin Walters 2012-09-16 16:42:08 UTC
Review of attachment 224364 [details] [review]:

You need to move src/integration/os-release to os-release.in.

Please squash this with the previous patch too.

::: configure.ac
@@ +1,2 @@
 AC_PREREQ([2.63])
+AC_INIT([GNOME-OSTree], [2012.3], [walters@verbum.org], [gnome-ostree], [https://live.gnome.org/OSTree/GnomeOSTree])

Mmmm...I think we want the first argument to AC_INIT to be a "Unix name", i.e. it should match the git repository name.

So let's keep it as just gnome-ostree?

::: src/integration/os-release
@@ +1,3 @@
 NAME="GNOME-OSTree"
+ID="gnome-ostree"
+PRETTY_NAME="GNOME-OSTree (3.6, OE-Core edison, 2012.3)"

Use @PACKAGE_VERSION@ for the last part?

No point to adding it to configure.ac unless we actually substitute something...
Comment 7 Colin Walters 2012-09-16 16:42:19 UTC
Review of attachment 224363 [details] [review]:

Squash with next patch.
Comment 8 Colin Walters 2012-09-16 16:42:57 UTC
Review of attachment 224365 [details] [review]:

::: src/ostree/grub2/15_ostree
@@ +29,2 @@
 CLASS="--class gnu-linux --class gnu --class os --class ostree"
+OS="$(cat /ostree/current/system-release)"

Shouldn't there be a /etc/ in the middle there?
Comment 9 Colin Walters 2012-09-16 16:43:13 UTC
Review of attachment 224366 [details] [review]:

Yep, thanks!
Comment 10 Giovanni Campagna 2012-09-16 21:55:24 UTC
Created attachment 224463 [details] [review]
Autogenerate release files

Centralize OS name and version in configure.ac, and use configure
substitutions to generate /etc/os-release and /etc/system-release
Comment 11 Giovanni Campagna 2012-09-16 22:24:58 UTC
Comment on attachment 224366 [details] [review]
Update kernel files for command naming changes

Attachment 224366 [details] pushed as 8a98e8d - Update kernel files for command naming changes
Comment 12 Giovanni Campagna 2012-09-16 22:34:30 UTC
Created attachment 224465 [details] [review]
Add /ostree/current-etc symlink to current configuration

Configuration associated with a specific revision is stored in a folder
named <revision>-etc. In a similar spirit, add /ostree/current-etc, pointing
to the -etc folder for the revision named by current. This allows
easy editing of configuration from the host distribution, and allows
diffing current/etc and current-etc for configuration changes.
Comment 13 Giovanni Campagna 2012-09-16 22:34:43 UTC
Created attachment 224466 [details] [review]
Grub2: use /etc/system-release now that we have one

This matches the upstream code more, and avoids the GNOME OS trademark
in ostree, which is otherwise platform agnostic.
Comment 14 Colin Walters 2012-09-16 22:44:42 UTC
Review of attachment 224463 [details] [review]:

This looks a lot more like it =)
Comment 15 Giovanni Campagna 2012-09-16 22:49:38 UTC
Comment on attachment 224463 [details] [review]
Autogenerate release files

Attachment 224463 [details] pushed as 5d753d6 - Autogenerate release files
Comment 16 Colin Walters 2012-09-16 22:51:28 UTC
Review of attachment 224465 [details] [review]:

This doesn't hurt anything right now, and I can see it being convenient.

However - the reason for the symbolic link design is that *one* symbolic link can be updated atomically.  In this case it'd be possible for /ostree/current to point to the new system, but /ostree/current-etc to still point to the previous one.  

As long as it's nothing more than convenience from the host (for example, we're not parsing it from ostree-switch-root), I'm fine with it.

We could even make this more explicit by doing unlink(/ostree/current-etc) symlink(path, /ostree/current-etc)
Comment 17 Colin Walters 2012-09-16 22:52:27 UTC
Review of attachment 224466 [details] [review]:

Looks good.
Comment 18 Giovanni Campagna 2012-09-16 22:56:16 UTC
Attachment 224465 [details] pushed as 8c94066 - Add /ostree/current-etc symlink to current configuration
Attachment 224466 [details] pushed as 2881194 - Grub2: use /etc/system-release now that we have one
I think it's all for this bug, but don't worry, I'll be back! :)