九鼎创展论坛

标题: x3399配套源码说明集锦 [打印本页]

作者: ojzz57    时间: 2017-11-25 09:50
标题: x3399配套源码说明集锦
本帖最后由 ojzz57 于 2018-4-23 11:42 编辑

有人问x3399配套源码相关问题,比如说qt系统的源码位于何处,Ubuntu的又位于何处,还有怎么更新同步源码等问题,特在此处说明,其实都在文档中都有的。

1、对于3399这个硬件平台,我们提供了哪些系统?有哪些系统可以使用的,提供了哪些源码?
目前来说,我们提供了Android6.0、Android7.1、linuxQT、Ubuntu、Debian这几个系统的源码,主体集成以下几个源码中:
x3399_marshmallowAndroid6.0+linuxQT
        这个源码主体是Android6.0系统的源码,也提供了配置过的buildroot用以编译linuxQT文件系统,如果需要编译linuxQT,则需要执行./mk.sh -b编译QT的文件系统,详细可参考编译脚本文件mk.sh(这个编译脚本根据你的源码目录下的名称而定,可能是build.sh或mk,一般我们命名为mk.sh)
x3399_nougatAndroid7.1
        这个源码比较新,目前正在更新中,在后续的维护中Android7.1所支持的硬件会越来越丰富,bug越来越少。
x3399_linuxUbuntu+Debian
       这个目录下的源码看起来比较简陋,但最有价值的是内核和uboot,还有两个文件系统的镜像;对于Ubuntu和Debian,这里只提供了镜像文件,位于tools目录的debian-rootfs.img.tar.bz2、ubuntu-rootfs.img.tar.bz2,是两个压缩文件,不过编译时你可以不用解压,因为脚本会执行解压的。这两个img文件是可以直接编辑的,比如建立一个目录,然后使用指令挂载到这个目录,然后进入这个目录编辑即可,编辑完成卸载就可以了。那么怎么挂载呢?这里提供一种方式,sudo mount -o rw,loop debian-rootfs.img test将这个镜像文件挂载到test目录。

2、如何获取上面3个源码?
        对于x3399开发板或者卡片电脑来说,源码的获取有两种方式,网盘下载和git远程仓库克隆。
(1)网盘获取
        网盘链接:链接:https://pan.baidu.com/s/1dGsrPKH 密码:ryim在source目录下,根据几个文件名称和上面1中的说明,你应该明白分别对应哪些源码了吧,这里就不多废话了。有两点需要说明,
第一,由于每个源码体积比较庞大,你可能需要使用Windows下的7zip软件先合并文件,比如x3399_marshmallow.tar.7z.001和x3399_marshmallow.tar.7z.002,先合并成文件x3399_marshmallow.tar.7z,然后在Windows下解压成x3399_marshmallow.tar.bz2这个文件,注意了,是这个文件,然后把这个文件x3399_marshmallow.tar.bz2放到linux系统下解压,你会发现很大,比较大;
另外,你可能会遇到这样的问题,解压出错,没错,是在PC机的linux系统下解压出错,别捉急,如果你的系统空间容量足够,那就考虑下从网盘重新下载了,然后再来一遍上面的过程了,为什么这样呢?网盘传输过程可能出现某个关键部位的数据丢失,而Windows下合并解压却无法发现这种隐藏的错误,所以出现这种问题再下载一遍就可以了。当然如果还是不行,那么请考虑下自检了,或者下面的方式,克隆

(2)远程仓库克隆
我们将源码同步到远程仓库,相对于网盘来说,这种方式的时效性比较高,你在远程仓库看到的肯定是最新的。当然了,从网盘获取的源码也可以使用同步的方式,将源码同步到最新,怎么操作的?请看文档吧,这里暂时不作篇幅了,文章太长反而比文档更复杂了。这里只做集锦。
而网盘提供的是某个阶段没有发现问题后将源码打包上传,可能后续会发现新的bug,不过我们会将最新的更新同步到远程仓库,你可以在本地源码基础上随时同步。下面给出三个远程仓库的链接:
https://gitlab.com/9tripod/x3399_marshmallow.git
https://gitlab.com/9tripod/x3399_nougat.git
https://gitlab.com/9tripod/x3399_linux.git
发现规律没,这三个链接可以直接用来克隆,也可以直接放到浏览器中访问。
注意链接:“https://gitlab.com/9tripod/”,如果你想看还发布了哪些源码,可以点击这个链接进入网页查看,以后如果需要其他的源码可以这样获取;怎么克隆呢?在linuxPC机上找一个地方,然后执行git clone [git链接],比如
git clone https://gitlab.com/9tripod/x3399_nougat.git

注意:
如果你是从网盘下载的源码,可能发现一个文件x3399_marshmallow_box.tar.xxx的文件,这个文件用于机顶盒的,你可以不用理会,当做它不存在,这个源码只是某些客户需要的,其他多数人是不需要的。

3、关于x3399_linux源码的说明
        x3399_linux和x3399_marshmallow这两套源码使用的内核版本不同,但是如果你只需要Ubuntu+Debian+linuxQT这三部分源码,一是将两部分源码都下载,二是只下载x3399_linux的和x3399_marshmallow里面的buildroot目录。虽然两者内核版本不一样,内核更是不一样,但是buildroot编译得到的文件系统却可以在两者之间通用。





未完待续。。。








作者: janusgin1991    时间: 2018-4-3 16:57
X3399 linux ubuntu
我把output里面的ubuntu-rootfs.img挂载了,修改了文件
提示存储空间不够,因为img的size只有4.1G
我用resize2fs扩大了容量之后发现./mk.sh -U打包的update文件没有打包成功, 什么原因?

作者: janusgin1991    时间: 2018-4-4 01:37
原本生成的update-linux.img的文件大小应该有4.1G,和ubuntu-rootfs.img的大小差不多,但是自从我扩展了ubuntu-rootfs.img的容量后(只扩展容量不修改),用mk.sh -U生成的update-linux.img的大小就只有1.1G了
作者: ojzz57    时间: 2018-4-23 12:15
janusgin1991 发表于 2018-4-3 16:57
X3399 linux ubuntu
我把output里面的ubuntu-rootfs.img挂载了,修改了文件
提示存储空间不够,因为img的si ...

看看你重新生成的镜像文件大小有没有超出分区的大小,就是parameter.txt中的分区,如果超出了,要么修改分区适当扩大,要么尽可能缩小镜像的大小,使用resize2fs -M ubuntu.img可以缩小镜像的大小
作者: bluefishyu    时间: 2020-5-28 00:14
“这两个img文件是可以直接编辑的,比如建立一个目录,然后使用指令挂载到这个目录,然后进入这个目录编辑即可,编辑完成卸载就可以了。“

这里img文件可编辑是什么意思?  在挂载的目录里修改会同步到img?  
作者: ykun    时间: 2020-5-28 09:28
bluefishyu 发表于 2020-5-28 00:14
“这两个img文件是可以直接编辑的,比如建立一个目录,然后使用指令挂载到这个目录,然后进入这个目录编辑 ...

是的




欢迎光临 九鼎创展论坛 (http://bbs.9tripod.com/) Powered by Discuz! X3.2