1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123
|
$Id: Problems,v 1.8 1998/07/17 04:27:55 srivasta Exp $
This is an (incomplete) list of problems that people have encountered
in the past while using kernel-package. Please remember to configure
the kernel for your machine using make menuconfig, and to clean the
source tree before compiling a new image using make-kpkg clean.
a) Failure to format a floppy disk while installing kernel image.
fdformat from the obsolete package miscutils sometimes has problems
formatting floppies. Install the package fdutils instead.
Also, sometimes the new fdformat fails for /dev/fd0 unless the
parameters are set using setfdprm -- in short, make sure that you can
format floppies manually before asking the kernel image postinst to do
so.
b) warning, 'debian/tmp-image/DEBIAN/control' contains user-defined field
'Installed-Size' warning,
dpkg-deb: unable to create '..': is a directory
The problem is actually that the version of dpkg being used is
too old for kernel-package; kernel-package version 3.X needs dpkg
1.4.0.0 at least.
c) dpkg-gencontrol fails with the error message
failure: chown new files list file: Illegal seek
This is an error in older versions of dpkg-dev. Upgrading to version
1.4.0.9 should help.
d) install: debian/changelog: No such file or directory
Remember to do make-kpkg clean with a patched/old kernel source tree
(if this is not a clean tree, clean it first).
e) make-kpkg goes into an infinite loop when trying to make oldconfig.
This is _not_ a bug with kernel-package, it is a well known
incompatibility between the new version of expr (which has suddenly
become POSIX compliant) and the kernel sources (which did not expect
expr to behave this way).
The fix is to apply the following patch to the kernel sources.
--- scripts/Configure.dist Mon Jan 20 14:43:24 1997
+++ scripts/Configure Tue Jan 21 05:41:30 1997
@@ -288,7 +288,7 @@
def=${old:-$3}
while :; do
readln "$1 ($2) [$def] " "$def" "$old"
- if expr "$ans" : '0$\|-?[1-9][0-9]*$' > /dev/null; then
+ if expr "$ans" : '0$\|-\?[1-9][0-9]*$' > /dev/null; then
define_int "$2" "$ans"
break
else
@@ -319,7 +319,7 @@
while :; do
readln "$1 ($2) [$def] " "$def" "$old"
ans=${ans#*[x,X]}
- if expr "$ans" : '[0-9a-fA-F]+$' > /dev/null; then
+ if expr "$ans" : '[0-9a-fA-F]\+$' > /dev/null; then
define_hex "$2" "$ans"
break
else
f) % depmod -a
modprobe: error reading ELF header: No such file or directory
This is a problem with the newly changed behavior of depmod and
friends, who suddenly stopped liking non .o files in
/lib/modules/<version>. Newer versions of kernel package, like this
one, handle that right. For older image packages, the test is:
% find /lib/modules/2.0.30/ -type f -exec file {} \; | grep -v 'ELF 32-bit'
/lib/modules/2.0.30/modules.dep: ASCII text
Anything other than modules.dep showing up is something that depmod
can no longer tolerate. Remove those files, and things should be fine.
g) dpkg-gencontrol fails if LC_ALL is set to de_DE. Actually, I can't
really confirm this works for anything except en_US. This is true as of
dpkg/dpkg-dev 1.4.0.19. The error actually reported seems to be
either that debian/substvars file can not be found, or that the
changelog file is empty (even when the file is not empty).
The work around seems to be to set the LC_ALL to en_US while compiling
the kernel. This should be fixed soon.
h) dpkg upgrades the custom kernel to a new standard kernel. This
means that epochs were used; unfortunately I did not consider
that when I wrote all the documentation. I have since upgraded
the documentation; and you can add epochs to your custom kernel
just as well as the upstream maintainers.
i) The build keeps erring out. It fails with the following:
objdump: illegal option -- k
rm `which encaps`
j) build fails with a bizarre error talking about /bin/ls and tab
sizes = Text:
make[3]: Leaving directory `/usr/src/kernel-source-2.0.32/arch/i386/math-emu'
make[2]: Leaving directory `/usr/src/kernel-source-2.0.32/arch/i386/math-emu'
ld -m elf_i386 -Ttext 0x100000 -e stext arch/i386/kernel/head.o init/main.o in
it/version.o \
arch/i386/kernel/kernel.o arch/i386/mm/mm.o kernel/kernel.o mm/mm.o fs/fs.o ipc/ipc.o net/network.a \
fs/filesystems.a \
drivers/block/block.a drivers/char/char.a drivers/net/net.a drivers/cdrom/cdrom.a drivers/pci/pci.a arch/i386/math-emu/math.a \
/usr/src/kernel-source-2.0.32/arch/i386/lib/lib.a /usr/src/kernel-source-2.0.32/lib/lib.a /usr/src/kernel-source-2.0.32/arch/i386/lib/lib.a -o vmlinux
/usr/src/kernel-source-2.0.32
/bin/ls: invalid tab size: text
make[1]: *** [vmlinux] Error 1
make[1]: Leaving directory `/usr/src/kernel-source-2.0.32'
make: *** [all] Error 2
make-kpkg --zimage <other options> kernel_image
This is truly a weird error message for machines that need
zImage rather than the default bzImage
|