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

problem running kernel compiled on different machine



I am testing a patch for the Debian kernel (regarding the firewire bug I
reported earlier in this list). I have been sent the patch and I
followed the Debian way of compiling the kernel after patching the source.

The kernel was compiled (and the deb created) on an AMD64 bit machine
which is running a 32 bit kernel (2.6.32-5-686-bigmem). The deb created
can be installed without any problems on this host machine. However, if
I try to install that deb on a target machine (Intell 32 bit processor),
the installation gives errors and I cannot boot into that kernel:
########################################################
$> sudo dpkg -i
~/tmp/tmp/linux-image-2.6.32.100528-firewire_2.6.32.100528-firewire-10.00.Custom_i386.deb
Selecting previously deselected package linux-image-2.6.32.100528-firewire.
(Reading database ... 247095 files and directories currently installed.)
Unpacking linux-image-2.6.32.100528-firewire (from
.../linux-image-2.6.32.100528-firewire_2.6.32.100528-firewire-10.00.Custom_i386.deb)
...
Done.
Setting up linux-image-2.6.32.100528-firewire
(2.6.32.100528-firewire-10.00.Custom) ...


( ---- Here's is the installation error -->>>>>> )
 Hmm. There is a symbolic link /lib/modules/2.6.32.100528-firewire/build
 However, I can not read it: No such file or directory
 Therefore, I am deleting /lib/modules/2.6.32.100528-firewire/build

( ---- Here's is the installation error -->>>>>> )
 Hmm. The package shipped with a symbolic link
/lib/modules/2.6.32.100528-firewire/source
 However, I can not read the target: No such file or directory
 Therefore, I am deleting /lib/modules/2.6.32.100528-firewire/source

Running depmod.
Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/initramfs-tools
2.6.32.100528-firewire /boot/vmlinuz-2.6.32.100528-firewire
run-parts: executing /etc/kernel/postinst.d/pm-utils
2.6.32.100528-firewire /boot/vmlinuz-2.6.32.100528-firewire
run-parts: executing /etc/kernel/postinst.d/update-notifier
2.6.32.100528-firewire /boot/vmlinuz-2.6.32.100528-firewire
Running postinst hook script /usr/sbin/update-grub.
Generating grub.cfg ...
Found background image: moreblue-orbit-grub.png
Found linux image: /boot/vmlinuz-2.6.32.100528-firewire
Found initrd image: /boot/initrd.img-2.6.32.100528-firewire
Found linux image: /boot/vmlinuz-2.6.32-trunk-686
Found initrd image: /boot/initrd.img-2.6.32-trunk-686
Found linux image: /boot/vmlinuz-2.6.32-3-686
Found initrd image: /boot/initrd.img-2.6.32-3-686
Found linux image: /boot/vmlinuz-2.6.30-2-686
Found initrd image: /boot/initrd.img-2.6.30-2-686
Found linux image: /boot/vmlinuz-2.6.26-2-686
Found initrd image: /boot/initrd.img-2.6.26-2-686
Found Microsoft Windows XP Professional on /dev/hda1
Found Fedora release 9 (Sulphur) on /dev/hda13
done
########################################################


Anybody know why I am getting this error? Also AFAIK, a 32 bit kernel
can be compiled on a 64 bit machine as long as it is running a 32 bit
OS. Correct?



The steps that I followed to compile and create the deb of the custom
kernel:
#########################################################################
Downloaded kernel source:
$> sudo aptitude install linux-source-2.6.32

Removed symlink in /usr/src directory:
$> rm linux


Expanded the downloaded source tar ball:
$> tar jxf linux-source-2.6.32.tar.bz2


Now create the symlink
$> ln -s /path/to/linux-source-2.6.32 linux

So now "linux" points to our current kernel source tree.

Check for requirements by running the script in the kernel tree:
$> cd linux/scripts/
$> ./ver_linux
If some fields are empty or look unusual you may have an old version.
Compare to the current minimal requirements in Documentation/Changes.
NOTE: fdformat was not found (but we don't need it .. I think).


Use menuconfig to load the current config from /boot and save and exit
$> cp /boot/config-`uname -r` ./.config
$> make oldconfig
(no questions were asked by the last command)


Save the patch to be applied in a directory. I put it in
/usr/src/linux/patches_hs/firewire_trv25_bug.patch

Then apply the patch
$> patch --verbose -p1 < patches-hs/firewire_trv25_bug.patch


Start build commands sequence:
$> fakeroot make-kpkg clean

Use 2 cores:
$> export CONCURRENCY_LEVEL=2


$> time nice fakeroot make-kpkg --append-to-version=.100528-firewire
kernel_image

Remove symlink:
$> rm /usr/src/linux
rm: remove symbolic link `linux'? y
#########################################################################


Thanks.

-- 

Please reply to this list only. I read this list on its corresponding
newsgroup on gmane.org. Replies sent to my email address are just
filtered to a folder in my mailbox and get periodically deleted without
ever having been read.


Reply to: