实验1-1:安装Ubuntu 20.04系统
目标:安装图形化Ubuntu系统,为后续实验提供基础环境。
1. 安装步骤:
-下载镜像:从Ubuntu官网或清华镜像站获取Ubuntu 20.04 Desktop ISO文件。
-制作启动盘:使用Rufus或UltraISO将ISO写入U盘,选择UEFI模式。
-分区配置(关键):
EFI分区:500MB-1GB,逻辑分区,类型EFI。
Swap分区:建议与物理内存相等(如8GB内存则分配8GB)。
根分区(/):至少20GB,Ext4格式。
/home分区:剩余空间,存储用户数据。
-完成安装:设置用户名、密码,选择时区,安装完成后更新系统(`sudo apt update && sudo apt upgrade)。
2. 快照管理:
- 安装完成后创建名为“Ubuntu20-04”的快照,备注“原始干净的Ubuntu 20.04。
实验1-2:更换内核(内核编译与安装)
目标:编译新内核并替换原内核,理解内核模块管理。
1. 依赖安装:
bash
sudo apt install build-essential libncurses-dev bison flex libssl-dev libelf-dev bc
2. 内核编译:
-获取源码:
bash
wget https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.15.tar.xz
tar -xvf linux-5.15.tar.xz
cd linux-5.15
-配置与编译:
bash
make menuconfig # 使用默认配置或手动调整
make -j4 # 多线程编译加速
sudo make modules_install && sudo make install
-更新引导:`sudo update-grub`,重启后通过`uname -r`验证新内核版本。
3. 常见问题:
-依赖缺失:如编译报错`libelf-dev not found`,需安装对应包。
-启动失败:若新内核无法启动,重启选择旧内核进入系统,检查编译配置或日志(`/var/log/kern.log)。
快照管理:实验完成后创建快照“Ubuntu20-test1-1”,备注“更换新内核”。
实验1-3:使用QEMU运行Linux系统
目标:通过QEMU模拟器运行自定义Linux内核及根文件系统。
1. QEMU安装:
bash
sudo apt install qemu-system-x86 qemu-utils
2. 启动内核(需提前编译内核和根文件系统):
bash
qemu-system-x86_64 -kernel ./bzImage -hda ./rootfs.img -append "root=/dev/sda console=ttyS0" -nographic
-参数解析:
-kernel:指定内核镜像。
-hda:挂载根文件系统镜像。
-append:内核启动参数,指定根设备为`sda`。
3. 问题解决:
-根文件系统挂载失败:检查镜像格式(需为Ext4)及内核配置(启用`CONFIG_BLK_DEV_SD`)。
-无输出:添加`-serial stdio`参数确保输出到终端。
实验1-4:创建根文件系统
目标:构建包含BusyBox的最小根文件系统。
1. BusyBox编译:
bash
git clone https://github.com/mirror/busybox.git
cd busybox
make menuconfig # 启用静态编译(Build static binary)
make -j4 && make install
2. 制作根文件系统镜像:
bash
dd if=/dev/zero of=rootfs.img bs=1M count=128
mkfs.ext4 rootfs.img
sudo mount rootfs.img /mnt
sudo cp -r busybox/_install/* /mnt
sudo mkdir /mnt/{etc,dev,proc,sys}
sudo umount /mnt
(需创建`/etc/inittab`和`/etc/init.d/rcS`配置文件,设置初始化脚本)。
实验1-6:编译ARM64最小系统
目标:交叉编译ARM64内核并运行于QEMU。
1. 交叉工具链安装:
bash
sudo apt install gcc-aarch64-linux-gnu
2. 内核编译:
bash
export ARCH=arm64
export CROSS_COMPILE=aarch64-linux-gnu-
make defconfig && make -j4
3. QEMU启动:
bash
qemu-system-aarch64 -M virt -cpu cortex-a53 -m 1G -kernel ./arch/arm64/boot/Image -nographic
(需配合ARM64根文件系统镜像,制作方法同实验1-4)。
3万+

被折叠的 条评论
为什么被折叠?



