调试Linux Kernel的时候,如果是每次都使用SD卡拷贝新uImage,很明显不如直接使用串口或网口传输来的方便。使用串口kermit传输的速度有点慢,所以我使用了minicom+tftp的方式。

第一步:安装tftp
yum install tftp

第二步:修改/etc/xinetd.d
service tftp
{
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /tftp_root -c
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
        disable                 = no
}
-s制定chroot目录,-c意思是可以创建文件。这个目录一定要直接在根目录下。

第三步:启动tftp服务
service xinetd start
如果要永久启动的话,就执行:
systemctl start xinetd.service

第四步:修改防火墙设置
在runtime和perminent里面加入69号端口,同时开启tftp和tftp-cllient服务。

第五步:修改selinx
setsebool -P tftp_anon_write on
setsebool -P tftp_home_dir on

到这里,tftp就设置好了。

第六步:在U-Boot的命令提示符下输入:
U-Boot# set ipaddr 192.168.1.133                                               
U-Boot# set serverip 192.168.1.132

第七步:执行tftp命令
U-Boot# tftp 0x82000000 uImage
U-Boot# tftp 0x83000000 maria_am335x.dtb

最后,启动内核既可:
U-Boot# bootm 0x82000000 - 0x83000000

速度比串口快得不是一点点哦~~~