Difference between revisions of "Loading Linux Kernels Onto a Board"
m (Added guiding info on what to write.) |
|||
Line 1: | Line 1: | ||
− | {{todo|Add some text (11.06.13-08:47->MW+)|Michael Welling|project=oe 4,oe 5,mw,InProgress}} | + | {{todo|Add some text (11.06.13-08:47->MW+); (11.06.13-18:05->MD+)|Michael Welling|project=oe 4,oe 5,mw,md,InProgress}} |
+ | === Background Information === | ||
+ | |||
+ | Kernels are loaded onto boards separately from filesystems, but need to be loaded with a matching filesystem. The kernel image itself only contains the statically linked kernel drivers. The loadable module kernel drivers are stored on the filesystem, and are flavor matched to the kernel with which they were built. blah blah... | ||
+ | |||
+ | Kernels can be loaded into and run from RAM, which is good for testing... blah | ||
+ | |||
+ | Kernels can also be programmed onto the flash, where they'll be loaded by default when they run. You want to make sure to do this for the final... blah | ||
+ | |||
+ | === General Information === | ||
+ | |||
+ | Here's how you load and boot from RAM: ... | ||
+ | |||
+ | Here's how you load and boot from Flash... | ||
+ | |||
+ | Here are some pitfalls to watch out for.... | ||
+ | |||
+ | The long 0x70000000 number is a hexadecimal offset from the top of memory, and .... | ||
+ | (remember, they're usually C/C++ programmers reading this, so they should understand details about memory layout if you explain it to them) | ||
+ | |||
+ | '''Either put this in the uBoot doc, or explain it here:''' | ||
+ | |||
+ | The erase step on some uBoot boards is because... | ||
+ | |||
+ | The cp.b command is used to... | ||
+ | |||
+ | The set kernelsize line is actually a script step, and it... | ||
+ | |||
+ | The $filesize variable is automatically set ... | ||
+ | |||
+ | The protect off all is for... | ||
+ | |||
+ | '''^^^This is the kind of info programmers should take to like fish to water, if you explain it for them^^^''' | ||
+ | |||
+ | === Quick Reference by SoM === | ||
== SoM-9260M == | == SoM-9260M == |
Revision as of 18:06, 6 November 2013
Contents
Background Information
Kernels are loaded onto boards separately from filesystems, but need to be loaded with a matching filesystem. The kernel image itself only contains the statically linked kernel drivers. The loadable module kernel drivers are stored on the filesystem, and are flavor matched to the kernel with which they were built. blah blah...
Kernels can be loaded into and run from RAM, which is good for testing... blah
Kernels can also be programmed onto the flash, where they'll be loaded by default when they run. You want to make sure to do this for the final... blah
General Information
Here's how you load and boot from RAM: ...
Here's how you load and boot from Flash...
Here are some pitfalls to watch out for....
The long 0x70000000 number is a hexadecimal offset from the top of memory, and .... (remember, they're usually C/C++ programmers reading this, so they should understand details about memory layout if you explain it to them)
Either put this in the uBoot doc, or explain it here:
The erase step on some uBoot boards is because...
The cp.b command is used to...
The set kernelsize line is actually a script step, and it...
The $filesize variable is automatically set ...
The protect off all is for...
^^^This is the kind of info programmers should take to like fish to water, if you explain it for them^^^
Quick Reference by SoM
SoM-9260M
U-Boot> tftp 0x20000000 uImage-som-9260m
U-Boot> protect off all
U-Boot> erase 0x10100000 0x103fffff
U-Boot> cp.b 0x20000000 0x10100000 ${filesize}
U-Boot> set kernelsize $filesize
SoM-9G20M
U-Boot> tftp 0x20000000 uImage-som-9g20m
U-Boot> cp.b 0x20000000 0xD0042000 ${filesize}
SoM-9G45M
U-Boot> tftp 0x74000000 uImage-som-9g45m
U-Boot> cp.b 0x74000000 0xC0042000 ${filesize}
SoM-9M10M
U-Boot> tftp 0x74000000 uImage-som-9m10m
U-Boot> cp.b 0x74000000 0xC0042000 ${filesize}
SoM-9307M
Redboot> fis unlock -f 0x60000000 -l 0x1fdffff
Redboot> load -r -v -b 0x80000 -h 10.0.2.60 zImage-som-9307m
Redboot> fis create -b 0x80000 -l 0x200000 zImage
IPAC-9302
Redboot> fis unlock -f 0x60000000 -l 0x1fdffff
Redboot> load -r -v -b 0x80000 -h 10.0.2.60 zImage-ipac-9302
Redboot> fis create -b 0x80000 -l 0x200000 zImage