diskimage-builder/elements
Ian Wienand 1d476dd994 Remove fedora-minimal/install.d/99-ramdisk
When the kernel gets installed on Fedora, the rpm post scripts call
"/bin/kernel-install" [1] to install it.  This is a script provided by
systemd.

However, in [2], Fedora ships a patch to kernel-install that makes a
call-out to /sbin/new-kernel-pkg -- the install script provided by
grubby [3]

Without grubby installed, systemd's kernel-install script goes off and
runs dracut plugins directly [4], which eventually creates the initrd.
For reasons that are not clearly explained, the initrd will end up in
a a "machine-id" sub-directory of /boot (possibly, so you can symlink
it?).  It is also called "initrd", even though it's an initramfs, for
historical reasons in dracut I think.

It is at this point that I think 99-ramdisk has been written to move
the generated initrd file back into /boot.  Later on, when we build
the image, we run grub-install and it picks up the kernel and the
initrd and installs everything.

grubby's new-kernel-pkg [6] it's very similar -- it uses dracut to
make the initramfs ... but in this case it is put in /boot and is
actually called initramfs.

The subtle change that led me down this path is that dracut has been
modified to have a "Recommends" for grubby for >F22 [7].  After
discussing this change with the author, it turns out it was *always*
intended to use the grubby-based kernel install scripts for Fedora --
our builds have been incorrect in not including the package.  The
author got sick of people removing the package and making unbootable
systems, hence the change.

Thus this removes the workarounds in 99-ramdisk and replace it with an
install of the grubby package.  grubby's kernel install script will
put the kernel & generated initramfs in /boot, and it will be
installed correctly via the usual grub install later when we build the
disk image.

I have built F22 & F23 fedora-minimal images with this and they boot.

[1] http://pkgs.fedoraproject.org/cgit/kernel.git/tree/kernel.spec#n1832
[2] http://pkgs.fedoraproject.org/cgit/systemd.git/tree/kernel-install-grubby.patch
[3] http://linux.die.net/man/8/new-kernel-pkg
[4] https://github.com/haraldh/dracut/blob/master/50-dracut.install
[5] 81516adcb7
[6] https://github.com/rhinstaller/grubby/blob/master/new-kernel-pkg
[7] 47ff68e78b

Change-Id: I1a6e45d04755515286b3d49f8280c16b527e2f48
2015-11-19 21:03:45 +11:00
..
apt-conf Update apt-conf elements README from free text to table formatting 2015-10-08 17:12:46 -07:00
apt-preferences Update apt-preferences element README from free text to table formatting 2015-10-08 17:14:16 -07:00
apt-sources Initial element tests 2015-05-17 02:07:40 +00:00
architecture-emulation-binaries Standarise tracing for scripts 2015-02-12 10:41:32 +11:00
baremetal Merge "Turn docs warnings into errors and fix issues" 2015-05-06 17:48:16 +00:00
base Merge "Make managing hosts entries optional" 2015-05-12 13:29:48 +00:00
cache-url Standarise tracing for scripts 2015-02-12 10:41:32 +11:00
centos Download a compressed centos cloud images 2015-09-17 10:03:59 +01:00
centos7 Merge "Download a compressed centos cloud images" 2015-09-18 10:18:55 +00:00
centos-minimal Port centos-minimal to yum-minimal 2015-04-22 20:34:48 -04:00
cleanup-kernel-initrd Standarise tracing for scripts 2015-02-12 10:41:32 +11:00
cloud-init-datasources Simple-init should disable cloud-init 2015-05-11 16:55:02 +00:00
cloud-init-disable-resizefs Add element to disable cloud-init resizefs 2015-07-21 14:09:07 -07:00
cloud-init-nocloud Standarise tracing for scripts 2015-02-12 10:41:32 +11:00
debian debian: cloud hostname ignored by Jessie 2015-10-30 22:34:10 +01:00
debian-minimal Use official mirror name for debian-minimal 2015-07-09 23:41:49 -04:00
debian-systemd Standarise tracing for scripts 2015-02-12 10:41:32 +11:00
debian-upstart Standarise tracing for scripts 2015-02-12 10:41:32 +11:00
debootstrap debian: properly configure interfaces 2015-07-23 14:34:28 +02:00
deploy Create docs site containing element READMEs 2015-02-10 11:45:35 -08:00
deploy-baremetal Create docs site containing element READMEs 2015-02-10 11:45:35 -08:00
deploy-ironic Merge "Fix variable misspelling error" 2015-09-30 19:42:52 +00:00
deploy-kexec Create docs site containing element READMEs 2015-02-10 11:45:35 -08:00
deploy-targetcli Optimize Python install in deploy-targetcli 2015-06-22 13:19:14 -05:00
deploy-tgtadm No markdown docs for elements 2015-04-02 23:55:19 +00:00
devuser Fix devuser pubkey defaults 2015-10-13 17:54:09 -07:00
dhcp-all-interfaces Remove quotes from subshell call in bash script 2015-09-28 17:36:05 +08:00
dib-init-system Fix init-scripts element path munging and deps 2015-08-17 16:16:43 +00:00
dib-run-parts/root.d Standarise tracing for scripts 2015-02-12 10:41:32 +11:00
disable-selinux/post-install.d Standarise tracing for scripts 2015-02-12 10:41:32 +11:00
dkms Reorder the script number of 'elements/dkms/post-install.d/99-dkms' 2015-10-06 09:57:06 -07:00
docker Add base element for using docker as image base 2015-07-19 10:23:34 +00:00
dpkg Update dpkg elements README from free text to table formatting 2015-08-31 13:43:04 -07:00
dracut-network Standarise tracing for scripts 2015-02-12 10:41:32 +11:00
dracut-ramdisk Make troubleshoot work with dracut ramdisks 2015-04-08 12:54:32 -05:00
element-manifest Standarise tracing for scripts 2015-02-12 10:41:32 +11:00
enable-serial-console Standarise tracing for scripts 2015-02-12 10:41:32 +11:00
epel Use DIB_EPEL_MIRROR when finding the epel-release package 2015-10-20 17:25:58 +01:00
fedora Fix title of env vars section of fedora README to match template 2015-10-08 17:10:05 -07:00
fedora-minimal Remove fedora-minimal/install.d/99-ramdisk 2015-11-19 21:03:45 +11:00
growroot Run growroot after all filesystems are mounted 2015-08-25 17:04:38 -07:00
grub2 Add grub2 element 2015-06-02 05:35:03 +00:00
hwburnin Create docs site containing element READMEs 2015-02-10 11:45:35 -08:00
hwdiscovery Create docs site containing element READMEs 2015-02-10 11:45:35 -08:00
ilo Standarise tracing for scripts 2015-02-12 10:41:32 +11:00
install-static Install-static depends on rsync 2015-08-17 16:21:09 +00:00
install-types Break install-types out of base 2015-04-14 13:39:18 -04:00
ironic-agent Selectively prune /root for ironic-agent ramdisk 2015-10-26 11:19:28 +09:00
ironic-discoverd-ramdisk Fix incorrect package name dmidecoded to dmidecode 2015-03-11 01:04:37 +00:00
iso Adds debian support to iso element 2015-09-23 23:55:18 -07:00
local-config Standarise tracing for scripts 2015-02-12 10:41:32 +11:00
manifests Standarise tracing for scripts 2015-02-12 10:41:32 +11:00
mellanox Standarise tracing for scripts 2015-02-12 10:41:32 +11:00
modprobe-blacklist Standarise tracing for scripts 2015-02-12 10:41:32 +11:00
oat-client Add oat-client element 2015-06-26 09:57:12 +08:00
opensuse opensuse: Update README 2015-07-01 22:03:50 +02:00
package-installs Merge "package-installs: fix error case for Python 2.6" 2015-05-07 17:25:54 +00:00
pip-cache Standarise tracing for scripts 2015-02-12 10:41:32 +11:00
pkg-map Only warn about missing map files with debug 2015-07-22 22:36:33 +00:00
pypi Merge "Allow setting DIB_PIP_RETRIES" 2015-04-23 03:51:57 +00:00
ramdisk Merge "Add element ubuntu-signed to provide signed kernel" 2015-04-28 11:02:44 +00:00
ramdisk-base Add support for Xen PV disks 2015-10-19 15:38:00 +01:00
rax-nova-agent rax-nova-agent: switch to $DISTRO_NAME 2015-05-12 17:48:49 +02:00
redhat-common Fix title of env vars section of redhat-common README to match template 2015-10-08 17:05:57 -07:00
rhel Use shorter temporary file names for kpartx 2015-04-21 10:36:33 +02:00
rhel7 Update rhel7 element readme 2015-10-12 15:31:09 -05:00
rhel-common rhel-common element should not use attach with activation key 2015-05-25 07:18:47 -04:00
rpm-distro Set and export DIB_RELEASE for centos7 2015-08-04 08:35:20 -07:00
select-boot-kernel-initrd Standarise tracing for scripts 2015-02-12 10:41:32 +11:00
selinux-permissive Standarise tracing for scripts 2015-02-12 10:41:32 +11:00
serial-console Standarise tracing for scripts 2015-02-12 10:41:32 +11:00
simple-init Use the init scripts from the glean package 2015-06-27 12:51:25 -04:00
source-repositories Prettyfy source-repositories doc 2015-09-17 13:24:46 +02:00
stable-interface-names Standarise tracing for scripts 2015-02-12 10:41:32 +11:00
svc-map svc-map: do not specify user/group for install 2015-09-07 17:04:03 +02:00
uboot Standarise tracing for scripts 2015-02-12 10:41:32 +11:00
ubuntu Set DIB_RELEASE in ubuntu element 2015-03-04 23:11:27 +00:00
ubuntu-core Use shorter temporary file names for kpartx 2015-04-21 10:36:33 +02:00
ubuntu-minimal Split the debootstrap functions into an element 2015-04-26 18:04:59 +00:00
ubuntu-signed Add element ubuntu-signed to provide signed kernel 2015-04-12 11:36:17 -07:00
vm Add --force to grub-install 2015-10-18 02:26:31 +00:00
yum Reset yum/dnf cache to correct location 2015-10-14 06:36:06 +11:00
yum-minimal Remove fedora-minimal/install.d/99-ramdisk 2015-11-19 21:03:45 +11:00
zypper Standarise tracing for scripts 2015-02-12 10:41:32 +11:00