我正在尝试为嵌入式 A10 板构建 rootfs。这将与 3.0.62+ 模块和相应的 vmlinux 映像相匹配。
几天来我一直在尝试使用 sid 为 3.x 内核设置 rootfs。
尝试使用 debootstrap 安装,即:
sudo debootstrap --foreign --verbose --arch=armel --include=vim-nox,openssh-server,ntupdate,less --exclude=nano sid . http://ftp.au.debian.org/debian
只是给我一个期望与主机系统具有相同内核版本的构建。
因此,例如,当我sudo chroot
进入新的 rootfs 时,我得到:
root@njord:/lib/modules# depmod
ERROR: could not open directory /lib/modules/2.6.32-5-amd64: No such file or directory
它正在搜索与主机系统相对应的模块,而不是安装的内核映像/模块。
我觉得我一定在这里遗漏了一些非常明显的东西。是否有一些我可以设置的标志(在 rootfs 本身或在 debootstrap 阶段)将目标内核版本设置为与主机不同的版本?
答案1
你想通过depmod
在 chroot 中运行来实现什么目的?如果您没有指定版本,那么是的,它将使用正在运行的内核的版本,如下所示man depmod
:
depmod [-b basedir] [-e] [-E Module.symvers] [-F System.map] [-n] [-v]
[-A] [-P prefix] [-w] [version]
depmod [-e] [-E Module.symvers] [-F System.map] [-m] [-n] [-v]
[-P prefix] [-w] [version] [filename...]
[...]
If a version is provided, then that kernel version's module directory
is used rather than the current kernel version (as returned by uname
-r).