需要提供开发Linux4.4的虚拟机编译环境,有提供吗?

有已经搭建好的Linux4.4d的虚拟机吗?希望能有一个虚拟机。平台是edge pro。

@herolee,直接安装ubuntu的16.04或者18.04都可以,开发文档有描述关于如何搭建开发环境的,你可以参考。

我们开发周期比较短,加之我们电脑没有翻墙,搭建比较慢,所以希望有一个可编译的环境。能加快一点开发进度。您那边没有公版的虚拟机环境吗?

这块建议你们动手自己搭建下主机编译环境,你提问题的这几个小时应该可以搭建完了 :wink:

@herolee,只需要安装几个工具而已,其他的东西在使用我们的仓库编译时会自动下载安装的

ebd@ubuntu:~/project/fenix$ make
./scripts/create_image.sh

PARAMETERS*
Fenix Version: 0.6
Khadas Board: Edge
Uboot Version: 2017.09
Uboot Configuration: kedge_defconfig
Uboot Branch: khadas-edge-v2017.09
Linux Version: 4.4
Linux Configuration: kedge_defconfig
Linux DTB: arch/arm64/boot/dts/rockchip/rk3399-khadas-edge-linux.dtb
Linux Branch: khadas-edge-4.4.y
Distribution: Ubuntu
Distribution Release: bionic
Distribution Type: server
Distribution Arch: arm64
Install Type: EMMC
Final Image: Edge_Ubuntu-server-bionic_Linux-4.4_arm64_EMMC_V20190711.img


Info: Build host: xenial
config/functions/common-functions:71 Error: Building Ubuntu Bionic images requires a Bionic build host, please upgrade your build host or try to build in Docker.
Makefile:7: recipe for target ‘all’ failed
make: *** [all] Error 255

出现错误:
config/functions/common-functions:71 Error: Building Ubuntu Bionic images requires a Bionic build host, please upgrade your build host or try to build in Docker.

@herolee ,需要编译18.04的代码的话,主机需要是18.04的,因为需要从主机复制一定的文件,如果你的主机环境是16.04,可以使用docker编译,会模拟一个18.04的环境出来。使用docker编译在文档里这里

@herolee,你也选择主机升级成18.04,建议还是使用docker模拟18.04的环境就好

我选择xenial这个版本编译有问题吗?还是必须使用bionic?能请教您一下,如果使用docker能否在离线状态下开发?我们最终开发平台为内部局域网,环境搭建完毕后,后续的修改编译是否可以不需要网络?choose

@herolee, 您好,使用fenix仓库是必须要连接外网的。因为每次在编译之前都会检查fenix仓库是否有新的更新,我们经常会更新推送新的代码。这和是否使用docker无关。如果编译的是xenial版本,主机可以使用16.04的系统。如果需要离线状态下编译,需要修改仓库的编译脚本。

那您那边有修改仓库编译脚本的相关指导文档吗?我们这边只有首次下载源码会从您那边的服务器下载,后续过程我们对自己的代码进行维护。或者说有没有单独编译uboot,kernel的相关命令?

你可以在Fenix根目录下创建一个空文件.ignore-update来禁止每次编译从服务器同步更新Fenix、uboot和linux。

$ cd fenix
$ touch .ignore-update

有单独编译的命令:

首先你得设置好环境:

$ source env/setenv.sh
  • 编译uboot
$ make uboot
  • 编译kernel
$ make kernel
  • 编译deb包
$ make debs

你后面可以自己修改脚本以便不用从服务器更新,但是第一次编译一定要联网才可以,因为第一次会安装很多工具,会从ubuntu服务器下载安装根文件系统,都是需要网络才可以进行的。

好的,谢谢,还有一个问题能请教一下吗?了解到您那边的服务器在国外,我这边在国内访问太慢了,您那边有相关的方法可以提高网速的方法吗?能在虚拟机中使用的方法。

Hello herolee,

你可以买个VPS自己搭建下VPN吧,这个网上很多资料的。

好的。谢谢,那再请教您一下,这个第一次可以中断吗?我这边需要翻墙重新安装。

上个问题不需要回答了,我已经中断了,谢谢您今天的答疑,非常感谢!

对了,我们买的EDGE pro板子的串口打印乱码?您知道是什么原因吗?波特率是115200,用的USB转TTL,TTL电平接到了底板的串口。

默认Edge的波特率是1500000:

首先未使用docker环境,编译xenial版本,使用16.04环境,make后uboot,kernel,无问题,但报下面错误:


能够解答一下是什么问题吗?后使用的是docker环境编译bionic版本,又报下面错误:

感觉是下面图片问题引起的:


想请教您那边是否有过这种问题?
编译选项选择如下(在docker环境下):