Firefly开源社区

12
发表新贴
打印 上一主题 下一主题

RK3399从零制作ubuntu

230

积分

23

威望

20

贡献

技术达人

Rank: 2

积分
230

突出贡献

RK3399从零制作ubuntu

发表于 2017-8-21 21:10:26      浏览:46326 | 回复:17        打印      只看该作者   [复制链接] 楼主
本帖最后由 tjCFeng 于 2017-8-21 21:21 编辑

    标题有点大了,其实没什么,就是按照Firefly的wiki的步骤来编译内核和制作文件系统。说实话,这个xubuntu实在是不习惯,还是3288的lubuntu好用,可惜升级到16.04之后就没有了,所以打算自己做一个14.04的来使用。当然,并不是说xubuntu不好,而是我用着感觉不顺手,另外连学习一下整个系统的制作过程。

    这里要说明一下,RK3399的wiki中给出的编译内核和制作文件系统的方法完全正确,只是写的不太详细,应该把RK3288和RK3399的wiki结合起来看就没有问题了。这里我只是总结一下,把需要注意到的地方再重复一遍而已,需要注意的地方高亮显示。

一、编译内核:
1.下载内核源码:git clone https://TeeFirefly@gitlab.com/TeeFirefly/linux-kernel.git,这个不用多说,apt install git-core后就能获取;
2.下载编译工具:git clone https://TeeFirefly@gitlab.com/TeeFirefly/prebuilts.git,和源码一样的方法,要和内核在同一级目录下
3.编译:
        make ARCH=arm64 firefly_linux_defconfig
        make ARCH=arm64 rk3399-firefly-linux.img -j8
        编译后在内核源码的目录下生成kernel.img和resource.img文件。

4.如果编译失败,无论报何种错误,都是因为编译时的工具和库没有安装完全,源代码本身是没有错误的。都需要装什么东西呢?参考:http://wiki.t-firefly.com/index. ... 7.E5.B7.A5.E4.BD.9C
这个就是RK3288的编译环境,把所有的东西都装上,保证编译成功。



二、制作文件系统:
1.下载http://cdimage.ubuntu.com/ubuntu ... 3-base-arm64.tar.gz。我下载的是14.04,这个随意啦。
2.安装虚拟机apt-get install qemu-user-static
3.解压文件:
        mkdir temp
        tar -xpf ubuntu-base-16.04.1-base-arm64.tar.gz -C temp
4.运行虚拟机,把下载的ubuntu在虚拟机中跑起来,至少第二步是要做的,否则运行不了:
        cp -b /etc/resolv.conf temp/etc/resolv.conf
        cp /usr/bin/qemu-aarch64-static temp/usr/bin/
    在temp的上级目录中执行chroot temp,此时就是运行在虚拟机中了。

5.配置虚拟机中的ubuntu:
        apt update
        apt upgrade
        #可以安装桌面,如apt install xubuntu-desktop,我偷懒了,这样生成的文件小,制作和烧写的过程快。
        useradd -s '/bin/bash' -m -G adm,sudo firefly
        passwd firefly
        passwd root
        exit


    退出后就回到主机的系统里了。

6.最后一步,生成rootfs文件:
        dd if=/dev/zero of=linuxroot.img bs=1M count=2048
        sudo  mkfs.ext4  linuxroot.img
        mkdir  rootfs
        sudo mount linuxroot.img rootfs/
        sudo cp -rfp temp/*  rootfs/
        sudo umount rootfs/
        e2fsck -p -f linuxroot.img
        resize2fs  -M linuxroot.img

    完全按照wiki的步骤,没有什么特别说明的地方。

    最后得到的文件就是这三个,用来烧写。

三、烧写:
    这里我又偷了下懒,直接用RK3399的镜像解包得到需要的文件,然后替换烧写。

    在高级功能里,选择RK3399的镜像文件,点解包。

    完成后,会在烧写工具的文件夹下生成Output文件夹,解包后的东西都在这里。

剩下的事情就简单了,只用到了原包里的parameter,不用自己写了。
wiki中所说的修改parameter文件,其实就是这个文件。当然,使用原包的文件就不用修改。


    把刚才生成的那三个文件添加进来,rootfs的地址是parameter中找到的。开始烧写,这个方法就不用再说了吧。


    烧写后自动重启,系统跑起来了,没有安装桌面的系统。


(完)


回复

使用道具 举报

1161

积分

10

威望

12

贡献

管理员

Rank: 9Rank: 9Rank: 9

积分
1161
发表于 2017-8-23 09:49:17        只看该作者  沙发
感谢分享!
回复

使用道具 举报

124

积分

0

威望

0

贡献

技术小白

积分
124

突出贡献

发表于 2017-9-4 18:04:00        只看该作者  板凳
请问您做好的 ubuntu rootfs  img 可以分享一下么?
回复

使用道具 举报

230

积分

23

威望

20

贡献

技术达人

Rank: 2

积分
230

突出贡献

发表于 2017-9-6 08:47:41        只看该作者  地板
Younix 发表于 2017-9-4 18:04
请问您做好的 ubuntu rootfs  img 可以分享一下么?

太大了,传不上来呀,按照这个步骤自己做一个就行了,很简单。
回复

使用道具 举报

22

积分

0

威望

0

贡献

技术小白

积分
22
发表于 2017-10-18 15:27:34        只看该作者  5#
有64位系统的内核代码吗,怎么编译出rk3399的64位ubuntu系统?
回复

使用道具 举报

16

积分

0

威望

0

贡献

技术小白

积分
16
发表于 2017-12-6 12:01:34        只看该作者  6#
感谢分享
回复

使用道具 举报

26

积分

0

威望

0

贡献

技术小白

积分
26
发表于 2018-1-30 16:59:06        只看该作者  7#
FIRMWARE_VER: 6.0.1
MACHINE_MODEL: RK3399
MACHINE_ID: 007
MANUFACTURER: RK3399
MAGIC: 0x5041524B
ATAG: 0x00200800
MACHINE: 3399
CHECK_MASK: 0x80
PWR_HLD: 0,0,A,0,1
#KERNEL_IMG: 0x00280000
#FDT_NAME: rk-kernel.dtb
#RECOVER_KEY: 1,1,0,20,0
#in section; per section 512(0x200) bytes
CMDLINE:console=ttyFIQ0 root=/dev/mmcblk1p6 rw rootwait fbcon=rotate:1 mtdparts=rk29xxnand:0x00002000@0x00002000(uboot),0x00002000@0x00004000(trust),
0x00008000@0x00006000(resource),0x0000A000@0x0000E000(kernel),
0x00002000@0x00018000(backup),-@0x0001A000(boot)

大神,原包里的parameter里没有定义rootfs地址,可以分享下你解压出来的parameter吗
回复

使用道具 举报

26

积分

0

威望

0

贡献

技术小白

积分
26
发表于 2018-1-31 08:44:55        只看该作者  8#
zorb 发表于 2018-1-30 16:59
FIRMWARE_VER: 6.0.1
MACHINE_MODEL: RK3399
MACHINE_ID: 007

已经自行解决了
回复

使用道具 举报

34

积分

0

威望

0

贡献

技术小白

积分
34
发表于 2018-7-6 17:41:31        只看该作者  9#
  1. ********RKImageMaker ver 1.62 ********
  2. Generating new image, please wait...
  3. Error:Open boot file failed!
复制代码


打包一直出现这个问题。 基本上文件没有做改动。 用 管理员身份运行也不行。
回复

使用道具 举报

34

积分

0

威望

0

贡献

技术小白

积分
34
发表于 2018-7-9 14:35:35        只看该作者  10#
E:\JOB\_WeeklyReport\201807_30\QQ426.png
回复

使用道具 举报

返回列表
12
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表