(可能会有遗漏。请参考文末的参考资料)
一、 实验目的
- 学习Linux内核的配置和编译;
- 深入理解Linux系统调用;
- 理解ARM和x86的CPU模式(系统模式、用户模式等)的不同。
- 掌握内核模块的编写方法。
二、 实验器材
硬件:
PC一台(windows7旗舰版,ubuntu14.04虚拟机)
树莓派1代一块
USB-TTL串口线一根
SD卡一张(树莓派自带)
SD读卡器(笔记本自带)
键鼠套装(USB接口)
显示器一台(带dvi接口)
Hdmi转dvi转接线一根
杜邦线若干
软件:
Putty
Win32DiskImager
Virtual box5.0.14
Ubuntu 14.04
三、 器材连接
1. 连接树莓派与USB-TTL串口线
树莓派 |
USB-TTL |
2 |
VCC |
6 |
GND |
8 |
RX |
10 |
TX |
四、 实验步骤及结果
以下实验步骤针对树莓派1代
1. 搭建环境
搭建环境主要包括:
a) 安装virtual box 5.0.14 ,安装ubuntu 14.04 lts
b) Windosws:下载Win32DiskImager,用以烧录树莓派官方系统
c) 将sd卡挂入linux虚拟机
d) Ubuntu:下载内核源码,编译工具链
e) Ubuntu:下载相关依赖库、工具等
想到一种曲线救国方案,可以不把SD卡挂入linux虚拟机。在虚拟机内编译好kernel.img和Modules后,分步导入SD卡。
以下过程我没有实践过,讲道理是可以的。
a) 从虚拟机拖出kernel.img和modules(modules内有软链接,可能要删除后才能拖出来)
b) 将modules放入boot分区。启动树莓派,在树莓派内将modules目录放入正确的位置(启动后,boot分区位置:/boot)
c) SD卡插回pc,将新的kernel.img放入boot分区。再启动树莓派。
1) 安装virtual box 5.0.14 ,安装ubuntu 14.04 lts</