页次: 1
linaro的编译器编译适用arm9的buildroot,会出现编译架构出错的问题。试了好久也没找到合适的办法。在百度上也只能找到GCC4.X的编译器,实在是不能忍受不支持C11,不支持高版本的QT。于是自已动手编译了一个仅适用于arm926ej-s架构的gcc6.5。测试过用本编译器编译内核和buildroot都没有问题,size和lib还更小,可能是单平台支持的优化更好的原因吧。
编译比较耗时,放个百度链接(论坛发不了,文件过大),方便有需要的人使用。
链接:https://pan.baidu.com/s/1Hc0uVQRkxTXf9JyIdzccaw
提取码:azzc
uboot用的是 git clone -b v3s-spi-experimental https://github.com/Lichee-Pi/u-boot.git
默认网关是 192.168.3.1,你的电脑网段设置不一样的话,得修改UBOOT的环境变量。
重新setenv下gatewayip serverip ipaddr
linux-zero-4.14.y的SPI flash系统有坑。按正常编译,挂载rootfs出错找不到分区的错误,5秒重启。原因是SPI设备名问题。打开内核调试,打印设备名由spi32766改为spi0。设备名改由idr_alloc获取。
id = idr_alloc(&spi_master_idr, ctlr, first_dynamic,
0, GFP_KERNEL);
mutex_unlock(&board_lock);
if (WARN(id < 0, "couldn't get idr"))
return id;
ctlr->bus_num = id;
printk(KERN_INFO "spi init id=%d\n",id);
发个16M的镜像,支持网卡。通过修改UBOOT的环境变量BOOTARGS和BOOTCMD,可以支持TFTP和NFS挂载内核和根文件系统。
setenv bootargs 'noinitrd root=/dev/nfs rw console=ttyS0,115200 console=tty0 nfsroot=192.168.3.251:/home/zeng/rootfs ip=192.168.3.250:192.168.3.251::::eth0:off init=/linuxrc'
setenv bootcmd 'setenv bootm_boot_mode sec;tftp 0x41000000 zImage;tftp 0x41800000 sun8i-v3s-licheepi-zero.dtb;bootz 0x41000000 - 0x41800000'
页次: 1