【问题标题】:How to update rootfs after linux kernel is reconfigured and rebuilt?重新配置和重建linux内核后如何更新rootfs?
【发布时间】:2014-05-05 03:52:01
【问题描述】:

在开发嵌入式系统的过程中,我对Linux内核做了一些改动,编译得到了uImage、u-boot.bin和.dts文件。现在启动系统需要做的最后一件事是更新 rootfs。我的问题是:

1) 在我重新配置内核并重建它之后,我真的需要更新 rootfs 吗?

2) 如果是,我如何相应地更新 rootfs?我有旧的(压缩文件rootfs_ext2.gz.uboot)。我想我需要解压缩它并根据我对内核所做的更改进行更改,然后将其压缩回来以便在启动时使用。我对吗?我需要在 rootfs 中更新哪些文件?

提前致谢!

【问题讨论】:

    标签: linux kernel rootfs


    【解决方案1】:

    第一个问题的答案是 - 你真的需要更新 rootfs(你更清楚,这是你的系统)。如果您当前的 rootfs 运行良好,那么我认为它不是必需的。找到这个答案的另一种方法可能是尝试找出你的 rootfs 有什么问题,rootfs 基本上由软件组成,即编辑器、各种工具、守护程序等。如果你发现这些有任何问题,那么你应该考虑更新 rootfs。

    回答你的第二个问题:首先弄清楚你是如何构建你的 rootfs 的(在嵌入式系统中,人们通常使用busybox),如果使用busybox,除非你支持包管理系统,否则需要重建。如果存在包管理系统,那么您可以删除任何组件并安装任何更新版本。或者,如果您的 rootfs 上存在编译器 - 那么您将能够从源代码编译和更新任何软件。希望你能有所了解。

    【讨论】:

    • 感谢您的回复。我的目标系统是busybox,我的构建机器是ubuntu。我怎么知道我的busybox是否支持“包管理系统”?我怎么知道 rootfs 是否有编译器?我应该在哪里找到?
    • @Hetty - 如果你已经构建了 rootfs,你必须配置busybox,从配置菜单你会发现包管理系统选项。而且,要查明您是否有 gcc - 在启动到 rootfs 后 - 键入“gcc”,然后您会发现 gcc 是否存在。
    • 好的。我刚刚输入 gcc,它说“-sh: gcc: not found”。
    • 表示没有安装gcc。
    • 而且当前的rootfs不是我建的。我刚从别人那里得到它(uboot的压缩文件)。所以我想我必须重建它以支持我对内核的更改。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-12
    • 2021-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-26
    • 2018-02-21
    相关资源
    最近更新 更多