Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
systemcall
V2EX  ›  Linux

有办法自己给 Linux 开发板编译一个新系统吗?

  •  
  •   systemcall · Oct 1, 2022 · 3916 views
    This topic created in 1391 days ago, the information mentioned may be changed or developed.

    板子是 Rock Pi E ,官网上只有 Ubuntu 18.04 ,很老,内核也只有 4.几
    想弄一个新点的内核,跑 openwrt 。官网的 OpenWRT 很老,而且似乎装不上软件
    要跑 Docker 。感觉没必要用 Ubuntu ,管理起来还麻烦

    8 replies    2023-06-18 02:19:40 +08:00
    printese
        1
    printese  
       Oct 2, 2022 via iPhone
    可以试试找个现成的 Armbian ,或者自己把源码拉下来编译
    Puteulanus
        2
    Puteulanus  
       Oct 2, 2022
    可以用 flippy 的打包仓库
    https://github.com/unifreq/openwrt_packit

    从 armbian 那边抄一下 Rock Pi E 的 dts
    https://github.com/armbian/build

    他这个近似用 armbian 的内核拉起 openwrt 的 rootfs ,用他编译的内核或者你自己用 armbian 的库编译内核都行
    JohnBull
        3
    JohnBull  
       Oct 2, 2022
    buildroot2 起飞~
    systemcall
        4
    systemcall  
    OP
       Oct 2, 2022
    @Puteulanus #2
    flippy 那边没有这个板子,所以我自己编译了一下 armbian 的内核
    但是编译出来是一堆.deb 的包,怎样把这些包转换成所需要的.tar.gz 的包呢?
    Puteulanus
        5
    Puteulanus  
       Oct 2, 2022
    @systemcall 可以编译 Rock Pi E 的完整固件,然后用 losetup 挂载固件从 /boot 里拷

    他打包仓库需要的内核的 initrd ,是用 qemu 在 armbian 的 rootfs 下安装 kernel 的 deb 然后 mkinitrd 得到的,手工搞的话比较麻烦,我一般是嫖 armbian 构建框架的产物,有个脚本修改 armbian 的构建过程,把需要的东西在构建的过程中薅出来 https://github.com/puteulanus/flippy-kernel-build

    也可以直接用他 tg https://t.me/openwrt_flippy 发的成品内核,他编译的内核是通用的,不同的机型加载自己的 dtb 让内核变成自己特化的,所以改一下构建脚本(比如用同是 RK3328 的贝壳云的)加载 Rock Pi E 的 dtb 应该就行( dtb 是 dts 的编译产物)

    你可以先试试把他发布的贝壳云固件里的 dtb 替换成 Rock Pi E 的刷进去看看( losetup 挂载替换,或者 Windows 用 disk genius 修改虚拟磁盘),都是 RK3328 的,应该能跑起来
    systemcall
        6
    systemcall  
    OP
       Oct 2, 2022
    @Puteulanus #5
    试了一下,只替换 dtb ,可以跑起来。用的是 RK3328 的 CPU 的其他型号,功能基本正常
    但是 full cone nat 似乎没法打开,不知道是不是得用 immortalwrt 的内核。我是用的 immortalwrt 的 rootfs
    linuxgo
        7
    linuxgo  
       Oct 4, 2022
    armbian,openwrt 都是可以自己编译的
    1715173329
        8
    1715173329  
       Jun 18, 2023 via Android
    @systemcall 挖坟,现在 ImmortalWrt 已经原生支持 Rock Pi E 了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2914 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 10:58 · PVG 18:58 · LAX 03:58 · JFK 06:58
    ♥ Do have faith in what you're doing.