问题
在前文《Hi3519v101烧录方法》中,烧录boot之后要手动配置一下启动参数才能正确的加载kernel和rootfs。当为了安全问题而关闭了串口功能导致无法配置时怎么办?有串口,量产时一个个板子去配置?
解决
既然能通过串口修改启动参数,那应该可以在源码里直接将默认的启动参数改成实际的,这样烧录完成后就不用手动配置,上述的两个问题也解决了。
在include\configs\hi3519v101.h
中,找到Environment Configuration
,内容如下:
/*-----------------------------------------------------------------------
* Environment Configuration
*-----------------------------------------------------------------------*/
#define CONFIG_BOOTCOMMAND "bootm 0x81000000 0x82000000"
#define CONFIG_BOOTDELAY 1
#define CONFIG_BOOTARGS "mem=96M console=ttyAMA0,115200"
#define CONFIG_NETMASK 255.255.255.0 /* talk on MY local net */
#define CONFIG_IPADDR 192.168.1.10 /* static IP I currently own */
#define CONFIG_SERVERIP 192.168.1.2 /* current IP of tftp server ip */
#define CONFIG_ETHADDR 00:00:23:34:45:66
#define CONFIG_BOOTFILE "uImage" /* file to load */
#define CONFIG_BAUDRATE 115200
这个刚烧录完时,通过printenv
命令打印出来的一致。
/*-----------------------------------------------------------------------
* Environment Configuration
*-----------------------------------------------------------------------*/
#define CONFIG_BOOTCOMMAND "sf probe 0;sf read 0x82000000 0x100000 0x300000;bootm 0x82000000"
#define CONFIG_BOOTDELAY 1
#define CONFIG_BOOTARGS "mem=64M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=jffs2 rw mtdparts=hi_sfc:1M(boot),3M(kernel),28M(rootfs)"
编译u-boot并将镜像烧录到板子上,重新上电,可以看到不需要手动配置启动参数就正确加载kernel和rootfs了。
进入到u-boot,通过
printenv
命令打印参数:跟设置的一致,问题解决。
网友评论