手表相关

2.烧写uImage
tftp 48000000 uImage
mmc write 0x48000000 0x800 0x3000 //emmc地址以块单位,一块0x200=512字节

计算流程:
0x800起始地址=0x100000/512
0x3000分区大小=7M-1M=0x600000/512

3.烧写rootfs_ext4.img
tftp 480000000 rootfs_ext4.img //下载自己制作的rootfs
mmc write 0x48000000 0x3800 0x5000
mmc write 0x48000000 0x3800 0x3C000

计算流程:
0x3800起始地址=0x700000/512
0x5000分区大小=10M=0xa00000/512

4.设置系统启动参数
setenv bootcmd mmc read 0x48000000 0x800 0x3000 ; bootm 48000000
setenv bootargs root=/dev/mmcblk0p2 console=ttySAC0,115200 rootfstype=ext4 maxcpus=1
saveenv

重新启动系统,测试rootfs_ext4.img
系统启动完毕,观察main程序是否启动,看main的打印的信息
执行以下命令查看内核的启动参数:
cat /proc/cmdline
root=/dev/mmcblk0p2 console=ttySAC0,115200 rootfstype=ext4
maxcpus=1 //说明内核确实到第三分区挂接了自己的根文件系统

问题:系统启动完毕,内核死活无法挂接EMMC上第三分区的根文件系统
      因为EMMC的linux内核驱动有BUG
解决办法如下:
方法1:可以采用系统部署第一天课程的uImage
方法2:修改内核EMMC驱动的bug,修改方法如下:
             cd /opt/kernel
             vim drivers/mmc/core/mmc.c +295
             然后将if语句整体注释掉,然后保存退出
             make uImage
             cp arch/arm/boot/uImage /tftpboot
             用这个新的uImage重新挂接EMMC的根文件系统试试    

pppd上网

pppd call gprs-dial &
route add default ppp0

/ # route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         *               0.0.0.0         U     0      0        0 ppp0
10.64.64.64     *               255.255.255.255 UH    0      0        0 ppp0
/ # 
系统起不来,内核mmc,分区有一点问题
gao#   tftp 48000000 uImage
dwmac.c0060000 Waiting for PHY auto negotiation to complete...... done
dwmac.c0060000: No link.
gao# print
baudrate=115200
bootargs=root=/dev/nfs nfsroot=192.168.1.106:/home/ubuntu/watch/rootfs ip=192.168.1.110:192.168.1.106:192.168.1.1:255.255.255.0 init=/linuxrc console=ttySAC0,115200 maxcpus=1 lcd=vs070cxn tp=gslx680 loglevel=8
bootcmd=tftp 0x48000000 uImage ; bootm 0x48000000
bootdelay=3
bootfile=uImage
ethact=dwmac.c0060000
ethaddr=00:e2:1c:ba:e8:60
ethprime=RTL8211
fastboot=flash=mmc,2:ubootpak:2nd:0x200,0x78000;flash=mmc,2:2ndboot:2nd:0x200,0x4000;flash=mmc,2:bootloader:boot:0x8000,0x70000;flash=mmc,2:boot:ext4:0x00100000,0x04000000;flash=mmc,2:system:ext4:0x04100000,0x2F200000;flash=mmc,2:cache:ext4:0x33300000,0x1AC00000;flash=mmc,2:misc:emmc:0x4E000000,0x00800000;flash=mmc,2:recovery:emmc:0x4E900000,0x01600000;flash=mmc,2:userdata:ext4:0x50000000,0x0;
gatewayip=192.168.1.1
ipaddr=192.168.1.110
netmask=255.255.255.0
serverip=192.168.1.106
stderr=serial
stdin=serial
stdout=serial

Environment size: 928/32764 bytes

你可能感兴趣的:(手表相关)