title: Why can't I specify my rootfs with PARTUUID when I use initramfs?
body: <p>I have an embedded ARM board and am experimenting with initramfs.</p>
  
  <p>Since my root filesystem is EXT4 and the <em>EXT4 driver is built into the kernel</em> (not compiled as a module), I can directly boot the kernel and mount the root filesystem, no initramfs required. <strong>Without initramfs</strong>, the kernel won't recognize filesystem UUIDs, of course, hence <strong>I specified root with the partition identifier PARTUUID</strong>, as described in the kernel docs. The boot argument in question looks like this:
  root=PARTUUID=7acc80f1-01
  <strong>This works perfectly fine.</strong></p>
  
  <p>Now, when I try to boot the same kernel version <strong>with an initramfs, the system won't boot</strong>. It complains the root device cannot be found. When I change my boot arguments to <strong>use the filesystem UUID intstead of the PARTUUID, then it works again</strong>:
  root=UUID=c9fd552c-921c-4ddb-bb46-fe557943d311
  But why is that? <em>Why would using an initramfs lead to less boot options when the kernel supports PARTUUID natively in the first place?</em></p>
  
  <p>I'd like to specify root in unique way that works in both setups, regardless of whether an initramfs is used or not. Device names such as /dev/sda1 are not an option as they can vary during boot (multiple disks attached).</p>
  
  <p>Any clues?</p>
  
  <p>Thanks and regards,</p>
  
  <p>Timo</p>
  
  <p>P.S: The kernel version is mainline 4.4.16. U-Boot is 2015.5. Distro is Debian 8.</p>