Hi,
Please respond to my email address too since I don't subscribe to
this list-- to many already.
I'm trying to upgrade my linux kernel from v2.2.1 to v2.2.13. I've
included all the information that I can provide and can't go any further. The
information includes: PC h/w, current s/w configuration, the problems
being encountered during upgrade along with what was tried.
Once I've got this new kernel installed, I can upgrade the compler
and then
libc6 to v2.2.x and then move forward.
A). My PC hardware
DELL Optiplex Gx1 333mhz Intel processor
128 Megs of RAM
1 GIG IDE QUANTUM drive that is MSDOS v6.22
9 GIG SCSI Western Digital on an Adaptec 2940U2W AIC 7985
3com 3c59x ethercard
B). My current s/w and OS configurations:
The 1Gig IDE drive contains MSDOS v6.22 and Linux v2.0.38 UMSDOS Filsys.
- this version of linux has XFree86 and netscape which ran
fine on a 100mhz generic brand PC.
- I just moved the IDE drive to the DELL and can see it via
MSDOS. I haven't tried to boot it on the DELL.
The 9Gig SCSI drive contains NT4.0 on partition two, MSDOS v6.22 on
partitions one,three and four. Linux v2.2.1 UMSDOS Filesys is running
on partition three which is a 2Gig partition.
- this version of linux doesn't have Xwindows or netscape
- this version of linux does have vgalibs, slang and glib
- no swap space activated.
Linux v2.2.1 UMSDOS s/w running:
-- rebuilt (recompiled) all the s/w pkgs that DOSLINUX had
from Kent Robbotti with the latest version with a few
now being 1-2 revs behind since I started in Februrary 1999.
Thus, it has taken 11 months to track down the tarballs, rpms
debs etc that will work.
The only s/w pkgs not compiled by "me" are the libc6 libs
and the current egcs compiler.
--installed libc6-dev_2.0.7t-1.deb precompiled binary
--installed egcs-1.0.3-glibc.x86.tar.bz2 precompile bin
All other s/w pkgs were compiled agains't linux kernel v2.2.1
using the above s/w pkgs to establish a baseline system.
Other s/w pkgs that are important which were compiled and
installed:
-- binutils-2.9.1.0.24.tar.gz
-- bin86_0.13.0-4.deb
-- util-linux-2.9i.tar.gz
-- netkit v0.15 tarballs dated October 1999
-- update v2.11.tar.gz
Other s/w tarballs installed aren't important to the
problem, but were compiled and installed since they need
to make the system operational
C). Known Problems with linux v2.2.1 on UMSDOS and things that work.
Major things that work:
-- telnet/ftp
-- lynx browser
-- crystal sound support
Known problems:
-- during tarball s/w compiles such as the linux kernel, I get
alot of lost clusters.
-- the hardlink rename() won't work properly and I'll get
on the console and dmesg filename out of sync, erasing.
This occurs for the "passwd" command in util-linux and
the "lpr s/w rpm pkg". What is erased is the /etc/passwd
file for passwd and the "cf" control file for lpr.
Thus, I have no printing nor can I log in if I exit.
I hacked the passwd source so that it doesn't do hardlink
renames until this is fixed. I believe linux v2.2.12 or 13
is supposed to fix this.
-- the "uz" command from mtools v3.9.4 which is just a shell
script will "SEVERLY" corrupt the FAT filesystem that UMSDOS
runs on under certain situations.
It may be repairable with dosfsck v2.2, MSofts dskchk
or NT's disk admin disk checker. However, when it is servere,
dosfsck will seg fault, and "dskchk" will eliminate just about
everything on the disk whether it is good or bad and NT too.
The only way to fix it is 1) reformat the disk partitions using
NT and reinstall a backup UMSDOS linux version, 2) use the command
on a UMSDOS filesystem zip 100 disk such that if it corrupts the
zip, just format that instead of the partition.
Note: Haven't had time to isolate which command in the "uz"
command is doing it but here is the sequence necessary
to get it to occur.
a). "uz" the gz'd tar file.
b). the tarball will usually create a subdir with
the source in it.
c). cd into the tarball subdir and remove all the
files. One could compile then remove.
d). cd out of the subdir and repeat step (a) and
this will corrupt the subdir and the FAT filesys.
NOTENOTE: if step (d) is performed and the additional
step of deleting the subdir name before
repeating step (a) you'll be okay. It
only seems to occur when the old subdir
name isn't removed and the "uz" command
is done again on the gz'd tarball.
-- Kernel boot hang after downloading the SCSI xxx instructions.
A reboot is necessary, but it will just hang again.
REASON: During boot, the MSDOS autoexec.bat loads the
3com 3c59x DOS network drivers and the novell
vlm ones too. Then once the DOS prompt is gotten
, I boot the linux v2.2.1 system in the other
MSDOS partition which uses loadlin v1.6a to do it.
Although, loadlin is supposed to unload all of
these drivers it can't for some reason. The
3COM network card 3c59x that I have comes from
the factory set for interrupt 10. They don't
provide a utility which will allow you to change
the interrupt. Thus, when the ADAPTEC SCSI
disk in linux gets initialized, it uses interrupt
10 and 14. The best I can tell, this causes a fight
between two different OS drivers for control of
the interrupts: Linux OS and MSDOS drivers.
SOLUTION:
This took the month of January 1999 to discover the
reason which the solution is is to not load the
3CoM DOS network drivers and novell vlms in autoexec.bat
Just don't load them at all!
D). Linux kernel versions that will boot and run on UMSDOS that have
alot of kernel configurations turned on (the works!) or a very absolute
minimal configured kernel. They each have the known problems in item (C)
above.
v2.2.1
v2.2.5
v2.2.6
kernel versions v2.2.2,3,4 weren't tried out.
E). Linux kernel versions that CRASH when booting on a UMSDOS filesys
regardless if they are fully or minimally kernel configured.
The list below is everything I tried in various different configs
with the associated error message using the above libc6 but different
compilers: v1.0.3, v1.1.2 and v2.95.2.
1st configuration scenario
a1). minimal linux system:
tcp/ip
vfat,umsdos,fat filesys.
with SMP and mtrr support (note: I don't have SMP and it
detect this on boot)
scsi,ide support for cdrom,floppy,disk drives
a2). rc scripts setups
There are no other daemons or modules loaded by the rc scripts
besides those listed here.
kernel modules loaded by rc scripts: loop.o and 3c59x.o
daemons started by rc scripts: syslogd, inetd
NOTE: when rc scripts are done, it echoes a message saying
the rc scripts are done.
a3). ERROR message gotten then hang!!!
-- after the rc script message saying it is done and before
mingetty login binary is started the following
KERNEL error MSG is gotten:
"Unable to Handle Kernel Null ptr dereference"
a4). The above minimilistic linux kernel will give this error
message for the following kernels.
v2.2.7
v2.2.8
v2.2.10
v2.2.12
v2.2.13
NOTE: kernels v2.2.9 and v2.2.11 weren't compiled.
2nd configuration scenario
b1). performed steps (a1-a2) again but recompiled the kernel
with MTRR and SMP support disabled.
b2). ERROR message gotten then hang!!!
-- after the rc script message saying it is done and before
mingetty login binary is started the following
KERNEL error MSG is gotten:
Unable to Handle Kernel Null ptr dereference at virtual adr 00000004
current -> tss.cr3=0005e000, %cr3=005e000
*pde = 0
oops = 0
cpu = 0
EIP = 0010 [<c012b3ee>]
EFLAGS: 0010007
eax=0 ebx=c4146010 ecx=c7f00098 edx=0
esi: c414600 edi:c414600c ebp:287 esP:c009df30
ds: 0018 es:0018 ss= 0018
process init (pid:1 process nr:1 stack page=c009d000)
stack:
0000000b 00000001 c012b78r c4146000 c036def4 0000000b c036def8 c036dee0
c001d760 0000011c c0204020 c009c000 7fffffff 00000000 c4146000 c012bb3b
0000000b c009dfa8 c009dfa4 c009c000 00000000 00000000 bffffc38 c036dee8
code: 8b 42 04 39 d8 75 f7 89 4a 04 55 9d 8b07 50 e8 0a 83 ff ff
NOTE: I did this twice and it aborted roughly at the same spot.
b4). The above minimilistic linux kernel will give this error
message for the following kernels.
v2.2.7
the following kernels weren't tried without SMP and MTRR support
due to problems in items (a1-a4).
v2.2.8
v2.2.9
v2.2.10
v2.2.11
v2.2.12
v2.2.13
3rd configuration.
c1). repeated items (a1-a4) using a new compiler egcs v1.1.2
instead of v1.0.3. This compiler was compiled by me using
egcs v1.0.3 and installed. The libg++ and libstdc++ weren't
updated with new shared library files and links.
c2). repeated items (b1-b4) using the new compiler egcs v1.1.2
instead of v1.0.3 without SMP support and got roughly
the same stack dump. The address changed to approx. C6...
instead of C4... The instruction (code) seq was the same
except for two bytes.
4th configuration
d1). repeated item (c1) using a new compiler gcc v2.95.2
that was compiled and installed using egcs v1.1.2. The
libg++ and libstdc++ weren't updated with new shared
library files and links.
d2). repeated
...
read more »