改变TQ2440默认作为终端的串…

来源:互联网 发布:徐甜甜 知乎 编辑:程序博客网 时间:2024/06/01 08:58
原文地址:改变TQ2440默认作为终端的串口以及NFS文件系统的配置作者:铁剑布衣

串口如果被作为默认终端,那马串口就会用于输出系统调试信息,而不能用于我们自己的串口通信。

在TQ2440的NOR中的U-BOOT,选择0 set the boot parameter。

##### Parameter Menu#####                                                     
[1] Set NFS bootparameter                                                     
[2] Set Yaffs bootparameter                                                   
[3] Setparameter                                                              
[4] View theparameters                                                        
[d] Deleteparameter                                                           
[s] Save the parameters to NandFlash                                          
[q] Return main Menu  

 这里面,1是用于配置NFS引导,2是使用本地文件系统,3用于修改某一个参数,4可以查看参数。d删除参数,慎用!s保存,如果不保存,重启之后所有设置还原。

如果想使用本地文件系统,输入2即可,然后s。

如果想使用NFS系统,还要输入PC端IP,本开发板IP,子网掩码,NFS路径

Enter your selection: 1
Enter the PC IP address:(xxx.xxx.xxx.xxx)
192.168.1.5
Enter the SKY2440/TQ2440 IP address:(xxx.xxx.xxx.xxx)
192.168.1.6
Enter the Mask IP address:(xxx.xxx.xxx.xxx)
255.255.255.0
Enter NFS directory:(eg: /opt/EmbedSky/root_nfs)
/opt/EmbedSky/root_nfs
bootargs: console=ttySAC0 root=/dev/nfsnfsroot=192.168.1.5:/opt/EmbedSky/root_nfsip=192.168.1.6:192.168.1.5:192.168.1.6:255.255.255.0:SKY2440.embedsky.net:eth0:off
最后可以看到,输出了bootargs参数的值。然后s保存。

查看参数时,可以输入指定的参数名,也可以直接按回车,查看所有参数。

Enter your selection: 4
Name(enter to view all paramters):
bootcmd=boot_zImage
bootdelay=0
baudrate=115200
ethaddr=0a:1b:2c:3d:4e:5f
ipaddr=192.168.1.6
serverip=192.168.1.8
netmask=255.255.255.0
mtdids=nand0=nandflash0
mtdparts=mtdparts=nandflash0:256k@0(bios),128k(params),128k(toc),512k(eboot),1024k(logo),3m(kernel),-(root)
bootargs=console=ttySAC0 root=/dev/nfsnfsroot=192.168.1.5:/opt/EmbedSky/root_nfsip=192.168.1.6:192.168.1.5:192.168.1.6:255.255.255.0:SKY2440.embedsky.net:eth0:off
stdin=serial
stdout=serial
stderr=serial
partition=nand0,0
mtddevnum=0
mtddevname=bios

Environment size: 520/131068 bytes

这里面我们暂时只需要关注bootargs这个参数。这个参数比较长,注意是一行,可能由于排版原因,这里被显示成了两行。

Enter your selection: 4
Name(enter to view all paramters): bootargs
bootargs=console=ttySAC0 root=/dev/nfsnfsroot=192.168.1.5:/opt/EmbedSky/root_nfsip=192.168.1.6:192.168.1.5:192.168.1.6:255.255.255.0:SKY2440.embedsky.net:eth0:off

参 数中的第一个console=ttySAC0,就表示使用的是默认的那个串口,第三个nfsroot=192.168.1.5:/opt/EmbedSky/root_nfs表示PC端开放的NFS路径,后面的ip就是本地IP、PC端IP、网关、子网掩码等等,那个网址没有什么意义,随便改,eth0是默认网口。

按3,输入参数名bootargs,要注意的是这些参数必须一次写入,而且只要有一处写错了一点,就会导致无法引导。

console=ttySAC1 root=/dev/nfsnfsroot=192.168.1.5:/opt/EmbedSky/root_nfsip=192.168.1.6:192.168.1.5:192.168.1.6:255.255.255.0:www.aiai.edu.cn:eth0:off

这样,默认的终端串口就被设置为扩展串口中的一个,默认串口不会输出系统的调试信息了(但是linux内核的输出信息还是会有的)。这里给的例子只是nfs时的配置,具体情况具体分析。

 

 屏蔽linux内核解压时的打印信息:

打开linux-2.6.30.4/arch/arm/boot/compressed/misc.c文件,找到函数staticputstr(const char * ptr),在声明char c;之后让函数直接返回,不执行putc(c);即可。

 

关 于NFS文件系统,要在PC端的root_nfs/etc/init.d/rcS文件中,屏蔽掉 net_set&这行,改为“#net_set&”即可,如果不屏蔽这一行,系统会重新设置IP,导致网络错误,无法连接到NFS。当调试完毕,准备制作镜像的时候,记得把这里再改回去。

0 0
原创粉丝点击