• OK3568 forlinx系统编译过程及问题汇总


    1. 共享文件夹无法加载;通过网上把文件夹加载后,拷贝文件很慢,任务管理器查看发现硬盘读写速率很低。解决办法:重新安装vmware tools。

    2. 拷贝Linux源码到虚拟机,解压。

    3. 虚拟机基本库安装
    forlinx@ubuntu:~$ sudo apt-get update //更新下载源信息
    forlinx@ubuntu:~$ sudo apt-get install build-essential //提供编译程序必须软件包的列表信息
    forlinx@ubuntu:~$ sudo apt-get install libncurses* //用于生成基于文本的用户界面
    forlinx@ubuntu:~$ sudo apt-get install lzop //基于Lzo库的压缩解压工具
    forlinx@ubuntu:~$ sudo apt-get install net-tools //网络配置工具

    以上顺利完成

    4. 编译OK3568 Linux源码必要库安装

    forlinx@ubuntu:~$ sudo apt-get update //更新apt-get下载源
    forlinx@ubuntu:~$ sudo apt-get install openssh-server vim git fakeroot //必备工具包的安装
    forlinx@ubuntu:~$ sudo apt-get install repo git ssh make gcc libssl-dev liblz4-tool expect g++ patchelf chrpath gawk texinfo chrpath diffstat binfmt-support qemu-user-static live-build bison flex fakeroot cmake gcc-multilib g++-multilib unzip device-tree-compiler python-pip libncurses5-dev

    以上顺利完成

    5. Qt Creator安装

    不安装了,先试下

    6. 编译

    ./build.sh

    漫长的等待,不知道等了多少个小时,搞了大半天,卡在QT那里不动,于是回头重装QT。然后:

    ./build.sh cleanall

    ./build.sh

    2023-10-04T00:51:04 >>> host-lzip 1.19 Extracting
    2023-10-04T00:51:05 >>> host-lzip 1.19 Patching
    2023-10-04T00:51:05 >>> host-lzip 1.19 Configuring
    2023-10-04T00:51:05 >>> host-lzip 1.19 Building
    2023-10-04T00:51:09 >>> host-lzip 1.19 Installing to host directory
    2023-10-04T00:51:10 >>> host-m4 1.4.18 Extracting
    2023-10-04T00:51:10 >>> host-m4 1.4.18 Patching
    2023-10-04T00:51:11 >>> host-m4 1.4.18 Updating config.sub and config.guess
    2023-10-04T00:51:11 >>> host-m4 1.4.18 Patching libtool
    2023-10-04T00:51:11 >>> host-m4 1.4.18 Configuring
    2023-10-04T00:51:43 >>> host-m4 1.4.18 Building
    2023-10-04T00:51:46 >>> host-m4 1.4.18 Installing to host directory
    2023-10-04T00:51:47 >>> host-bison 3.0.4 Extracting
    2023-10-04T00:51:48 >>> host-bison 3.0.4 Patching
    2023-10-04T00:51:48 >>> host-bison 3.0.4 Updating config.sub and config.guess
    2023-10-04T00:51:48 >>> host-bison 3.0.4 Patching libtool
    2023-10-04T00:51:48 >>> host-bison 3.0.4 Configuring
     

    00:51分开始编译,看看要什么时候可以结束

    14点多完成编译,共花了13个多小时,提示build.sh指令错误,所在行1077,打开文件,最后一行1066。

    因为自己调整了build.sh设备树,为了确认是不是自己的问题,重新解压,重新编译。

    Writing boot file...
    Writing firmware...
    Generating MD5 data...
    MD5 data generated successfully!
    New image generated successfully!
    Making ./Image/update.img OK.
    Running build_updateimg succeeded.
    Running build_save succeeded.
    grep: exceeded PCRE's backtracking limit
    grep: exceeded PCRE's backtracking limit
    grep: exceeded PCRE's backtracking limit
    grep: exceeded PCRE's backtracking limit
    grep: exceeded PCRE's backtracking limit
    grep: exceeded PCRE's backtracking limit
    grep: exceeded PCRE's backtracking limit
    grep: exceeded PCRE's backtracking limit
     PLEASE CHECK BOARD GPIO POWER DOMAIN CONFIGURATION !!!!!
     <<< ESPECIALLY Wi-Fi/Flash/Ethernet IO power domain >>> !!!!!
     Check Node [pmu_io_domains] in the file: /home/forlinx/3568/OK3568-linux-source/kernel/arch/arm64/boot/dts/rockchip/OK3568-C-linux.dts 

     请再次确认板级的电源域配置!!!!!!
     <<< 特别是Wi-Fi,FLASH,以太网这几路IO电源的配置 >>> !!!!!
     检查内核文件 /home/forlinx/3568/OK3568-linux-source/kernel/arch/arm64/boot/dts/rockchip/OK3568-C-linux.dts 的节点 [pmu_io_domains] 
    Running build_allsave succeeded.

    编译成功

    7. 修改设备树,禁用PCIE

    &pcie30phy {
            status = "disabled";
    };

    &pcie3x2 {
            reset-gpios = <&gpio0 RK_PC6 GPIO_ACTIVE_HIGH>;
            enable-gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>;
            vpcie3v3-supply = <&vcc3v3_sys>;
            status = "disabled";
    };

    &pcie2x1 {
            reset-gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_HIGH>;
            vpcie3v3-supply = <&vcc3v3_sys>;
            status = "disabled";
    };

    保存,编译

    成功

    8. 烧录

    烧录成功

    9. XSHELL登录提示 received:3,expected:20

    解决办法:

    在/etc/ssh/sshd_config最后一行加入

    KexAlgorithms curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group1-sha1

    问题解决

    10. OK3568 UART8无法使用

    打开UART8发送数据,卡死,查了以下,是由于与蓝牙复用问题,参考网上的方法:去除掉/etc/init.d/S97BT 脚本可执行权限。
    执行命令chmod -x /etc/init.d/S97BT。
    执行命令sync,同步操作。
    执行命令reboot,重启开发板。

    或修改

    vi /etc/init.d/bluetooth-setting.sh 

    注释掉下面那行
    #!/bin/sh
    #hciattach /dev/ttyS8 any -s 115200 115200 flow > /dev/null
     

    解决!

    11. 编译Ubuntu系统

    依次执行./bulid.sh

    ln -rsf ubuntu-20.04-release/parameter.txt rockdev/parameter.txt
    ln -rsf ubuntu-20.04-release/ubuntu.img rockdev/rootfs.img
    ./build.sh updateimg
    ls rockdev/update.img

    cp -v rockdev/update.img /mnt/hgfs/forlinx/image/

    使用烧录软件烧录,即可。注意:烧录前最好先删除FLASH

  • 相关阅读:
    弹性云如何修改账号密码?以我购买的弹性云举例
    并发bug之源(一)-可见性
    数据结构—数组栈的实现
    Vue2源码学习笔记 - 12.响应式原理—Dep 类详解
    IntelliJ IDEA 2023.1 版本可以安装了
    大模型从入门到应用——LangChain:代理(Agents)-[工具(Tools):多输入工具和工具输入模式]
    MySQL 用户账号管理(Accounts Management)
    【网络】MTU相关网络丢包问题分析处理
    Java中的锁
    左连接(Left Join)、右连接(Right Join)、内连接(Inner Join)和等值连接
  • 原文地址:https://blog.csdn.net/shjhuang/article/details/133416414