GNOME Bugzilla – Bug 684049
Initramfs generation fails
Last modified: 2012-09-16 22:56:23 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
I fixed that problem by copying over system-logo-white.png from fedora, but found more bugs later on. Some patches coming.
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.
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
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.
Created attachment 224366 [details] [review] Update kernel files for command naming changes ostadmin is now ostree admin.
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...
Review of attachment 224363 [details] [review]: Squash with next patch.
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?
Review of attachment 224366 [details] [review]: Yep, thanks!
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 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
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.
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.
Review of attachment 224463 [details] [review]: This looks a lot more like it =)
Comment on attachment 224463 [details] [review] Autogenerate release files Attachment 224463 [details] pushed as 5d753d6 - Autogenerate release files
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)
Review of attachment 224466 [details] [review]: Looks good.
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! :)