差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
digi:arm-embedded:linux:dey:system-development [2024/01/04 10:31] robindigi:arm-embedded:linux:dey:system-development [2024/02/22 12:48] (当前版本) robin
行 19: 行 19:
  
 ====安装前准备工作==== ====安装前准备工作====
-由于Yocto4.0后,必须用python3,因此如果您需要同时开发DEY3.2或以前的版本,建议早期的DEY开发环境用docker的方式来安装,除了官方原生文档参考外您还可以参考[[dey-aio项目|https://github.com/peyoot/dey-aio-manifest/blob/main/README-cn.md]]+由于Yocto4.0后,必须用python3,因此如果您需要同时开发DEY3.2或以前的版本,建议早期的DEY开发环境用docker的方式来安装,这样同一台电脑可以同时维护不同版本DEY参考[[https://github.com/peyoot/dey-aio-manifest/blob/main/README-cn.md|DEY-AIO项目]]来搭建系统开发环境。
 安装软件前,请先进入root模式,安装所需的依赖包,如果您是 安装软件前,请先进入root模式,安装所需的依赖包,如果您是
 <code> <code>
 $ sudo apt update $ sudo apt update
-$ sudo apt install gawk wget git diffstat unzip texinfo gcc build-essential chrpath socat cpio python3 python3-pip python3-pexpect xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev pylint xterm python3-subunit mesa-common-dev zstd liblz4-tool+$ sudo apt install gawk wget file git diffstat file unzip texinfo gcc build-essential chrpath socat cpio python3 python3-pip python3-pexpect xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev pylint xterm python3-subunit mesa-common-dev zstd liblz4-tool
 确保是用python3,还需要安装这个包 确保是用python3,还需要安装这个包
 $ sudo apt install python-is-python3 $ sudo apt install python-is-python3
行 51: 行 51:
  
 ====使用repo工具安装DEY==== ====使用repo工具安装DEY====
 +接下来首先要安装repo,DEY项目托管在github上,采用repo工具来管理软件包的升级和更新。而repo是谷歌开发的git管理工具,因此repo的官方安装方法需要先科学上网。此外,Ubuntu 22.04等发行版已经提供repo包,您也可以直接用apt的方式安装。Repo的官方下载地址经常变动,但总可以到Google的android开发下载页面找到对的地址,如果Repo下载地址有变,请到http://source.android.com/source/downloading.html查找正确的URL。
 +我们将直接下载到/usr/local/bin,在普通用户终端窗口执行下面命令,以便在有root权限
 +<code>
 +$ sudo -H tmux    
 +</code>
 +下载repo,使用下面命令前请确保已经可科学上网,如未设置科学上网,请用参考后面国内源或用apt的方式安装。
 +<code>
 +$ curl -o /usr/local/bin/repo http://commondatastorage.googleapis.com/git-repo-downloads/repo
 +$ chmod a+x /usr/local/bin/repo
 +</code>
  
-完成上述准备工作后可以安装repo了,DEY项目托管在github上,采repo工具来管理软件包的升级和更新。而repo是谷歌开的git管理工具,因此repo的官方安装方法需要翻墙。目前国内已有repo镜像可以直接使用,你可以用下面方法来获取国内可用的repo.+如果无法翻墙可以用国内源或系统行版官方源的方式安装,<hidden 点击展开查看详情> 
 +Ubuntu 22.04 或其它提供官方repo下载的发行版,可以直接使用源安装,如: 
 +<code> 
 +$ sudo apt install repo 
 +</code> 
 +如果发行版不带repo,又无科学上网,使清华源方式安装repo
 <code> <code>
- 如果您在root终端里,请先退出,将来使用repo也无需用root权限,普通用户就可以 
-  下载repo并移到PATH包含的路径 
 $ curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o repo $ curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o repo
 $ chmod +x repo $ chmod +x repo
行 67: 行 80:
   这样,以后在登录用户下,就可以直接使用repo了   这样,以后在登录用户下,就可以直接使用repo了
 </code> </code>
-<hidden 如果可以翻墙,也可以用官方repo的下载方法,点击展开查看详情> 
-<code> 
-如果你已经用了国内repo源,请略过,除非您想用Google官方的repo源,请确定您已经翻墙 
-Repo的下载地址经常变动,但总可以到Google的android开发下载页面找到对的地址,如果Repo下载地址有变,请到http://source.android.com/source/downloading.html查找正确的URL。 
-#我们将直接下载到/usr/local/bin,请确保是root权取 
-在普通用户终端窗口执行下面命令,以便在有root权限: 
-$ sudo -H byobu     
-下载repo  
-#curl -o /usr/local/bin/repo http://commondatastorage.googleapis.com/git-repo-downloads/repo 
-#chmod a+x /usr/local/bin/repo 
-</code> 
- 
 </hidden> </hidden>
  
-接下来就可以去下载DEY, +接下来就可以去下载DEY,请在普通用户权限下操作,将来DEY只需用登录用户的权限,把命令中的$USER换成您电脑的用户名:
-请在普通用户权限下操作,将来DEY只需用登录用户的权限,注意把命令中的robin换成您电脑的用户名: +
  
 新建一个DEY源码目录 新建一个DEY源码目录
  
 进一步操作前,需要退出root,因为yocto的项目编译不推荐用root,而是用你的用户名,在上面创建dey安装目录时我们已经把该目录提定给自己登录系统时的用户。 进一步操作前,需要退出root,因为yocto的项目编译不推荐用root,而是用你的用户名,在上面创建dey安装目录时我们已经把该目录提定给自己登录系统时的用户。
-如果您还是root的终端,请先执行退出root权限的会话终端,切换到普通用户的会话窗口。+如果您还是root的终端,请先执行退出root权限的tmux会话终端,切换到普通用户的会话窗口。
 <code> <code>
-exit+exit
 </code> </code>
 安装前,先根据所需的DEY版本准备一个安装目录 安装前,先根据所需的DEY版本准备一个安装目录
 <code> <code>
-$ sudo install -o robin -g robin -d /usr/local/dey-4.0 +$ sudo install -o $USER -g $USER -d /usr/local/dey-4.0 
-  (请用您的用户名替代robin) +
-(或者,我们在同一台电脑上要安装不同版本的dey,也可以多一级目录,甚至可以指定小版本号以明确您 同步的是哪个版本,比如dey 3.0的代号gatesgarth,最后一次更新是dey-3.2-r3.1。 +
-$ sudo install -o robin -g robin -d /usr/local/dey/dey-3.2-r3.1 +
-)+
 </code> </code>
 上面命令中,我们新建了一个dey-4.0的目录,DEY有不同的版本支持不同的内核版本和硬件平台,您可以到 上面命令中,我们新建了一个dey-4.0的目录,DEY有不同的版本支持不同的内核版本和硬件平台,您可以到
行 114: 行 110:
 $ repo init -u https://github.com/digi-embedded/dey-manifest.git -b refs/tags/2.6-r3.1 $ repo init -u https://github.com/digi-embedded/dey-manifest.git -b refs/tags/2.6-r3.1
 $ repo sync -j4 --no-repo-verify $ repo sync -j4 --no-repo-verify
-    (如果您的电脑是双核的,请用-j2或是不用-j4这个参数,或是只用repo sync命令) 
 </code> </code>
 注意,官方的版本代号永远都指向DEY-m.n的最新版本,您如果在后续使用中,用repo sync更新DEY安装目录,在DEY的安装目录下的source/meta-digi/README.md里,可以查到最后更新对应的版本信息,从而您可以知道当前使用的DEY版本号。我们建议您在做系统开发时,可以在项目文件夹前使用该版本号,或是在备份镜像时,备份到对应的版本号文件夹下,这样您就不需要从启动信息中了解所用镜像的版本号。 \\   注意,官方的版本代号永远都指向DEY-m.n的最新版本,您如果在后续使用中,用repo sync更新DEY安装目录,在DEY的安装目录下的source/meta-digi/README.md里,可以查到最后更新对应的版本信息,从而您可以知道当前使用的DEY版本号。我们建议您在做系统开发时,可以在项目文件夹前使用该版本号,或是在备份镜像时,备份到对应的版本号文件夹下,这样您就不需要从启动信息中了解所用镜像的版本号。 \\  
  
-在同一台电脑上可以安装多个版本,对于不同的大版本号(dey2.0/2.2/2.4/2.6等),一般可安装在不同的目录下以方便编译测试不同的版本。Digi会维护每个已经发行的版本(包括小版本号和大版本号),所以如果您在已经在某个版本上成熟开发应用,也无需使用最新的大版本。+Digi会维护每个已经发行的版本(包括小版本号和大版本号),所以如果您在已经在某个版本上成熟开发应用,也无需使用最新的大版本。如果要在同一电脑上使用不同的DEY版本,建议使用DEY-AIO项目
  
 <hidden DEY1.6等早期版本的安装方法> <hidden DEY1.6等早期版本的安装方法>
行 131: 行 126:
 ====其它安装DEY的方法==== ====其它安装DEY的方法====
  
-我们推荐您使用repo工具来安装DEY,这样您能比较方便地获取最新的DEY版本。如果访问国内repo源不便时,又不能通过翻墙下载repo的时候,您也可以参照下面方法安装指定的DEY版本。<hidden 如有需要,请点开查看> 
  
-**压缩包解压直接安装** 
-<tabs> 
-  * [[#dey24|DEY-2.4解压安装方法]] 
-  * [[#dey26|DEY-2.6解压安装方法]] 
-  
-<pane id="dey26"> 
-请到下面链接下载指定版本的压缩包 \\ 
-<code> 
-DEY 2.6下载:http://dey-mirror.eccee.com/dey-2.6r22.tar.bz2 
- 
-</code>  \\   
- 
-解压安装能让您快速安装和编译测试DEY,但它没有和官方的发布保持更新,所以为了取得更新版本和更好的管理维护,建议用repo的方式来安装。\\ 
-下载好DEY压缩包文件后,用下面命令解压到/usr/local文件夹中 
-<code> 
-cd /usr/local/ 
-sudo tar -jxvf dey-2.6r22.tar.bz2 -C /usr/local 
-sudo chown -R myuserid:myuserid /usr/local/dey-2.6   注意这里的myuserid替换成你的用户名 
-</code> 
-这样就安装好了DEY 2.6-r2.2。 
-为了正常编译,您还需下载编译过程生成的downloads目录,并解压到你的项目文件夹,以便不翻墙能编译通过。这个downloads压缩包近9G,分为两个压缩文件:x00,x01。 
-<code> 
-x00下载: http://dey-mirror.eccee.com/x00 
-x01下载:http://dey-mirror.eccee.com/x01 
-请在Linux主机上保存,然后用下面命令合并 
-cat x* > dey26-cc6ul-downlods.tar.gz 
-tar zxvf dey26-cc6ul-downloads.tar.gz 
-</code> 
- 
-</pane> 
-<pane id="dey24"> 
-请到下面链接下载指定版本的压缩包 \\ 
-<code> 
-DEY 2.4下载:http://dey-mirror.eccee.com/dey2.4r2.tar.bz2 
-</code> 
-解压安装能让您快速安装和编译测试DEY,但它没有和官方的发布保持更新,所以为了取得更新版本和更好的管理维护,建议用repo的方式来安装。 
-下载好DEY压缩包文件后,用下面命令解压到/usr/local文件夹中 
-<code> 
-cd /usr/local/ 
-sudo tar -jxvf dey2.4r2.tar.bz2 -C /usr/local 
-sudo chown -R myuserid:myuserid /usr/local/dey-2.4   注意这里的myuserid替换成你的用户名 
-</code> 
-这样就安装好了DEY 2.4r2。 
-为了正常编译,您还需下载编译过程生成的downloads目录,并解压到你的项目文件夹,以便不翻墙能编译通过。这个downloads压缩包近11G。 
-<code> 
-本地编译所需downloads压缩包下载: http://dey-mirror.eccee.com/dey24r2downloads.tar.bz2 
- 
-请在Linux主机上保存,然后用下面命令合并 
-tar jxvf dey24r2downloads.tar.bz2 
-</code> 
- 
-</pane> 
- 
-</tabs> 
-注意这个downloads的位置默认在你的项目文件夹内,你也可以在项目配置中更改为上一级目录,如果您在配置文件conf/local.conf中更改了下载文件夹位置 ,需要保证解开的downloads与之相符。 
-\\ 
 **docker安装** **docker安装**
-+DIGI中国区维护一个[[https://github.com/peyoot/dey-aio-manifest/blob/main/README-cn.md|DEY-AIO项目]],同时支持容器化和官方原生两种开发方式,并提供一个定制文件系统的参考,也方便用git管理变更,并提供卡刷包生成发布工具,建议中国区用户使用DEY-AIO来安装DEY系统开发环境。
  
-**Git安装** +**带预编译项目的虚拟机镜像** 
 +我们推荐您使用repo工具来安装DEY,这样您能比较方便地获取最新的DEY版本。如果访问国内repo源不便时,又不能通过翻墙下载repo的时候,您也可以参照下面方法安装指定的DEY版本。<hidden 如有需要,请点开查看> 
 +虚拟机镜像往往非常大,这不是推荐的方式,为了取得更新版本和更好的管理维护,建议用repo的方式来安装。但如果您系统开发中遇到科学上网等问题,可以向Digi中国区索取您所需的版本。
  
-还有一种方式是用ECCEEgit来安装DEY。在国内repo工具无法下载的时候,git下载成为一个获取最新DEY的渠道。ECCEE git服务器是免费安全的企业版本控制管理平台,通过ECCEE git服务,您可以为企业搭建一个私密的git服务器,它和github的区别在于,github只能托管免费开源的代码,私密的需要付费并且费用很贵,而Eccee git目前能接受免费的私密git服务托管,为您企业内部的团队协作和版本控制提供简单和高效的平台。详细用法请参考[[digi:arm-embedded:linux:howto:ecceegit|ecceegit介绍]]。 
-您只需注册Ecceegit服务,就可以直接用git来colone一个DEY本地库。 
- 
-DEY 2.6的地址为:  ssh://git@gitlab.eccee.com:11022/digirobin/dey-2.6.git 
- 
-以dey 2.2为例,完整的步骤请参考下述命令: 
-<code> 
-在你的用户名下,下面的robin请改为你的用户ID 
-sudo install -o robin -g robin -d /usr/local/dey 
-cd /usr/local/dey 
-git clone http://gitlab.eccee.com:11080/digirobin/dey-2.6.git 
-或是,如果您有相应的Ecceegit帐号,用SSH检出 
-git clone ssh://git@gitlab.eccee.com:11022/digirobin/dey-2.6.git 
-相应地,当创建项目时,请source这个对应路径/usr/local/dey/dey2.6/mkproject.sh 
- 
-</code> 
  
 </hidden> </hidden>
行 337: 行 261:
 <code> <code>
 CC6或CC6UL用下面命令编译 CC6或CC6UL用下面命令编译
-bitbake dey-image-qt+bitbake 镜像名 
 +镜像名可以是core-image-base, dey-image-qt, dey-image-webkit等
  
 </code> </code>
行 344: 行 269:
 bitbake dey-image-graphical bitbake dey-image-graphical
 </hidden> </hidden>
-默认地,这将编译一个基于X11视窗并带QT库支持的镜像。编译时间根据电脑配置不同而略有不同,使用较新的高配置电脑,编译时间仍可能长达6个小时以上。因此,建议您在执行这个命令时做好让电脑整夜编译的准备。+编译时间根据电脑配置不同而略有不同,使用较新的高配置电脑,编译时间仍可能长达6个小时以上。因此,建议您在执行这个命令时做好让电脑整夜编译的准备。
  
-如果只需要编译基于framebuffer并带QT库支持的镜像,需要在配置文件conf/local.conf中添加一条: 
-<code> 
-DISTRO_FEATURES_remove = "x11" 
-</code> 
-同样的命令执行编译过程,这将会生成一个不带X11视窗系统的镜像。 
 如果连LCD液晶屏显示都不需要,可以编译一个不带屏显支持的固件镜像: 如果连LCD液晶屏显示都不需要,可以编译一个不带屏显支持的固件镜像:
 <code> <code>
 bitbake core-image-base bitbake core-image-base
 </code> </code>
-编译好的镜像可以在项目文件夹下/tmp/deploy/images/ccimx6sbc中找到,这个目录包括编译生成以下这些文件:+编译好的镜像可以在项目文件夹下/tmp/deploy/images/<平台>中找到,NXP系的这个目录包括编译生成以下这些文件:
   * 启动镜像,扩展名为vfat,实际上它是一个FAT格式的分区镜像,包含了Linux内核和驱动设备树文件。   * 启动镜像,扩展名为vfat,实际上它是一个FAT格式的分区镜像,包含了Linux内核和驱动设备树文件。
   * 不同格式后缀的根文件系统镜像,包括:   * 不同格式后缀的根文件系统镜像,包括:
行 365: 行 285:
   * Linux内核镜像,.bin后缀,可以烧入到已有的FAT启动分区   * Linux内核镜像,.bin后缀,可以烧入到已有的FAT启动分区
   * Linux内核设备树镜像,.dtb后缀,可以烧入到已有的FAT启动分区   * Linux内核设备树镜像,.dtb后缀,可以烧入到已有的FAT启动分区
 +
 +对于ST系的固件名称略有不同,可以[[https://www.eccee.com/embedded/som/1198.html|参考这里]]了解相关信息
  
 您可以用Uboot命令把镜像写入eMMC或SD卡,从内置的flash或是外置的SD卡启动,请参考Uboot使用手册或[[digi:arm-embedded:linux:dey:固件更新|DEY固件更新-核心板刷写新固件的操作指南]]。 您可以用Uboot命令把镜像写入eMMC或SD卡,从内置的flash或是外置的SD卡启动,请参考Uboot使用手册或[[digi:arm-embedded:linux:dey:固件更新|DEY固件更新-核心板刷写新固件的操作指南]]。