as another attempt at trying to figure out why i can't get a
2.6.21-ts kernel running in place of a perfectly working 2.6.17 one, i
want to clarify the breakdown of the flash partitions from the
perspective of both redboot and linux (since someone suggested it
might be a filesystem support issue, but i'm kinda doubting that).
if i boot to redboot (which is entirely kernel-independent, of
course), i can see this:
RedBoot> fis list
Name FLASH addr Mem addr Length Entry point
(reserved) 0x60000000 0x60000000 0x01D04000 0x00000000
RedBoot 0x61D04000 0x61D04000 0x00040000 0x00000000
vmlinux 0x61D44000 0x00218000 0x00160000 0x00218000
RedBoot config 0x61FF8000 0x61FF8000 0x00001000 0x00000000
FIS directory 0x61FFC000 0x61FFC000 0x00004000 0x00000000
RedBoot>
as i understand it, the "breakdown" of flash from redboot's
perspective doesn't necessarily need to match the breakdown from
linux's perspective. for example, the above shows a fis "partition"
named "(reserved)" starting at flash offset zero of size 0x01D04000,
correct? followed by let's just say 0x002FC000 bytes worth of "stuff"
to finish off the whole 32M.
now let's boot to the working 2.6.17 kernel to see, among other
things:
...
Using static partition definition
Creating 3 MTD partitions on "ts7250-nand":
0x00000000-0x00004000 : "TS-BOOTROM"
0x00004000-0x01d04000 : "Linux"
0x01d04000-0x02000000 : "RedBoot"
...
yaffs: dev is 32505858 name is "mtdblock2"
yaffs: Attempting MTD mount on 31.2, "mtdblock2"
Reading data from NAND FLASH without ECC is not recommended
Reading data from NAND FLASH without ECC is not recommended
VFS: Mounted root (yaffs filesystem).
...
$ cat /proc/mtd
dev: size erasesize name
mtd0: 02000000 00020000 "phys_mapped_flash"
mtd1: 00004000 00004000 "TS-BOOTROM"
mtd2: 01d00000 00004000 "Linux"
mtd3: 002fc000 00004000 "RedBoot"
$
in short, everyone seems to agree on the partitioning of the 32M of
flash but if we check back to the output of "fis list":
Name FLASH addr Mem addr Length Entry point
(reserved) 0x60000000 0x60000000 0x01D04000 0x00000000
RedBoot 0x61D04000 0x61D04000 0x00040000 0x00000000
vmlinux 0x61D44000 0x00218000 0x00160000 0x00218000
RedBoot config 0x61FF8000 0x61FF8000 0x00001000 0x00000000
FIS directory 0x61FFC000 0x61FFC000 0x00004000 0x00000000
it should be obvious that /dev/mtd0 represents the entire physical
flash, the *combination* of /dev/mtd1 and /dev/mtd2 represents fis's
idea of "(reserved)", while /dev/mtd3 represents everything after that
(RedBoot, vmliunx, RedBoot config and FIS directory). right? i'm
just asking since this is a configuration that clearly works.
so what happens if i boot my new 2.6.21-ts kernel? will anything
look different that might be causing my grief?
...
Using static partition definition
Creating 3 MTD partitions on "ts7250-nand":
0x00000000-0x00004000 : "TS-BOOTROM"
0x00004000-0x01d04000 : "Linux"
0x01d04000-0x02000000 : "RedBoot"
...
affs: dev is 32505858 name is "mtdblock2"
yaffs: passed flags ""
yaffs: Attempting MTD mount on 31.2, "mtdblock2"
VFS: Mounted root (yaffs filesystem).
Freeing init memory: 92K
Warning: unable to open an initial console.
Kernel panic - not syncing: No init found. Try passing init= option to kernel.
what i get from the above is that both kernels see the same
breakdown of flash, represented by the same /dev/mtd device files, so
i'm going to assume it's not a filesystem mounting issue. (if it had
been, i would have expected to see an obvious YAFFS mount error.)
in short, i think it's clear that there's something else happening
here and that my root filesystem was mounted just fine. so, something
related to the console port is what i'm guessing.
does all of the above make sense?
rday
--
========================================================================
Robert P. J. Day
Linux Consulting, Training and Annoying Kernel Pedantry:
Have classroom, will lecture.
http://crashcourse.ca Waterloo, Ontario, CANADA
========================================================================
------------------------------------
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/ts-7000/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/ts-7000/join
(Yahoo! ID required)
<*> To change settings via email:
<*> To unsubscribe from this group, send an email to:
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|