嵌入式Linux系统移植试题【时间:60分钟】
姓名:()
一、单项选择题【每题2分,共70分】
1. 嵌入式linux系统移植不包括( D )
[A] bootloader [B] linux内核 [C] 根文件系统 [D] 应用程序
2. 下列选项中符合gcc的编译流程的是( A )
[A] 预处理->编译->汇编->连接 [B] 预处理->汇编->编译->连接 [C] 编译->预处理->汇编->连接 [D] 预处理->连接->汇编->编译
3. 下列二进制工具哪个是丢弃目标文件的全部或者特定符号,减少文件体积的( D ) [A] size [B] as [C] nm [D] strip
4. 下列二进制工具哪个是用来反汇编的( B )
[A] nm [B] objdump [C] objcopy [D] string
5. 下列二进制工具哪个是用来进行目标格式转换的( C ) [A] nm [B] objdump [C] objcopy [D] string
6. 下列二进制工具哪个是用来把程序地址转换为文件名和行号的( D )
[A] nm [B] objdump [C] objcopy [D] addr2line
7. FS4412开发平台上,uImage被解压到什么地址( B )
[A] 0x40000000 [B] 0x40008000 [C] 0x41000000 [D] 0x43e00000
8. 编译Linux内核设备树文件使用什么命令( D )
[A] make dtbi [B] make tags [C] make dtb [D] make dtbs
9. linux要求bootloader在运行内核前,让系统进入何种模式( B )
[A] user [B] svc [C] system
10. u-boot的命令中存放自启动命令的环境变量是(D ) [A] ipaddr [B] bootargs [C] bootm [D] bootcmd
11. u-boot的命令中,设置环境变量的命令是(A ) [A] setenv [B] printenv [C] tftp [D] bootm
1
12. u-boot中存放内核启动参数的环境变量是( C )
[A] bootcmd [B] bootdelay [C] bootargs [D] ipaddr
13. 在内核配置时,哪个关键词是来包含下一级Kconfig ( B )
[A] menu endmenu [B] source [C] choice endchoice [D] depends on
14. 在内核配置时,哪个关键词是来创建一个选项菜单( D)
[A] menu endmenu [B] source [C] choice endchoice [D] config
15. 内核配置的结果保存在哪个文件中( C )
[A] Kconfig [B] Makefile [C] .config [D] System.map
16. 下列函数适合在内核解压后,console初始化以前使用的是( B ) [A] puts [B] printascii [C] printk [D] printf
17. 当console初始化以后,一般最为简单的内核调试方式为 ( A ) [A] printk [B] puts [C] bdi2000 [D] kgdb
18. 下列哪些文件系统可以运行在eMMC上(C )
[A] yaffs2 [B] ios9660 [C] ext3 [D] tmpfs
19. 下列哪些文件系统是只读的( D )
[A] ext2 [B] yaffs2 [C] ext2 [D] cramfs
20. 下列不占用任何磁盘空间的文件系统是(D )
[A] yaffs2 [B] jffs2 [C ] cramfs [D] tmpfs
21. u-boot使用网络需设置下面哪些环境变量(AB )
[A] ipaddr [B] serverip [C ] bootcmd [D] bootargs
22. 通过nfs挂载根文件系统,需要设置u-boot下面哪些环境变量( ABD )
[A] ipaddr [B] serverip [C ] bootcmd [D] bootargs
23. u-boot下通过nfs自启动,需要设置哪些环境变量(ABCD )
[A] ipaddr [B] serverip [C ] bootcmd [D] bootargs
24. 针对我们的目标板,u-boot下烧写命令,下面哪个是正确的( A )
[A] movi write u-boot 0x41000000
2
[B] movi write kernel 0x21000000 [C] movi write dtb 0x22000000 [D] movi write rootfs 0x42000000
25. 针对当前我们移植的项目,主机侧tftp共享目录和nfs共享目录,描述正确的是( AB )
[A] tftp共享目录,存放的是供目标板下载的文件
[B] nfs共享目录,存放的是供目标板子系统挂载的根文件系统 [C ] tftp和nfs都是提供给uboot使用的
[D] tftp共享目录和nfs共享目录是不一样的,不能设置成同一目录
26. 查找u-boot启动代码时,需要通过哪个文件来查找它的入口函数名( C )
[A] start.S [B] head.S [C ] u-boot.lds [D] vmlinux.lds
27. 编译内核,可以使用下面哪个命令( AB)
[A] make
[B] make uImage [C] make dtbs
[D] make menuconfig
28. 配置内核,可以使用下面哪个命令( D )
[A] make
[B] make uImage [C] make dtbs
[D] make menuconfig
29. 我们当前目标板,第一次配置内核时,需要使用下面哪个配置文件( A )
[A] exynos_defconfig [B] .config [C] kconfig
[D] make menuconfig
30. Printk支持种打印级别( C )
[A] 6 [B] 7 [C ] 8 [D] 9
31. 我们根文件系统的制作,使用的是哪个工具( B )
[A] gcc [B] busybox [C] ld [D] ar
32. 针对我们移植的系统,内核启动时,调用的第一个可执行程序是下面哪个(B [A] init [B] linuxrc [C] inittab [D] bin
3
)
33. 针对我们当前移植的系统,根文件系统和nfs,下面描述正确的是( BCD )
[A] 根文件系统就是nfs
[B] 根文件系统依赖nfs进行挂载
[C] 只有linux系统才会用到nfs,uboot不使用nfs [D] nfs路径是通过uboot传入的
34. 关于设备树,下面描述正确的是( CD )
[A] linux系统,一定需要设备树 [B] 设备树只有arm才能用
[C] 设备树一种描述硬件的数据结构,由一系列被命名的结点和属性组成
[D] 设备树有一个root结点”\\”,,root结点下可以有一系列子节点,子节点一定要在root节点下
35. 系统移植过程中,出现了问题,我们第一步需要怎么处理(BD )
[A] 在uboot烧写完成后,发现没有任何显示在putty,我们可以增加printk进行调试。 [B] 在uboot烧写完成后,发现ping命令执行不了,我们可以尝试开启ping命令。 [C] 发现uImage 下载不了,我们尝试重新编译uImage。
[D] 发现内核加载过程中,出现了oops或其他异常,我们尝试反汇编查看问题原因。
二、简答题【共30分】
1. 简述嵌入式linux系统移植的主要内容有哪些&#xff1f; (4分) () <1>搭建交叉编译环境
<2>根据芯片手册和用户资料进行bootloader的选择和移植 <3>Kernel的配置、编译、移植和调试 <4>根文件系统的制作
2. 针对我们的目标板&#xff0c;如何定位下边oops信息错误位置&#xff1f; ( 6分) () Unable to handle kernel NULL pointer dereference at virtual address 00000000 pgd &#61; c0004000
[00000000] *pgd&#61;00000000 Internal error: Oops: 805 [#1] last sysfs file: Modules linked in:
CPU: 0 Not tainted (2.6.35 #21) PC is at s3c_fb_probe&#43;0xc/0x67c
LR is at platform_drv_probe&#43;0x1c/0x24
pc : [] lr : [] psr: a0000013 sp : cfc29f0c ip : cfc457c0 fp : 00000000
4
r10: 00000000 r9 : 00000000 r8 : c03bbb40
r7 : c03b7a18 r6 : c03b7a18 r5 : c03a3310 r4 : 00000000 r3 : 000000ff r2 : cfc28000 r1 : 00000000 r0 : c03a3308
Flags: NzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel
PC is at s3c_fb_probe&#43;0xc/0x67c 找到对应的地址
3&#xff0e;描述u-boot启动流程( 10分) () 第一阶段&#xff1a;
设置CPU工作模式(SVC)、关中断、MMU 内存初始化 自搬运
设置堆栈、清空BBS段为第二除段C作准备 第二阶段&#xff1a;
初始化GPIO、串口、网口等需要用到的外围设备 执行命令 加载内核
4. 回答以下文件系统相关问题( 10分) ()
(1) inittab语法&#xff0c;下面这句话是什么功能( 5分) ::sysinit:/etc/init.d/rcS 该文件的功能主要有两个&#xff1a;
一个是将不同的文件系统挂载到根文件系统下的某个目录内 二是新建kernel所需的目录
(2) mount –a 命令会读取哪个配置文件&#xff1f; (5分) 安装在该目录下的所有文件系统
5