您的位置:首页 > 编程语言 > Go语言

goke7101系统搭建

2016-01-13 13:24 253 查看
文件准备:

1.u-Boot文件:uboot-gk7101-imx222.bin

2.内核文件:zImage

3.文件系统:goke_sys_vxxx

4.tftpd32.exe

文件系统制作指令:mkfs.jffs2 -e 0x10000 -d rootfs_uClibc -o goke_sys_vxxx

goke硬件系统:连接串口、连接网络、上电启动

按Enter键进入U-Boot

配置uboot参数(serverip是本地电脑的IP,ipaddr是goke板子的IP)

set serverip 192.168.33.100

set ipaddr 192.168.33.213

set gatewayip 192.168.33.1

setenv loadaddr 0xC1000000

setenv bootargs 'console=ttySGK0,115200 noinitrd mem=46m root=/dev/mtdblock3 rootfstype=jffs2 init=/linuxrc ip=192.168.33.213::192.168.33.1:255.255.255.0:goke:eth0:off phytype=1'

save

reset

支持jffs2的配置:(其中mtdblockx可以使用指令查看)

setenv bootargs 'console=ttySGK0,115200 noinitrd mem=46m root=/dev/mtdblock3 rootfstype=jffs2 init=/linuxrc

# ls /dev/mtdblock*

/dev/mtdblock0 /dev/mtdblock1 /dev/mtdblock2 /dev/mtdblock3

# cat /proc/mtd

dev: size erasesize name

mtd0: 00040000 00010000 "uboot"

mtd1: 00010000 00010000 "ubootenv"

mtd2: 00200000 00010000 "kernel"

mtd3: 00db0000 00010000 "rootfs"

打开工具:tftpd32.exe

进入U-Boot进行烧写:

烧写uboot

tftp uboot-gk7101-imx222.bin

sf probe

sf erase 0 40000

sf write c1000000 0 40000

reset

烧写内核zImage的命令:

tftpboot zImage

sf probe

sf erase 50000 200000

sf write c1000000 50000 200000

sf filesize 200000

烧写根文件系统

tftp 0xC1000000 goke_sys_v2016011201

sf probe 0 0

sf erase 0x250000 0xdb0000

sf write 0xC1000000 0x250000 0xdb0000

存放用户名及密码的文件:

vi /etc/shadow

root::10933:0:99999:7:::

bin:*:10933:0:99999:7:::

daemon:*:10933:0:99999:7:::

adm:*:10933:0:99999:7:::

lp:*:10933:0:99999:7:::

sync:*:10933:0:99999:7:::

shutdown:*:10933:0:99999:7:::

halt:*:10933:0:99999:7:::

uucp:*:10933:0:99999:7:::

operator:*:10933:0:99999:7:::

ftp:*:10933:0:99999:7:::

nobody:*:10933:0:99999:7:::

default::10933:0:99999:7:::

系统自动登录,不需要输入root:

在/etc/inittab中将

ttySGK0::respawn:/sbin/getty -L ttySGK0 115200 ttySGK0 # GENERIC_SERIAL

替换为

ttySGK0::once:/bin/login root

app自启动:

vi /etc/init.d/rcS

最后添加:

/usr/local/bin/run_app.sh --sensor imx222

telnet后台:

vi /usr/local/bin/run_app.sh

最后添加:

#ulimit -c unlimited

telnetd &

/usr/local/bin/ec_ipc_goke

启动时,jffs2检查,开机速度慢,打印如下 log:

[ 2.940000] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

[ 2.960000] IP-Config: Complete:

[ 2.960000] device=eth0, addr=192.168.33.213, mask=255.255.255.0, gw=192.168.33.1

[ 2.970000] host=goke, domain=, nis-domain=(none)

[ 2.970000] bootserver=255.255.255.255, rootserver=255.255.255.255, rootpath=

[ 10.620000] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00a9fb48: 0x0001 instead

[ 10.630000] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00a9fb5c: 0x0800 instead

[ 10.650000] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00a9fb78: 0x0080 instead

[ 10.660000] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00a9fbcc: 0x0040 instead

[ 10.670000] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00a9fbe0: 0x0002 instead

[ 10.680000] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00a9fbe4: 0x0010 instead

[ 10.690000] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00a9fc10: 0x0080 instead

[ 10.700000] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00a9fc84: 0x0100 instead

[ 10.710000] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00a9fca8: 0x0008 instead

[ 10.720000] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00a9fd08: 0x000c instead

[ 10.730000] jffs2: Further such events for this erase block will not be printed

[ 10.810000] VFS: Mounted root (jffs2 filesystem) on device 31:3.

[ 10.820000] Freeing init memory: 132K

取消jffs2检查:

make add-mtd-utils-1.5.0 添加flash工具

用flash_erase -j /dev/mtd3 0 0 来擦除
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: