编译lichee zero

对于lichee zero本来是想用BSP-3.4内核,但是其g++是4.6版本,不能支持c++11,因此废弃。官方说4.10版本的linux目前对摄像头支持不好,可以考虑用usb接口的。

编译参考官网:https://licheezero.readthedocs.io/zh/latest/%E7%B3%BB%E7%BB%9F%E5%BC%80%E5%8F%91/type.html

荔枝派 zero(全志V3S)-编译及SD烧录_Yfw&武的博客-CSDN博客_全志v3s

这里说一下过程遇到的问题:

1、uboot引导需要添加启动方式:

setenv bootcmd "setenv bootm_boot_mode sec; load mmc 0:1 0x41000000 zImage; load mmc 0:1 0x41800000 sun8i-v3s-licheepi-zero-dock.dtb; bootz 0x41000000 - 0x41800000;"

setenv bootargs "console=ttyS0,115200 panic=5 rootwait root=/dev/mmcblk0p2 earlyprintk rw vt.global_cursor_default=0"

saveenv

reset

如果要默认参数,可以在文件include/configs/sun8i.h加入默认:

#define CONFIG_BOOTCOMMAND "setenv bootm_boot_mode sec; " \
"load mmc 0:1 0x41000000 zImage; " \
"load mmc 0:1 0x41800000 sun8i-v3s-licheepi-zero-dock.dtb; " \
"bootz 0x41000000 - 0x41800000;"

#define CONFIG_BOOTARGS "console=ttyS0,115200 panic=5 rootwait root=/dev/mmcblk0p2 earlyprintk rw vt.global_cursor_default=0"

烧录参考:

LicheePi-zero体验 - 三七鸽 - 博客园

1、配置

make menuconfig

a.target option

b.交叉编译环境 toolchain

其中根据自身交叉编译器的情况配置,

参考:buildroot根文件系统 — Lichee zero 文档

  • 在本机上外部工具链配置为: /opt/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/

  • 工具链前缀是: arm-linux-gnueabihf

  • 外部工具链gcc版本:我们使用的是最新的6.3版本

  • 外部工具链内核头文件:是在 arm-linux-gnueabi/libc/usr/include/linux/version.h 里读取内核版本信息。本机的版本是4.6

  • C库还是选择传统的glibc。需要小体积可以选uclibc(需要自行编译安装)。

  • 再在system 设置下主机名,root密码等。

  • 最后就是配置自己需要的软件包,在menuconfig中选中即可。

  • 有时候下载速度慢,可以复制下载链接,使用迅雷等下载好后,拷贝到dl目录下,会自动识别。

3.配置名字和密码

问题:

1.LD_LIBRARY_PATH environment variable. This doesn't work.

使用sudo make

2. ./../misc/create_inode.c:399:18: error: conflicting types for ‘copy_file_range’

sudo vi output/build/host-e2fsprogs-1.43.3/misc/create_inode.c

===>#include "config.h"
#include <time.h>
#include <sys/types.h>
//#include <unistd.h>注释掉
#include <limits.h> /* for PATH_MAX */
#ifdef HAVE_ATTR_XATTR_H

3.Please port gnulib freadahead.c to your platform!

参考网上处理:

进入目录

sudo chmod 777 lib/stdio-impl.h

sudo sed -i 's/IO_ftrylockfile/IO_EOF_SEEN/' lib/*.c
sudo echo "#define _IO_IN_BACKUP 0x100" >> lib/stdio-impl.h

4.正在连接 cdn.kernel.org (cdn.kernel.org)|151.101.109.176|:443..

下载失败,可以直接下载:https://cdn.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/v1.43.4/e2fsprogs-1.43.4.tar.xz然后拷贝到dl目录下重新编译

5.启动kernel后打印:[   11.623609] Starting init: /bin/sh exists but couldn't execute it (error -8)

rootfs没有编译好,重新编译一下

我这里写了一个直接烧录的脚本:

#!/bin/bash

echo uboot down 
sudo dd if=u-boot-3s-current/u-boot-sunxi-with-spl.bin of=/dev/sdb bs=1024 seek=8

echo cp kernel 
sudo mount /dev/sdb1 /mnt/
sudo rm -rf /mnt/*
sudo sync
echo rm kernel finish
sudo cp linux-zero-5.2.y/arch/arm/boot/dts/sun8i-v3s-licheepi-zero.dtb /mnt/
sudo cp linux-zero-5.2.y/arch/arm/boot/dts/sun8i-v3s-licheepi-zero-dock.dtb /mnt/
sudo cp linux-zero-5.2.y/arch/arm/boot/dts/sun8i-v3s-licheepi-zero-with-800x480-lcd.dtb /mnt/
sudo cp linux-zero-5.2.y/arch/arm/boot/zImage /mnt/
#sudo cp u-boot/tools/boot.scr /mnt/
ls /mnt
sudo sync
sudo umount /mnt/

echo cp rootfs 
sudo mount /dev/sdb2 /mnt/
sudo rm -rf /mnt/* 
sudo sync
echo rm rootfs finish
sudo tar xvf buildroot-2017.08/output/images/rootfs.tar -C /mnt/ > /dev/null
sudo chmod 777 -R /mnt/*
ls /mnt/
#备注:一定要用sync来同步一下,否则导致拷贝不成功,而导致启动错误:出现devtmpfs: error mounting -2错误
sudo sync
sudo umount /mnt/

6.我挂在nfs服务器失败:配置内核支持nfs

            Networking support

                  ----->Networking options

                          ----->[*]IP:kernel level autoconfiguralion
                                         [*]DHCP support

        File systems

                ---->[*]Network file system

                         --->[*]NFS client  support

                                   [*]NFS client support for NFS vision3

                                         [*]NFS client support for the NFSv3 ACL protocol extension|

                                   [*] NFS client support for NFS version 4

                                         [*] NFS client support for NFSv4.1 (EXPERIMENTAL)
                          --->[*]Root file system on NFS

7.QT运行出错:

This application failed to start because it could not find or load the Qt platform plugin "xcb"
in "".

Available platform plugins are: linuxfb, minimal, offscreen, vnc.

Reinstalling the application may fix this problem.

参考:

QT:could not find or load the Qt platform plugin "linuxfb"_天已青色等烟雨来的博客-CSDN博客_-platform linuxfb

export QT_DEBUG_LUGINS=1        ####用来打开调试
export QTDIR=/usr
export QT_QPA_FONTDIR=$QTDIR/lib/fonts
export QT_QPA_PLATFORM_PLUGIN_PATH=$QTDIR/plugins/
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
export QT_QPA_PLATFORM=linuxfb:fb=/dev/fb0:size=800x480:mmSize=800x480:offset=0x0
export QT_QPA_EVDEV_KEYBOARD_PARAMETERS=/dev/input/event0

 按键用不了:

1.dts添加按键设备数

2.我编译QT的时候,带了-no-libudev。重新编译,添加export QT_QPA_EVDEV_KEYBOARD_PARAMETERS=/dev/input/event0即可

8.QT中文字体参考:

可商用中文字体再一次更新(附详细说明)

https://github.com/adobe-fonts/source-han-sans/

https://github.com/googlei18n/noto-cjk

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值