编译命令:
git clone https://github.com/buildroot/buildroot.git
git clone https://github.com/flatmax/buildroot.rockchip.git
cd buildroot
make BR2_EXTERNAL=../buildroot.rockchip rockpis_defconfig
make
离线
问题1:builtin-declaration-mismatch
看描述意思是不能定义名字叫free的函数,因为库函数里有free()函数
查了下该函数定义是个static函数,只在这个文件内使用,,所以直接把函数名字改了
离线
问题2:restrict-overlaps
sprintf的第三个参数和第一个参数都是buf,,编译期认为发生了overlap,,代码如下:
换种写法:
这种写法和原来的写法应该是等效的,,先这么编译试试吧
离线
悲剧,,后面好多overlaps问题!!
一个一个都改了肯定不现实,,看来只能想办法让编译器不做这么严格的语法检查才能编译通过
哪位大侠知道buildroot环境下怎么让编译器检查不这么严格,请求指点,,谢谢
离线
离线
搜了下,,这些严格的语法检查似乎都是gcc 10引入的,,换个低版本的gcc重新编译就可以了
离线
问题3:commit miss
描述说rkbin的仓库中没有“b1bb741794d6af002182d365879c645a239f5118”这个commit
查了下确实没有这个commit,,可以在提交历史记录中找一个相近的commit,,替换掉buildroot.rockchip/package/rkbin/rkbin.mk中的commit id
离线
编译成功:
吐槽一下,,编译过程中会自动从github下载rkbin、rkdevice、rktool等几个包,,下载速度极慢,,平均只有10KB,,而包又比较大,,非常容易失败,,所以只能将github仓库导入gitee,,然后修改包的mk文件,,将其中的仓库地址都改成gitee上的
离线
buildroot.rockchip rockpis_defconfig 编译出来的sdcard.img的ssh默认用户名密码是什么?多谢。
离线
buildroot.rockchip rockpis_defconfig 编译出来的sdcard.img的ssh默认用户名密码是什么?多谢。
我还没用ssh,,我用串口登录的,,用户名为root,,不需要密码
离线
ssh登录一定要密码,或者用密钥登录
buildroot 可以配置root密码
离线
stgan 说:buildroot.rockchip rockpis_defconfig 编译出来的sdcard.img的ssh默认用户名密码是什么?多谢。
我还没用ssh,,我用串口登录的,,用户名为root,,不需要密码
手上没有串口线,只能ssh或adb了。
ssh使用root用户名,尝试密码为root、空都不对。
离线
@stgan
下面这个配置项我没改,从截图看默认确实没有密码
楼上 @黄粱梦 说“ssh登录一定要密码,或者用密钥登录”,,那么你有三种解决方法:
1、用串口登录,然后设置root用户密码
2、用串口登录,然后把公钥配置进去,之后免密登录
3、修改下面这个配置项,然后重新编译生成新的固件
离线
BR2_ROOTFS_OVERLAY="board/tm/tm_v1/rootfs_overlay/"
也可以这种方法把密钥放到 board/tm/tm_v1/rootfs_overlay/ 对应的目录,make 的时候自动打包到固件。
离线
@XIVN1987 @拉轰的脚踏车 @黄粱梦
感谢楼上朋友的解答和帮助,非常感谢。
最终采用meunconfig配置root登录密码的。
离线