|
|
 |
Getting Started
Booting the Kernel
Using a compressed kernel
|
|
Most people will be familiar with compressed kernels from booting Linux
on a PC. It is possible to boot a compressed kernel onto the SH4 in
the same way, and typically results in the download time dropping
to half the time taken for the uncompressed kernel.
To do this a couple of adjustments are needed to the build procedure:
-
Make sure the kernel configuration option CONFIG_ZIMAGE_ROM (Processor
type and features -> Compressed kernel image in ROM) is not selected.
-
Build the kernel using the command:
make Image. Note that
st40load can only handle ELF
executables, so the file to specify on the command line is actually
arch/sh/boot/compressed/vmlinux.
Trying to use arch/sh/boot/zImage
will not work, because this is the binary data only,
extracted from the ELF file.
-
Finally boot the compressed kernel. Normally the command language
procedure
BootLinuxKernel is used, however this uses the
kernel symbol table to determine where to place the command parameters.
As the symbol table no longer available in the compressed kernel, the
addresses must be specified directly. To do this call
LoadLinuxKernel to load the kernel and set up the kernel
parameters, and ConfigureLinuxOptions to set up the kernel
command line parameters.
So the complete command line should look something like:
# st40load -t slioch_stb1eval \
-p "LoadLinuxKernel 0x88001000 arch/sh/boot/compressed/vmlinux ;
ConfigureLinuxOptions 0x88001000" -- \
console=ttySC0,115200 \
root=/dev/nfs \
nfsroot=138.198.35.2:/opt/STM/ST40Linux-1.0/devkit/sh4/target \
ip=138.198.7.101::138.198.1.1:255.255.0.0:iptest101:eth0:off \
mem=32m
|
|
|
|