如何解决无法在 NTFS 磁盘上编译树莓派内核
抱歉我的英语不好。
我正在尝试在 NTFS 磁盘上编译 raspberry 和 jetson tx2 的内核源代码。 编译jetson内核源码ok,没有错误。 编译 raspberry 内核源代码失败,错误信息如下:
*** Error during update of the configuration.
make[3]: *** [/media/u2004/LINUX_SHARED/rasp/linux/scripts/kconfig/Makefile:39: silentoldconfig] Error 1
make[2]: *** [/media/u2004/LINUX_SHARED/rasp/linux/Makefile:541: silentoldconfig] Error 2
make[1]: *** No rule to make target 'include/config/auto.conf',needed by 'include/config/kernel.release'. Stop.
make[1]: Leaving directory '/media/u2004/LINUX_SHARED/rasp/build_output'
make: *** [Makefile:150: sub-make] Error 2
在Ext4盘编译树莓派内核源码没有报错。
edit: 添加编译环境和脚本 在 Ubuntu 20.04 64 位交叉编译。用bellow脚本编译aarch32(在Ext4分区编译ok)。
ROOT_DIR=/home/u2004/Desktop/dm
KERNEL_BUILD_DIR=${ROOT_DIR}/linux/
CROSS_COMPILE=${ROOT_DIR}/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-
BUILD_OUTPUT=${ROOT_DIR}/build_output
INSTALL_MOD_PATH_EXT4=${ROOT_DIR}/copy_to_sdcard/ext4
INSTALL_MOD_PATH_FAT32=${ROOT_DIR}/copy_to_sdcard/fat32
ARCH=arm
DEF_CONFIG=bcm2709_defconfig
TARGET=kernel7
git clone --depth=1 -b rpi-4.9.y https://github.com/raspberrypi/linux
git clone https://github.com/raspberrypi/tools
export CROSS_COMPILE=${CROSS_COMPILE}
cd ${KERNEL_BUILD_DIR}
make mrproper
make ARCH=${ARCH} O=${BUILD_OUTPUT} ${DEF_CONFIG}
make ARCH=${ARCH} O=${BUILD_OUTPUT} -j4 zImage modules dtbs
make ARCH=${ARCH} INSTALL_MOD_PATH=${INSTALL_MOD_PATH_EXT4} modules_install
请帮忙。 谢谢
解决方法
最终,我建议不要直接在 NTFS 分区上克隆/构建 linux 内核,因为根据我自己过去的经验,这可能会带来麻烦。
如果您想在 Windows 10 计算机上克隆/构建它,最安全的方法是,恕我直言,要么:
- 在您的 Windows 系统上安装/使用 WSL2(免费,最快),
- 在您的 Windows 10 系统上安装 VirtualBox(免费)并使用格式化为 EXT4 的虚拟驱动器(您可以轻松导入从 Turnkey Linux 检索的现成(免费)Linux 开发虚拟机)。
以下过程使用 WSL2 完美运行:
启动 bash.ex,然后在 WSL2 bash 会话中输入以下命令:
files <- list.files(path="../Output/datasets/",pattern=".zip$")
outDir <- "../Output/datasets/unzip"
for (i in files) {
unzip(paste0("../Output/datasets/",i),exdir=outDir)
}
然后,您必须将构建工件复制到您的 NTFS 分区中,该分区可以从 user@kleronomas:/tmp$ mkdir so
user@kleronomas:/tmp$ cd so
user@kleronomas:/tmp/so$ ROOT_DIR=$(pwd)
user@kleronomas:/tmp/so$ KERNEL_BUILD_DIR=${ROOT_DIR}/linux/
user@kleronomas:/tmp/so$ CROSS_COMPILE=${ROOT_DIR}/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-
user@kleronomas:/tmp/so$ BUILD_OUTPUT=${ROOT_DIR}/build_output
user@kleronomas:/tmp/so$ INSTALL_MOD_PATH_EXT4=${ROOT_DIR}/copy_to_sdcard/ext4
user@kleronomas:/tmp/so$ INSTALL_MOD_PATH_FAT32=${ROOT_DIR}/copy_to_sdcard/fat32
user@kleronomas:/tmp/so$ ARCH=arm
user@kleronomas:/tmp/so$ DEF_CONFIG=bcm2709_defconfig
user@kleronomas:/tmp/so$ TARGET=kernel7
user@kleronomas:/tmp/so$ export CROSS_COMPILE=${CROSS_COMPILE}
user@kleronomas:/tmp/so$ cd ${KERNEL_BUILD_DIR}
user@kleronomas:/tmp/so$ git clone --depth=1 -b rpi-4.9.y https://github.com/raspberrypi/linux
user@kleronomas:/tmp/so$ git clone https://github.com/raspberrypi/tools
user@kleronomas:/tmp/so$ make O=${BUILD_OUTPUT} mrproper
user@kleronomas:/tmp/so$ make ARCH=${ARCH} O=${BUILD_OUTPUT} ${DEF_CONFIG}
user@kleronomas:/tmp/so$ make ARCH=${ARCH} O=${BUILD_OUTPUT} -j4 zImage modules dtbs
user@kleronomas:/tmp/so$ make ARCH=${ARCH} O=${BUILD_OUTPUT} INSTALL_MOD_PATH=${INSTALL_MOD_PATH_EXT4} modules_install
user@kleronomas:/tmp/so$ ls -l ${BUILD_OUTPUT}
total 45445
-rw-r--r-- 1 user user 586 Mar 2 10:43 Makefile
-rw-r--r-- 1 user user 730037 Mar 2 11:05 Module.symvers
-rw-r--r-- 1 user user 2244428 Mar 2 11:04 System.map
drwxr-xr-x 1 user user 512 Mar 2 10:43 arch
drwxr-xr-x 1 user user 512 Mar 2 10:46 block
drwxr-xr-x 1 user user 512 Mar 2 10:44 certs
drwxr-xr-x 1 user user 512 Mar 2 11:07 crypto
drwxr-xr-x 1 user user 512 Mar 2 11:04 drivers
drwxr-xr-x 1 user user 512 Mar 2 11:07 firmware
drwxr-xr-x 1 user user 512 Mar 2 11:07 fs
drwxr-xr-x 1 user user 512 Mar 2 10:43 include
drwxr-xr-x 1 user user 512 Mar 2 11:04 init
drwxr-xr-x 1 user user 512 Mar 2 10:45 ipc
drwxr-xr-x 1 user user 512 Mar 2 11:07 kernel
drwxr-xr-x 1 user user 512 Mar 2 11:07 lib
drwxr-xr-x 1 user user 512 Mar 2 11:07 mm
-rw-r--r-- 1 user user 4840 Mar 2 10:44 modules.builtin
-rw-r--r-- 1 user user 61793 Mar 2 11:04 modules.order
drwxr-xr-x 1 user user 512 Mar 2 11:04 net
drwxr-xr-x 1 user user 512 Mar 2 10:44 scripts
drwxr-xr-x 1 user user 512 Mar 2 10:45 security
drwxr-xr-x 1 user user 512 Mar 2 11:07 sound
lrwxrwxrwx 1 user user 13 Mar 2 10:43 source -> /tmp/so/linux
drwxr-xr-x 1 user user 512 Mar 2 10:44 usr
drwxr-xr-x 1 user user 512 Mar 2 10:50 virt
-rwxr-xr-x 1 user user 14295892 Mar 2 11:04 vmlinux
-rw-r--r-- 1 user user 17819862 Mar 2 11:04 vmlinux.o
user@kleronomas:/tmp/so$ ls -ail ${INSTALL_MOD_PATH_EXT4}/lib/modules
total 0
844424931148038 drwxr-xr-x 1 user user 512 Mar 2 11:19 .
844424931148037 drwxr-xr-x 1 user user 512 Mar 2 12:12 ..
17732923533530216 drwxr-xr-x 1 user user 512 Mar 2 12:12 4.9.80-v7+
844424931148041 lrwxrwxrwx 1 user user 13 Mar 2 11:14 build -> /tmp/so/linux
1125899907858695 drwxr-xr-x 1 user user 512 Mar 2 11:17 kernel
1125899907858696 lrwxrwxrwx 1 user user 13 Mar 2 11:17 source -> /tmp/so/linux
中的 WSL2 访问 /mnt/c
、C:
中的 /mnt/d
、.. .
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。