使用jslinux的hda.bin制作rootfs

本文详细介绍了如何使用JSLinuX构建硬盘映像的过程,包括下载必要的文件、生成根文件系统(rootfs)、编译内核以及利用QEMU进行模拟运行等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

把jslinux的硬盘下载下来



host=http://bellard.org/jslinux/

wget $host/cpux86-ta.js
wget $host/cpux86.js
wget $host/jslinux.js
wget $host/term.js
wget $host/utils.js

wget $host/linuxstart.bin
wget $host/vmlinux-2.6.20.bin

i=0
while [ $i -le 999 ]; do
hda=$(printf 'hda%09d.bin' $i)
if [ ! -f $hda ]; then
wget $host/$hda &
fi

i=$(( $i + 1 ))
done



得到近1000个.bin文件

cat hda000000*.bin > hda.bin
mount -t ext2 -o loop hda.bin /mnt/jshda
cp -r /mnt/jshda jslinux


生成rootfs

#!/bin/sh
KERNEL=$(pwd)
cd jslinux
find . | cpio -o --format=newc > $KERNEL/rootfs.img
cd $KERNEL
gzip -c rootfs.img > rootfs.img.gz


编译内核
下载
linux-2.6.20.tar.bz2
tar jxvf linux-2.6.20.tar.bz2
cd linux-2.6.20
cp ../linuxstart-20120111/config_linux-2.6.20 .config

按照linuxstart-20120111修改部分代码,打patch等,
patch -p1 <../linuxstart-20120111/patch_linux-2.6.20 

参考
[url]http://haoningabc.iteye.com/blog/2148555[/url]
make ARCH=i386 -j16
生成
linux-2.6.20/arch/i386/boot/bzImage


qemu-system-i386  -kernel linux-2.6.20/arch/i386/boot/bzImage -m 128M -initrd rootfs.img.gz -append "root=/dev/ram rdinit=bin/sh init=linuxrc console=ttyS0" -serial stdio   -vnc 0.0.0.0:4
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值