>> I have a TS-7250 with 2 bad blocks in the redboot partition. When I try
>> to write the kernel image ("fis create" command) it fails, because there
>> are some bad blocks. It seems that my redboot isn't able to skip bad
>> blocks, even if you say that it should.
> Does it give you an error message, or does it silently fail? If you
> could provide the error message that might help.
It silently fail.
>> ---
>> RedBoot> fis list
>> Name FLASH addr Mem addr Length Entry point
>> (reserved) 0x60000000 0x60000000 0x01D04000 0x00000000
>> RedBoot 0x61D04000 0x61D04000 0x00040000 0x00000000
>> vmlinux 0x61D44000 0x00218000 0x00128000 0x00218000
>> (bad block) 0x61E44000 0x61E44000 0x00004000 0xFFFFFFFF
>> (bad block) 0x61F80000 0x61F80000 0x00004000 0xFFFFFFFF
>> FIS directory 0x61FFC000 0x61FFC000 0x00003000 0x00000000
>> RedBoot config 0x61FFF000 0x61FFF000 0x00001000 0x00000000
>> ---
> It looks like you've got the version of RedBoot which skips bad blocks
> (512 byte sector size). The "(bad block)" entries in the fis list are
> special entries which keep track of where bad blocks are. In the
> above case, it looks like you have one bad block in the vmlinux area:
> 0x61D44000 + 0x128000 = 0x61E6C00
> ...and also another bad block outside of the vmlinux file.
Yes.
> The setup you have should work - when RedBoot tries to read vmlinux it
> will see the bad block and skip around it.
What I want to do is "update" the kernel image.
---
RedBoot> fis delete vmlinux
Delete image 'vmlinux' - continue (y/n)? y
RedBoot> fis list
Name FLASH addr Mem addr Length Entry point
(reserved) 0x60000000 0x60000000 0x01D04000 0x00000000
RedBoot 0x61D04000 0x61D04000 0x00040000 0x00000000
(bad block) 0x61E44000 0x61E44000 0x00004000 0xFFFFFFFF
(bad block) 0x61F80000 0x61F80000 0x00004000 0xFFFFFFFF
FIS directory 0x61FFC000 0x61FFC000 0x00003000 0x00000000
RedBoot config 0x61FFF000 0x61FFF000 0x00001000 0x00000000
RedBoot> load -v -r -b 0x00218000 -m http -h 192.168.0.5
/zImage-linux-2.6.18
|
Raw file loaded 0x00218000-0x003425eb, assumed entry at 0x00218000
RedBoot> fis create -b 0x00218000 -l 0x0012A5EB vmlinux
RedBoot> fis list
Name FLASH addr Mem addr Length Entry point
(reserved) 0x60000000 0x60000000 0x01D04000 0x00000000
RedBoot 0x61D04000 0x61D04000 0x00040000 0x00000000
vmlinux 0x61D44000 0x00218000 0x0012C000 0x00218000
(bad block) 0x61E44000 0x61E44000 0x00004000 0xFFFFFFFF
(bad block) 0x61F80000 0x61F80000 0x00004000 0xFFFFFFFF
FIS directory 0x61FFC000 0x61FFC000 0x00003000 0x00000000
RedBoot config 0x61FFF000 0x61FFF000 0x00001000 0x00000000
---
Now, I load the image from the flash and I try to execute it.
---
RedBoot> fis load vmlinux
RedBoot> exec -c "console=ttyAM0,115200 [...]"
Uncompressing Linux...
bad gzip magic numbers
-- System halted
---
If I load the kernel image from network (http) and then I execute it
(with the same command line arguments) it works.
Marco Pracucci
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/
|