1. Download the Fedora 21 alpha ISO image E.g. the Server variant here: https://fedoraproject.org/get-prerelease#server

    1. Extract the initrd image from the ISO image Mount the ISO image as loop device
losetup /dev/loop0 /path/to/Fedora-Server-netinst-x86_64-21_Alpha.iso

and mount the loop device

mount /dev/loop0 /mnt

Copy the initial ramdisk image from the ISO image

cp /mnt/isolinux/initrd.img /target/dir
  1. Patch the UML kernel This is needed because the initrd image finds the squashfs in the ISO image only, when no root parameter is passed as kernel command line option.

If a root parameter is existent, dracut tries to interpret it, and fails to find the squashfs image…

diff --git a/arch/um/kernel/um_arch.c b/arch/um/kernel/um_arch.c
--- a/arch/um/kernel/um_arch.c
+++ b/arch/um/kernel/um_arch.c
@@ -118,7 +118,7 @@ unsigned long end_vm;
 int ncpus = 1;
 /* Set in early boot */
-static int have_root __initdata = 0;
+static int have_root __initdata = 1;
 /* Set in uml_mem_setup and modified in linux_main */
 long long physmem_size = 32 * 1024 * 1024;
  1. Ensure to have all relevant kernel config options set needed for systemd-215, e.g. CONFIG_FHANDLE. A working config file is here.

  2. Compile the kernel

    make ARCH=um

  3. Create target disk image

    truncate -s 10G /target/dir/F21-Root.img

  4. Start the installation/Boot the kernel Boot command line:

./linux umid=fedora21 initrd=initrd.img ubd0=F21.img ubd1=Fedora-Server-netinst-x86_64-21_Alpha.iso plymouth.enable=0 inst.stage2=hd:LABEL=Fedora-S-21_A-x86_64 mem=800m