Bug #2640
closedcp -R kernel does not boot on two older pure i386 PCs
0%
Description
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.
Examination using
ls -loa
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?
Updated by swildner almost 11 years ago
Between the working case and the non-working case, are there other differences than just i386 vs. x86_64? Is one a hammer install and the other a UFS install for example, or something else along these lines?
Regards,
Sascha
Updated by davshao almost 11 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
cd /usr/src
make installkernel
cd /boot
mv kernel.old kernel.good
cd /usr/src
make installkernel
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.
Updated by eadler almost 7 years ago
- Status changed from New to Closed
This is limited to i386 which we no longer support. Closing.