cp -R kernel does not boot on two older pure i386 PCs
On a Pentium 4 PC, Asus P4B266 motherboard, and on a Lenovo Ideapad Intel Atom N270, both pure i386 and with 1GB of RAM, copying a kernel from /boot such as
cp -R kernel kernel.good
does not result in a bootable kernel. Booting fails at the loader prompt with:
can't load 'kernel'
boot: no bootable kernel
cd-ing into /boot/kernel.old boots properly.
The same cp-ing procedure results in bootable kernels even running i386 on 64-bit machines or even i386 in Vmware Fusion on a 64-bit Macbook.
Booting is done from Ubuntu LTS 12.04 grub2. The original installations date back to early 2010.
shows no unusual flags or permissions in /boot. But an obvious question is should the schg flag be temporarily removed from /boot/kernel/kernel when copying?
Also, should there be a symbolic link of kernel.BOOTP -> kernel in directory /boot/kernel?
#2 Updated by davshao almost 4 years ago
I have i386 on UFS filesystem partitions where the problem does not manifest, so it is not a UFS problem. These alternate machines are x86_64 capable machines where I have installed i386 as a variant, unlike the older pure i386 machines where the problem manifests.
As a workaround, for a good working kernel, I simply keep
mv kernel.old kernel.good
for however many copies I want to make. In other words, with mv there is no problem, with cp -R for specific older i386-only machines there is a problem.