jslinux的硬盘挂载
Linux  /  houtizong 发布于 3年前   144
译至:http://lovepeers.org/2012/10/22/jslinux/大约一年之前成为热门话题的jslinux,这次重新试着跑一下。实际上变化并不显著,现在可以模拟IDE驱动器,“只能使用4MB以下的RAM”的限制也消失了。事实上,现在jslinux的磁盘映像高达57MB,GCC 4.3.5也在其中!因为还是有大小的限制,C库是用的uClibc,命令是使用BusyBox,但也可能替换为GNU的C库和GNU coreutils。 真在在实际中的应用值得期望!(先不谈能用在什么场景下...)首先记录一下如何获取代码和磁盘映像,并替换里面的内容。获取代码和磁盘映像磁盘映像是按64KB的大小进行分割并把它以hdaXXXXXXXXX.bin的名字命名,这些文件都需要。因为一个一个的下载比较花时间,通过在后台执行wget命令来并行下载这些文件。[javascript] view plaincopy在CODE上查看代码片派生到我的代码片<pre name="code" class="plain">#!/bin/bash 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 编辑磁盘映像首先把分割的磁盘映像文件整合生成一个文件。 cat hda000000*.bin > hda.bin 生成的hda.bin通过loopback mount挂载。 sudo mount -t ext2 -o loop hda.bin /mnt 这里磁盘映像的内容被挂载到/mnt上,接下来就可以修改/mnt下的文件了。完成后,卸载该磁盘映像 sudo umount /mnt 再次将hda.bin分离成64KB的块。[plain] view plaincopy在CODE上查看代码片派生到我的代码片#!/bin/bash rm hda000000.bin split -a 9 -d -b 65536 hda.bin hda for f in hda000000*.bin; do mv $f $f.bin done 这样就可以了。 顺便说一句,我将原来的文件替换成GNU coreutils cat命令和glibc,并确认可以正常工作
请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!
技术博客集 - 网站简介:
前后端技术:
后端基于Hyperf2.1框架开发,前端使用Bootstrap可视化布局系统生成
网站主要作用:
1.编程技术分享及讨论交流,内置聊天系统;
2.测试交流框架问题,比如:Hyperf、Laravel、TP、beego;
3.本站数据是基于大数据采集等爬虫技术为基础助力分享知识,如有侵权请发邮件到站长邮箱,站长会尽快处理;
4.站长邮箱:[email protected];
文章归档
文章标签
友情链接