原创作品,转载请注明原作者及地址!
by 飞鸿惊雪
很多网友在FS2410上测试OpenWrt时会出现一些问题,比如编译未成功之类的。
为了让大家更直观的在FS2410上测试下OpenWrt,我把之前自己编译成功的可执行文件放在如下地址,大家可以下载下来直接运行。
http://openwrt-for-embedded.googlecode.com/svn/firmware/fs2410-20120313/,下载其中的fs2410-20120313
同时也写了这篇比较详细的说明,供大家参考。
=============================================================
## FS2410硬件信息
这个是针对优龙的FS2410,但是其他的S3C2410应该也能用。
顺带在加上自己的uboot.bin
Nand Flash分区:(1M,3M,30M,30M)
0x000000000000-0x000000100000 : "uboot" (0 -1M)
0x000000100000-0x000000400000 : "kernel" (1M -4M)
0x000000400000-0x000002200000 : "linux qtopia" (4M -34M)
0x000002200000-0x000004000000 : "openwrt" (34M -64M)
开发板 :优龙FS2410
CPU :SAMSUNG S3C2410,ARM9TDMI,主频203MHz
SDRAM :64MB
NAND FLASH :K9F1208(64MB)
NOR FLASH :SST39VF1601(2MB)
NETWORK :CS8900A
TFT LCD :东华的3.5寸TFT屏,分辨率320x240(坏了~)
OpenWrt的linux内核主要支持:
0增加对CS8900网卡芯片的支持;
1支持USB移动硬盘,U盘;
2支持SD/MMC卡,能够正常工作;
3音频uda1341工作正常,可录音/放音;
4使2410下的RTC工作正常;
5针对自己的NAND修改了分区;
6支持cramfs,vfat,nfs,squash,yaffs,jffs
7因为自己的触摸屏被我弄的不亮了,所以没有加入对lcd和touchscreen的支持;
8板载的按键,led和buzzer蜂鸣器也没来得及,有兴趣的朋友可以加一加;
=============================================================
## 软件说明
uboot-fs2410.bin :FS2410的uboot
0313-openwrt-s3c24xx-fs2410-uImage :uboot使用的kernel
0313-openwrt-s3c24xx-fs2410-zImage :kernel镜像
openwrt-s3c24xx-squashfs.img :squashfs文件系统
openwrt-mini2440-jffs2-128k.bin :jffs2文件系统
openwrt-mini2440-jffs2-64k.bin
0313-openwrt-s3c24xx-fs2410-jffs2-128k.img
0313-openwrt-s3c24xx-fs2410-jffs2-64k.img
=============================================================
## 使用uboot启动OpenWrt
使用uboot测试OpenWrt前提:
uboot安装好(自己搜索下方法)
PC机的tftp,nfs服务都启动,目录分别为/tftboot/和/tftpboot/nfs/(自己搜索下方法)
PC机的IP为192.168.0.100,ARM开发板IP为192.168.0.101
一 NFS启动OpenWrt(kernel在tftp,rootfs在nfs)
1 设置bootfile为uImage.s3c24xx
ARM2410 # setenv bootfile "uImage.s3c24xx
2 设置nfs启动目录
ARM2410 # setenv bootargs console=ttySAC0,115200 root=/dev/nfs nfsroot=192.168.0.100:/tftpboot/nfs ip=192.168.0.101:192.168.0.100:192.168.0.1:255.255.255.0:www.richardnee.com:eth0:off
3 把uImage复制为/tftboot/uImage.s3c24xx,rootfs复制为/tftpboot/nfs/(分别开启tftp和nfs服务器在这两个目录!)
4 运行
ARM2410 # tftp
ARM2410 # bootm
二 NAND中(kernel在tftp,rootfs在nand)
1 把squashfs文件系统复制到/tftpboot/目录下(名称为openwrt-s3c24xx-squashfs.img)
2 利用tftp把文件系统copy到内存中(假设放在内存的0x31000000处):
ARM2410 # tftp 0x31000000 openwrt-s3c24xx-squashfs.img
3 把内存中的文件系统写到nand中(假设放在第3分区"openwrt"中,文件大小应根据实际情况而定,不一定是0x00850000)
ARM2410 # nand erase 0x02200000 0x00850000
ARM2410 # nand write 0x31000000 0x02200000 0x00850000
4 设置uboot启动参数:
ARM2410 # reset
ARM2410 # setenv bootargs console=ttySAC0,115200 root=/dev/mtdblock3
4 运行
ARM2410 # tftp
ARM2410 # bootm
5 进入fs2410的luci
把PC机的ip设置为192.168.1.xxx(因为fs2410目前的ip为192.168.1.1网段)
进入浏览器输入192.168.1.1,进入luci
二 NAND中启动(kernel在nand,rootfs在nand)
1 把内核uImage复制为/tftboot/uImage.s3c24xx
2 利用tftp把内核copy到内存中(假设放在内存的0x31000000处):
ARM2410 # tftp 0x31000000 uImage.s3c24xx
3 把内存中的内核写到nand中(假设放在第1分区"kernel"中,文件大小应根据实际情况而定,不一定是0x190000)
ARM2410 # nand erase 0x00100000 0x190000
ARM2410 # nand write 0x31000000 0x00100000 0x190000
1 把squashfs文件系统复制到/tftpboot/目录下(名称为openwrt-s3c24xx-squashfs.img)
2 利用tftp把文件系统copy到内存中(假设放在内存的0x31000000处):
ARM2410 # reset
ARM2410 # tftp 0x31000000 openwrt-s3c24xx-squashfs.img
3 把内存中的文件系统写到nand中(假设放在第3分区"openwrt"中,文件大小应根据实际情况而定,不一定是0x00850000)
ARM2410 # nand erase 0x02200000 0x00850000
ARM2410 # nand write 0x31000000 0x02200000 0x00850000
4 设置uboot启动参数:
ARM2410 # reset
ARM2410 # setenv nandtoram nand read 0x30008000 0x100000 0x200000
ARM2410 # setenv bootram bootm 0x30008000
ARM2410 # setenv bootcmd run nandtoram\;run bootram
ARM2410 # setenv bootargs console=ttySAC0,115200 root=/dev/mtdblock3
ARM2410 # sa
4 运行
ARM2410 # boot
5 进入fs2410的luci
把PC机的ip设置为192.168.1.xxx(因为fs2410目前的ip为192.168.1.1网段)
进入浏览器输入192.168.1.1,进入luci
OpenWRT ping PC:
![](http://hi.csdn.net/attachment/201203/6/0_1331030844CXB7.gif)
![](http://hi.csdn.net/attachment/201203/6/0_1331030901D4Wg.gif)
![](http://hi.csdn.net/attachment/201203/6/0_1331030951265C.gif)
![](http://hi.csdn.net/attachment/201203/6/0_1331031015X8oO.gif)
原创作品,转载请注明原作者及地址!
by 飞鸿惊雪