系统移植知识点归纳总结一

  1. 嵌入式linux系统移植包括: bootloader 、linux内核、根文件系统
  2. uImage 是适合 U-Boot 引导的内核镜像格式。
  3. 编译 Linux 内核设备树文件使用什么命令
 make dtbs
  1. u-boot 的命令中,设置环境变量的命令是 setenv
  2. u-boot 中存放内核启动参数的环境变量是bootargs
  3. 在内核配置时,哪个关键词是来创建一个选项 config
config FS4412_LED           # 创建一个名为 FS4412_LED 的配置项
    tristate "FS4412 LED Device Support"  # 配置为 tristate 类型(y、m、n),用户可以选择是否启用该支持
    depends on ARCH_EXYNOS4  # 此选项依赖于 ARCH_EXYNOS4
    help
        Enable support for FS4412 LED device.

  1. 如何查看 u-boot 的环境变量信息 printenv
  2. Linux 世界最常用的文件系统是 ramdisk
  3. 不占用任何磁盘空间的文件系统是 proc
    - proc 是内存中的虚拟文件系统,不占用磁盘空间。
  4. 简述嵌入式 Linux 系统移植的主要内容有哪些
    • bootloader 移植:负责系统的初始启动和引导内核。
    • 内核移植:将 Linux 内核移植到目标硬件平台,调整内核配置和驱动。
    • 根文件系统移植:准备适合目标硬件的根文件系统,包括基本命令和库。
    • 设备驱动移植:移植和定制适用于硬件设备的驱动程序。
  5. 简述设备树的结构组成和常用的属性
    • 结构组成:设备树由节点(nodes)和属性(properties)组成。每个节点代表一个设备或子系统,属性描述该设备的相关信息。
    • 常用属性:
      • compatible:设备的兼容性信息,告诉驱动程序如何与设备通信。
      • reg:设备的寄存器地址范围。
      • interrupts:设备使用的中断号。
      • status:设备状态,如启用或禁用。
  6. 描述 u-boot 启动流程
    1. 上电后,初始化硬件:如 CPU、内存、时钟等。
    2. 启动 bootloader:执行 u-boot 程序,初始化基本外设。
    3. 加载环境变量:加载 bootargs、bootcmd 等环境变量。
    4. 加载内核:根据 bootcmd,读取内核镜像和设备树文件。
    5. 启动内核:通过 bootm 或 bootz 启动内核,将控制权交给内核。
  7. 设置 u-boot 中环境变量
    • 使用 setenv 命令设置环境变量
setenv bootargs 'console=ttyS0,115200 root=/dev/nfs rw nfsroot=192.168.1.100:/nfs'
saveenv  # 保存设置到非易失存储器

  1. 配置内核与编译内核镜像的命令
  • 配置内核
make menuconfig ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi-
  • 编译内核镜像
make uImage ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi-
  1. 第一次配置内核时使用的缺省内核配置文件
    应使用平台的默认配置文件,如 exynos_defconfig 或其他对应目标板的配置文件
make exynos_defconfig ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi-
  1. 使用 Kconfig 语法写一个选项,选项名称为“setup” 默认值为 y
config SETUP
    bool "setup"
    default y
  1. 简述 /proc 文件系统的作用,大概有哪些具体功能
  • /proc 是一个虚拟文件系统,提供进程和内核信息,用户可以通过它访问内核状态
  • 具体功能包括查看 CPU 信息、内存状态、设备状态等。如 /proc/cpuinfo 查看 CPU 信息,/proc/meminfo 查看内存使用情况。
  1. 内核启动后,执行的第一个应用程序是哪一个应用程序
    • 内核启动后,执行的第一个应用程序是 init(PID=1),它负责启动用户空间的其他服务。
  2. 如何添加一个开机启动程序
修改 /etc/init.d/rcS 脚本,在末尾添加程序启动命令
/path/to/my_program &

设置程序为可执行
chmod +x /path/to/my_program

保存并重启系统,程序将在启动时自动运行。
  1. 文件系统的作用是什么?嵌入式文件系统有哪些?
  • 文件系统的作用是管理存储设备中的文件和目录,负责文件的读写、存储、权限管理等。
  • 常见的嵌入式文件系统有:ext2、ext3、yaffs2、jffs2、cramfs、ramdisk 等
  1. 简述 Image, zImage, uImage 的区别
  • Image:未经压缩的内核镜像,可以直接加载到内存执行。
  • zImage:压缩过的内核镜像,通常比 Image 小,用于节省空间。
  • uImage:由 U-Boot 处理的镜像文件,添加了 U-Boot 识别的头部,适合在嵌入式系统中使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值