学习记录
恩智浦uboot编译修改
编译烧写几乎没有遇到问题
在uboot环境下升级内核对内存操作时遇到 Unknown command 'fatwrite' - try 'help'
我猜想是编译uboot选项时候没有make menuconfig没有配置那个选项。重新编译没有找到。然后查看源码发现
fat_write.c文件这个指定是内个函数实现 然后查看Makefile看到如下
#
#
# SPDX-License-Identifier: GPL-2.0+
#
obj-$(CONFIG_FS_FAT) := fat.o
obj-$(CONFIG_FAT_WRITE):= fat_write.o
ifndef CONFIG_SPL_BUILD
obj-$(CONFIG_FS_FAT) += file.o
endif
原因是没有定义这个宏导致这个.o文件没有编译到uboot里面
修改mx6ullevk.k文件加入
#define CONFIG_FAT_WRITE
重新编译命令支持了
内核修改
编译内核一开始没有出错在我想修改内核在次编译时遇到
fatal error: gnu/stubs-soft.h
当时在制作根文件系统时为了busybox编译通过我修改过环境变量
export INCLUDE=$INCLUDE:/opt/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/libc/usr/include/
export C_INCLUDE_PATH=$C_INCLUDE_PATH:/opt/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/libc/usr/include/
export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/opt/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/libc/usr/include/
将其注释掉就可以了
在根文件系统起来时发现
一些东西挂载不上
分析是内核原因
tmpfs: No value for mount option ' defaults'
mount: mounting tmpfs on /tmp failed: Invalid argument
修改配置
File systems
---> Pseudo filesystems
---> Virtual memory file system support(former shm fs)
---->Tmpfs POSIX Access Control Lists