[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#882769: Cannot upgrade from Stretch: cp: target '/lib/live/mount/medium/live/vmlinuz.new' is not a directory



On 12/04/2017 02:41 PM, Raphael Hertzog wrote:
> Control: reassign -1 live-tools
> 
> On Wed, 29 Nov 2017, Thomas Goirand wrote:
>> Building cpio /boot/initrd.img-4.9.0-4-amd64.new initramfs
>> cp: target '/lib/live/mount/medium/live/vmlinuz.new' is not a directory
>>
>> I still don't see where to search... :/
> 
> I guess that you have live-tools installed?
> 
> I don't really know the purpose of this package but it does divert
> update-initramfs and contains the problematic "cp" that generates
> the message seen above.
> 
> The live-tools package is a Recommends of live-config. Not sure
> if it's get pulled automatically by live-build or not due to this.
> 
> Cheers,

Right, I see it now. In bin/live-update-initramfs line 76 (at least in
the git), we can read:

cp /boot/vmlinuz-* /lib/live/mount/medium/live/vmlinuz.new
cp /boot/initrd.img-* /lib/live/mount/medium/live/initrd.img.new

mv /lib/live/mount/medium/live/vmlinuz.new \
	/lib/live/mount/medium/live/vmlinuz
mv /lib/live/mount/medium/live/initrd.img.new \
	/lib/live/mount/medium/live/initrd.img

So that's the problematic code. Now, the shell script is supposed to
handle multiple kernels, but it just fails to detect there's more than
one: it just looks for the number of files matching /boot/initrd.img-*,
and expects the same amount of /boot/vmlinuz-*. Though when upgrading
the kernel, there's at some point more than one vmlinuz-* file, but only
a single /boot/initrd.img-*, because the 2nd one hasn't been generated
just yet.

I'm currently writing a patch, and will send it to this bug report for
review from you guys.

Cheers,

Thomas Goirand (zigo)


Reply to: