ts-7000
[Top] [All Lists]

[ts-7000] of "fis list" and /proc/mtd and reconciling flash partitions

To: TS-7000 Yahoogroups List <>
Subject: [ts-7000] of "fis list" and /proc/mtd and reconciling flash partitions
From: "Robert P. J. Day" <>
Date: Sun, 22 Mar 2009 09:07:22 -0400 (EDT)
  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/

<Prev in Thread] Current Thread [Next in Thread>
  • [ts-7000] of "fis list" and /proc/mtd and reconciling flash partitions, Robert P. J. Day <=
Admin

Disclaimer: Neither Andrew Taylor nor the University of NSW School of Computer and Engineering take any responsibility for the contents of this archive. It is purely a compilation of material sent by many people to the birding-aus mailing list. It has not been checked for accuracy nor its content verified in any way. If you wish to get material removed from the archive or have other queries about the archive e-mail Andrew Taylor at this address: andrewt@cse.unsw.EDU.AU