Why is my /dev/sda missing?!?!

I am in the midst of testing some of the latest Linux kernels and realized that my old kernel config was wiped. In my desire to finish the build I forgot to select a VERY important option if you are using dm-crypt and LUKS. If you cannot access your /boot then there is no way to upgrade your kernel. Chicken and egg issue. Another issue maybe that you lost your /dev/sda1 or other nodes due to udev overtaking. Here is the fix in the situation:

  1. cat /proc/partitions
  2. Notice the Major/Minor columns associated with the partition you wish to mount. I will use /dev/sda1 as an example
  3. mknod /dev/sda b 8 0
  4. mknod /dev/sda1 b 8 1
  5. mount /dev/sda1 /mnt/tmp

Now you can copy your new kernel over outside the dm-crypt and boot correctly!

Updated: