TQ2440之初级制作内核

http://blog.csdn.net/lwj103862095/article/details/8227474


1、首先拷贝TQ提供的已经移植好的内核到/usr/src/目录下。

cp  /mnt/hgfs/share/linux-2.6.30.4_20100531.tar.bz2  /usr/src/

 

2、解压linux-2.6.30.4_20100531.tar.bz2压缩包

tar  -xvjf  linux-2.6.30.4_20100531.tar.bz2

 

3、进入linux-2.6.30.4这个目录 (一定要在这个目录下配置内核)

cd  /opt/EmbedSky/linux-2.6.30.4

————————————————————————————————————

下面开始再PC机的虚拟机上配置、编译内核

————————————————————————————————————

4 、清除原有配置与中间文件

make distclean

 

5、将config_EmbedSky_W43的内容复制到 .config这个文件里。(至关重要)

如果没有做这一步,将导致,启动不了内核。

cp config_EmbedSky_W43  .config

 

6、配置内核

make menuconfig

 

因为TQ公司已经将顶层的Makefile里面的

ARCH  ?=  $(SUBARCH)

CROSS_COMPILE   ?=

修改成

ARCH  ?=  arm

CROSS_COMPILE   ?=arm-linux-

 

故我们可以直接使用 make menuconfig 命令,而不用make menuconfig  ARCH=arm 命令

其实这里不用做什么,直接exit退出。因为配置的结果就是为了产生 .config这个配置文件。

我们在第五步已经完成了这个配置。

 

7、编译内核

make zImage 

同样道理,我们也不用使用make  zImage  CROSS_COMPILE=arm-linux- 命令。否则,会累死委屈

编译成功后,看到 Kernel: arch/arm/boot/zImage is ready

说明,已经在 arch/arm/boot/生成了 zImage 镜像。

 

8、拷贝zImage到/tftpboot/目录下

cp  ach/arm/boot/zImage  /tftp/

 

————————————————————————————————————

下面是烧写内核到开发板上。

首先,确保开发板已经烧写好了u-boot,我们通过u-boot的命令,通过tftp网络烧写内核

到开发板上。

其次,确保开发板能够ping通虚拟机。(因为是通过网络来烧写)。

————————————————————————————————————

9、EmbedSky> tftp 31000000 zImage
dm9000 i/o: 0x20000300, id: 0x90000a46
MAC: 0a:1b:2c:3d:4e:5f
TFTP from server 192.168.0.105; our IP address is 192.168.0.5
Filename 'zImage'.
Load address: 0x31000000
Loading: T #################################################################
         #################################################################
         #############################
done
Bytes transferred = 2314748 (2351fc hex)

 

10、擦除nand flash

EmbedSky> nand erase 200000 300000

NAND erase: device 0 offset 0x200000, size 0x300000
Erasing at 0x4e0000 -- 100% complete.
OK

 

11、烧写到nand flash里面去

EmbedSky> nand write 31000000 200000 300000

NAND write: device 0 offset 0x200000, size 0x300000
 3145728 bytes written: OK

 

12、启动内核

EmbedSky> boot_zImage
Copy linux kernel from 0x00200000 to 0x30008000, size = 0x00300000 ... Copy Kernel to SDRAM done,NOW, Booting Linux......
Uncompressing Linux......................................................................................................................................................... done, booting the kernel.
Linux version 2.6.30.4-EmbedSky (
[email protected]) (gcc version 4.3.3 (Sourcery G++ Lite 2009q1-176) ) #3 Mon Nov 26 20:19:27 CST 2012

CPU:  ........

......

......

Please press Enter to activate this console. eth0: link up, 100Mbps, full-duplex, lpa 0x45E1

 

到这里,内核就完全启动完毕了。

————————————————————————————————————

敲入Enter键后,出现类似于虚拟机里面的输入窗口命令行。

[root@EmbedSky /]#
[root@EmbedSky /]#

输入ls命令后,

TQ2440之初级制作内核_第1张图片

这些就是一些存在于开发板上的文件系统啦。

 

 

这节就讲到这里,天气冷了,大家多穿点衣服,最后祝愿大家学习愉快咯。^_^


你可能感兴趣的:(linux,指针,单片机,makefile,汇编语言)