"No space left on device" means that you are running out of drive space on something. Do you have a separate /boot partition that is not big enough for all the kernels on it?

Does df show any...