Directly use the source code linux2.6.30.4 provided by tq2440, and then use the provided busybox.1.16.0
In (make menuconfig), initial Ram... is not selected.
We can see that there are no problems except the root file system.
Compile the file system to solve the following problems:
After make zimage arch = arm, download zimage. bin to tq2440. After the system is started, it will look like this:
It seems that this problem is not small. It's just bad gzip.
Question1: how can this problem be solved?
Whether it continues to use another uboot function, test Linux image (zimage ):
Initialization of various things .....
No, I went to the console. That's why there is a problem with zimage's compression header ??
But it didn't take long before I restarted and started uboot again. It seems that this is still a problem.
========================================================== ======================
Question2: If you can continue to enter the command, it means that busybox and the root file system are also correct ??
In this case, shut down the dog and try again, so it will not restart. In this case, it is a question of the dog:
Then close it directly on the command line:
$ Echo v>/dev/Watchdog
Refer to the following blog:
Http://blog.csdn.net/woshixingaaa/article/details/6527969
And the following:
Http://blog.csdn.net/dreambegin/article/details/6945942
I will simply deal with it and close watchdog at Compilation:
Direct Testing (direct zimage to memory) is no problem. Is there any problem with downloading to nandflash:
Copy Linux kernel... To 0x3000800...
Data abort. In this case, Pc = 0x3000b424. Which region does this belong? Is it the header (extract part )? Or?
Here, mkimage is not used to make zimage into a uimage, and there is no header (size 64b = 48 h), just use the tool provided by the tq2440 CD.
The usage is as follows:
Http://blog.csdn.net/topembedded/article/details/3581871
The basics are as follows:
1. First, check the command parameters of mkimage.
[Root @ localhost tools] #./mkimage
Usage:./mkimage-l Image
-L ==> list image header information
./Mkimage [-x]-A arch-O OS-T type-C comp-A ADDR-e EP-N name-D data_file
[: Data_file...] Image
-A ==> set architecture to 'arch '// used to specify the CPU type, such as arm
-O => Set Operating System to 'OS' // specifies the operating system, such as Linux
-T => set image type to 'type' // used to specify the image type, such as kernel
-C ==> set compression type 'comp '// specify the compression type
-A ==> Set Load address to 'addr '(HEX) // specify the image loading address
-E => set entry point to 'EP' (HEX) // kernel entry address, which is generally: image loading address + 0x40 (Information header size)
-N => set image name to 'name' // name of the image in the header Structure
-D => Use Image Data from 'datafile' // the image file name with no header information
-X ==> set xip (execute in place) // sets the execution position
2. Create a uimage with the added Header
[Root @ localhost boot] #./mkimage-A arm-O Linux-T kernel-C none-A 30008000-e 30008040-N linux-2.6.13-D zimage uimage
Image name: linux-2.6.13
Created: Sat DEC 20 19:42:38 2008
Image Type: ARM Linux kernel image (uncompressed)
Data size: 1588584 bytes = 1551.35 kb = 1.51 MB
Load address: 0x30008000
Entry Point: 0x30008040
Note: You can verify the meaning of a parameter based on the created header information. For example, the image name is the content specified by the-n option, the load address is the content specified by the-A option, and the entry point is the content specified by the-e option.
After mkimage is created, download and boot system.
Qusetion3: I still encountered a problem: how to download uimage to tq2440?
The U-boot menu cannot be used here,
You do not have the option to download uimage. You can rename the uimage into zimage. Bin, but in this case, it is incorrect when you start system (that is, Option 8) after the download.
Use the U-boot command:
TFTP address (0x30008000) filename (uimage)
In this way, you can.