First use the Kernel configuration that can be successfully run, I am using MVL3.0, and the kernel version is 2.4.18. Note: Since the two hardware SDRAM size is different, the previous SDRAM is 256m, and the new hardware's SDRAM is 128M, so the kernel cmdline in the configuration file is modified, the content is as follows:
CODE:
[Copy to CLIPBOARD]
Console = TTYS0, 115200 root = / dev / RAM RW = Off MEM = 128m @ 0x00000000 initd = 0x00800000, 8M
Then do the command:
CODE:
[Copy to CLIPBOARD]
Make ixdp425_config
Make oldconfig
Make Dep
Make zimage
Successfully, get VMLinux and Zimage, check the VMLinux file with the file command, display:
CODE:
[Copy to CLIPBOARD]
File VMLinux
Vmlinux: ELF 32-Bit MSB Executable, ARM, Version 1 (ARM), StATICALLY LINKED, NOT STRIPPED
Confirm that the file that can be performed on ARM. Then connect the hardware, start to the Redboot system, execute the following command:
CODE:
[Copy to CLIPBOARD]
Redboot> Load -r -v -b 0x11600000 zimage
Using Default Protocol (TFTP)
|
Raw file loaded 0x11600000-0X116ADA3F, Assumed Entry AT 0x11600000
Redboot> FIS LIST
Name Flash Addr Mem Addr Length Entry Point
Redboot 0x50000000 0x50000000 0x00060000 0x00000000
Redboot config 0x50fc0000 0x50fc0000 0x00001000 0x00000000
FIS DIRECTORY 0X50FE0000 0x50FE0000 0x00020000 0x00000000
Mac 0x50060000 0x10000000 0x00020000 0x10000000
Zimage 0x50080000 0x11600000 0x00100000 0x11600000
Ramdisk 0x50180000 0x10800000 0x00600000 0x10800000
PARAM 0x505E0000 0x00100000 0x00020000 0x10800000
Redboot> Go 0x11600000
Uncompressing linux ........................................... .. done, Boot
Ing the kenergy.
At this point, the system is not reflected. Online search, found that there are three cases encountered this problem: 1. Part of the colleagues in cmdline definition errors, write TTYS0 into TTY0, which will output the output to the standard terminal, not the serial port; 2, part of the colleagues The provincial-level to 2.6.10 or more, or the wrong defined console output, the serial port after 2.6.10 is said to become TTYSC0, I have never tried 2.6.10 kernel; 3, there is also some people are upgrading to After 2.6.10, use a tool called Skyeye, it seems that it will involve a definition problem with memory base sites in Memory.h and LubBock.c, and need to modify the 0xA0000000 in the base address to 0xC00000000. Contrast the software package provided by the hardware manufacturer, where the following definition points in the ARCH / ARM / BOOT directory:
CODE:
[Copy to CLIPBOARD]
IFEQ ($ (config_arch_ixp425), y)
Zreladdr = 0x00008000
PARAMS_PHYS = 0x00000100
ENDIF
This is different from the address provided by the manufacturer. These addresses are the unzipped addresses after the Kernel IMGAE, so they need to modify: then there is a Head-Xscale.s file under the Arch / Arm / Boot / Compressed directory, this The file is an initialization assembly that is called, associated with chip, and the MVL provides different manufacturers, so the file provided by the manufacturer. Then pay attention to the setting of the cmdline in the kernel configuration, it is OK! Re-compile the kernel, load, OK, and the system starts success. But now I have encountered new problems, and the system is reported as follows:
CODE:
[Copy to CLIPBOARD]
[Error] no isr registered to service interrupt
This error is because a module does not have successful loading, after recompiling Modules, replacing it to ramdisk, it is OK!