linux-6.1.63+busbox1.36.0文件系统制作流程
【摘要】 编译,运行环境HOST-OS : ubuntu22.04kernel : linux-6.1.63busybox : 1.36.0源代码下载2.1 kernel源代码下载https://mirrors.tuna.tsinghua.edu.cn/kernel/v6.x/linux-6.1.63.tar.xz2.2 busybox源代码下载https://busybox.net/downloa...
- 编译,运行环境
HOST-OS : ubuntu22.04 kernel : linux-6.1.63 busybox : 1.36.0
- 源代码下载
2.1 kernel源代码下载
https://mirrors.tuna.tsinghua.edu.cn/kernel/v6.x/linux-6.1.63.tar.xz
2.2 busybox源代码下载
https://busybox.net/downloads/busybox-1.36.0.tar.bz2
- linux-6.1.63源代码编译
make ARCH=x86 x86_64_defconfig make ARCH=x86 menuconfig General setup ---> ----> [*] Initial RAM filesystem and RAM disk (initramfs/initrd) support Device Drivers ---> Generic Driver Options > Support for uevent helper [*] Block devices ---> <*> RAM block device support (65536) Default RAM disk size (kbytes) make ARCH=x86 -j$(nproc)
- busybox1.36.0源代码编译
make menuconfig Settings ---> Build Options ---> [*] Build BusyBox as a static binary (no shared libs) make && make install
- busybox文件系统制作
sudo su cd busybox-1.36.0/_install mkdir etc dev mnt mkdir -p proc sys tmp mnt mkdir -p etc/init.d/ vim etc/fstab <-- proc /proc proc defaults 0 0 #tmpfs /tmp tmpfs defaults 0 0 sysfs /sys sysfs defaults 0 0 --> vim etc/init.d/rcS <-- echo -e "Welcome to te_Linux 20240517" /bin/mount -a echo -e "Remounting the root filesystem" mount -o remount,rw / mkdir -p /dev/pts mount -t devpts devpts /dev/pts echo /sbin/mdev > /proc/sys/kernel/hotplug mdev -s --> chmod 755 etc/init.d/rcS vim etc/inittab <-- ::sysinit:/etc/init.d/rcS ::respawn:-/bin/sh ::askfirst:-/bin/sh ::shutdown:/bin/umount -a -r ::shutdown:/sbin/swapoff -a ::ctrlaltdel:/sbin/reboot ::restart:/sbin/init --> chmod 755 etc/inittab cd dev mknod console c 5 1 mknod null c 1 3 mknod tty1 c 4 1 vim mkfs.sh <-- #!/bin/bash rm -rf rootfs.ext3 rm -rf fs dd if=/dev/zero of=./rootfs.ext3 bs=1M count=32 mkfs.ext3 rootfs.ext3 mkdir fs mount -o loop rootfs.ext3 ./fs cp -rf ./_install/* ./fs umount ./fs gzip --best -c rootfs.ext3 > rootfs.img.gz -->
- qemu启动linux-6.1.63_busbox1.36.0
qemu-system-x86_64 \ -kernel ./linux-6.1.63//arch/x86_64/boot/bzImage \ -initrd ./busybox-1.36.0/rootfs.img.gz \ -append "root=/dev/ram init=/linuxrc" \ -serial file:output.txt
- 总结
参考链接:从源码编译linux-4.9内核并运行一个最小的busybox文件系统(最新整理版) - 哔哩哔哩 (bilibili.com)
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)