GT2440使用串口+tftp安装linux系统
来源:互联网 发布:山东网络诈骗案 编辑:程序博客网 时间:2024/05/29 19:53
开发环境:win7+vmware+ubuntu1204
GT2440的教程里面提到的安装linux系统的方法是使用dnw+USB来下载实现的。但是在万恶的win7下面,USB驱动是无论如何也是装不上的,所以必须换个方法了。
一、编译下载中介uboot到norflash
《嵌入式linux应用开打完全手册》上提到的uboot具备tftp功能,而且也是使用s3c2440芯片。所以就考虑使用这个uboot来作为烧写中介。首先是编译这本书上的uboot。
1、编译《嵌入式linux应用开打完全手册》光盘中的uboot
首先解压 u-boot-1.1.6.tar.bz2 到uboot这个目录下。并把补丁u-boot-1.1.6_100ask24x0.patch也方法uboot目录下。uboot的目录树如下:
$ tree uboot -L 1
uboot
├── p0
├── p0.rej
├── SI
├── tags
├── u-boot-1.1.6
├── u-boot-1.1.6_100ask24x0.patch
├── u-boot-1.1.6.tar.bz2
├── u-boot-2015.04
└── u-boot-2015.04.tar.bz2
然后在uboot这个目录下执行下面的命令来给uboot1.1.6打上补丁,后编译uboot1.1.6。
$patch p0 < u-boot-1.1.6_100ask24x0.patch
2、使用jlink烧写uboot1.1.6到norflash
这一步需要一个”mini2440-SST39VF1601.jflash“
2.1 把GT2440的启动方式拨到NOR
2.2 打开j-flash arm,然后“file -> open project"选择”mini2440-SST39VF1601.jflash“
2.3 因为GT2440与mini2440的norflash并不一样,所以要在"project setting"中把flash型号勾选上自动,如下图
2.4 然后在"file -> open date file ..."选项中选中编译好的uboot镜像下载即可。
二、通过tftp安装linux系统
在这个步骤中,gt2440的启动方式还是nor。烧写nand时,uboot,logo,zima及文件系统在nand中的起始位置参考《gt2440用户手册》中”3.1 安装linux系统“中的图片。如下图是烧写logo时的图片就可知logo烧写的起始位置是0x140000。
1、在ubuntu上安装tftpd服务器
参考链接:http://blog.chinaunix.net/uid-26495963-id-3206829.html
我的操作步骤:
$ apt-get install tftp-hpa tftpd-hpa
$ mkdir /home/sundh/tftpboot
$chmod 777 /home/sundh/tftpboot
$ sudo vim /etc/default/tftpd-hpa
1 # /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/home/sundh/tftpboot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="-l -c -s"
$ sudo service tftpd-hpa restart
然后测试下即可。
2、uboot环境变量设置
setenv ipaddr 192.168.211.21
setenv gatewayip 192.1689.211.1
setenv serverip 192.168.211.150
每个变量的作用很明显,其中serverip就是tftp服务器的ip地址了。
3、烧写nand
3.1 擦除整块nand
100ask> nand info //获取nand容量
100ask> nand erase 0x0 0x10000000 //0x10000000 = 256M
3.2 烧写uboot到nand
100ask> mw.b 0x30000000 0xff 0x40000
100ask> tftp 0x30000000 u-boot_W35.bin
100ask> nand write 0x30000000 0x0 0x40000
3.3 烧写logo
100ask> mw.b 0x30000000 0xff 0x40000
100ask> tftp 0x30000000 gt2440_logo_W35.bin
100ask> nand write 0x30000000 0x140000 0x40000
3.4 烧写linux内核
100ask> mw.b 0x30000000 0xff 0x300000
100ask> tftp 0x30000000 zImage_2.6.38.6_W35
100ask> nand write 0x30000000 0x240000 0x300000
3.4 安装根文件系统
100ask> mw.b 0x30000000 0xff 0x3C00000
100ask> tftp 0x30000000 root_qt2.2.0.bin
100ask> nand erase 0x600000 0x3400000
100ask> nand write.jffs2 0x30000000 0x600000 $(filesize) //nand write.jffs2 不需要进行页面对其
这里发现文件系统的位置不对。先不管了,反正也要重新移植系统。这个跟nand分区有关,后面再移植新的内核时再看。
到此位置除了”安装根文件系统“有问题其他都正确。
- GT2440使用串口+tftp安装linux系统
- Linux系统下安装使用tftp
- linux下tftp安装以及使用
- 串口操作(GT2440版本)
- Linux系统Tftp服务器
- linux系统下tftp服务的安装与启动
- linux系统上tftp服务器的安装配置
- Linux上安装tftp
- linux tftp安装配置
- linux下安装tftp
- Linux 安装TFTP服务器
- Linux下安装tftp
- Linux下安装TFTP
- linux tftp安装
- linux下tftp安装
- Linux>CentOS安装TFtp
- relhat 5 linux 下 TFTP安装与使用(客户端 一定要安装 否则找不到tftp命令)
- ubuntu安装使用tftp
- C语言的文件操作 freopen
- Linux手动安装TMUX 编译 以及遇到的问题
- [leetcode] 85.Maximal Rectangle
- 兼容各浏览器的点击复制文本框内容的Jquery插件
- Linux下的Memcache安装
- GT2440使用串口+tftp安装linux系统
- 字符编码工具类
- MyEclipse优化设置(最详细版本)
- 对未来的洞察力是成功的要素之一
- django 日志配置
- Volley的基本使用
- 每天一个linux命令(1):ls命令
- Python 3.4 - urllib.request 学习爬虫爬网页(一)
- 如何在Mac OSX上提取App Store上的iOS应用信息