Messages in this thread |  | | From | Wayne.Brown@altec ... | Date | Fri, 13 Oct 2000 16:53:35 -0500 | Subject | UMSDOS Problem with test10-pre2 |
| |
Apologies in advance if this is a known problem. I've been away from kernel hacking for about three years and just re-subscribed to lkml a couple of weeks ago, so I may have missed something about this. But I haven't been able to find anything in the documentation or on lkml about it. If it's in a FAQ or an archive somewhere, don't waste bandwidth on the explanation; just point me to the appropriate document and I'll RTFM.
I can't get the most recent kernels to boot on an IBM ThinkPad 600X using umsdos as the root fs. *(An explanation and/or justification for using umsdos appears at the end of this message.)* The latest version that works for me is 2.3.51. Starting with 2.3.99-pre1 it tries to mount root as msdos rather than umsdos. Here's the relevant output from a successful 2.3.51 boot.
Linux version 2.3.51 (root@beowulf) (gcc version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)) #3 Fri Oct 6 13:45:58 CDT 2000 On node 0 totalpages: 16639 zone(0): 4096 pages. zone(1): 12543 pages. zone(2): 0 pages. Initializing CPU#0 Detected 448451051 Hz processor. Console: colour VGA+ 80x25 Calibrating delay loop... 447.28 BogoMIPS Memory: 63220k/66556k available (1075k kernel code, 2948k reserved, 81k data, 164k init, 0k highmem) Buffer-cache hash table entries: 4096 (order: 2, 16384 bytes) Page-cache hash table entries: 32768 (order: 5, 131072 bytes) CPU: Intel Pentium III (Coppermine) stepping 01 Checking 386/387 coupling... OK, FPU using exception 16 error reporting. Checking 'hlt' instruction... OK. POSIX conformance testing by UNIFIX PCI: PCI BIOS revision 2.10 entry at 0xfd880 PCI: Using configuration type 1 PCI: Probing PCI hardware PCI: Interrupt Routing Table found at 0xc00f9d70 [router type 0000/0000] Limiting direct PCI/PCI transfers. Linux NET4.0 for Linux 2.3 Based upon Swansea University Computer Society NET3.039 NET4: Linux TCP/IP 1.0 for NET4.0 IP Protocols: ICMP, UDP, TCP IP: routing cache hash table of 512 buckets, 4Kbytes TCP: Hash tables configured (established 4096 bind 4096) Starting kswapd v1.6 pty: 256 Unix98 ptys configured Uniform Multi-Platform E-IDE driver Revision: 6.30 ide: Assuming 40MHz system bus speed for PIO modes; override with idebus=xx PIIX4: IDE controller on PCI bus 00 dev 39 PIIX4: not 100% native mode: will probe irqs later ide0: BM-DMA at 0xfcf0-0xfcf7, BIOS settings: hda:DMA, hdb:pio ide1: BM-DMA at 0xfcf8-0xfcff, BIOS settings: hdc:DMA, hdd:pio hd0: C/H/S=0/0/3 from BIOS ignored hda: IBM-DARA-206000, ATA DISK drive hdc: CRN-8241B, ATAPI CDROM drive ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 ide1 at 0x170-0x177,0x376 on irq 15 hda: IBM-DARA-206000, 5729MB w/418kB Cache, CHS=12416/15/63, UDMA(33) Partition check: hda: [PTBL] [776/240/63] hda1 hda2 Linux PCMCIA Card Services 3.1.11 options: [pci] [cardbus] [pm] Adding cardbus controller 0: Texas Instruments PCI1221 Yenta IRQ list 06f8, PCI irq11 Socket status: 30000010 Adding cardbus controller 1: Texas Instruments PCI1221 (#2) Yenta IRQ list 06f8, PCI irq11 Socket status: 30000006 Intel PCIC probe: not found. 3c574_cs.c v1.08 9/24/98 Donald Becker/David Hinds, becker@cesdis.gsfc.nasa.gov.
At this point with 2.3.51 I get these lines:
UMSDOS 0.86 (compatibility level 0.4, fast msdos) check_pseudo_root: mounted as root check_pseudo_root: found //linux check_pseudo_root: found sbin/init, enabling pseudo-root UMSDOS: changed to alternate root VFS: Mounted root (umsdos filesystem) readonly. Freeing unused kernel memory: 164k freed
and the system finishes booting normally. But with later kernels, instead of these last few lines I get this:
VFS: Mounted root (msdos filesystem) readonly. Freeing unused kernel memory: 164k freed Warning: unable to open an initial console. Kernel panic: No init found. Try passing init= option to kernel.
and the system hangs. No mention at all of umsdos or pseudo_root. Notice that it says it mounted root as msdos, not umsdos, so it makes sense that it can't find init (or anything else) on that file system.
I've tried this with every combination of versions and configuration options I can think of: the default config, a config customized for exactly my hardware, a config with everything stripped out except the minimum necessary to boot, configs with everything possible compiled as modules, configs with no modules at all... I should mention here that all these ideas work fine on my desktop system, which uses ext2 for the root fs. But among other hardware differences, the desktop machine is a homebuilt Pentium MMX system, while the ThinkPad is a Pentium III. So I'm not certain it's the umsdos part that's the problem.
Both systems have recent installs of Slackware 7.1 with egcs-1.1.2, and I've upgraded binutils, modutils, etc. so that the versions are equal to or later than what's in the latest Documentation/Changes file. It doesn't matter whether I boot using loadlin or from a diskette using lilo; the results are the same. (In both cases I use "root=/dev/hda2 rw" to specify where the root fs is located.) Again, all this works with the 2.2 series (including 2.2.18pre15) and the 2.3 series up through 2.3.51.
* I know, umsdos is not a great choice for a permanent installation. The problem is that this is my company laptop and they don't want me fooling around with the partition table. Umsdos lets me install Linux into a subdirectory and I don't have to alter anything in the Windows 98 configuration to run it. Over the next few months we expect to be installing Unix servers. Because I'm the only one here with any significant Unix experience (about 12 years with Minix, Linux, AIX, and HP-UX) I've been told by the I/S director that it's almost certain I'll be both a sysadmin and the person who trains everyone else. My plan is to install Linux on all the programmers' laptops as part of the training class I'll be teaching. The company is gradually becoming more open to Linux; we already have a copy of the S/390 version running on our IBM mainframe, but it would be better if each person had a copy they could play with at home. So to maximize my chances of being allowed to offer it to everyone who wants it, I want to do it with as minimal an impact on the laptops' current setup as possible. I'd be happy to stay with a 2.2 kernel, but it doesn't support our network cards (3COM 3CCFE574BT). They appear to be supported in 2.3.51 but I haven't gotten them to work yet, and if I'm going to use a development kernel I'd rather go all the way to a 2.4.0 version before putting much effort into getting the network card to work.
So, any ideas?
Wayne
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/
|  |