`
haoningabc
  • 浏览: 1476954 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

(转)jslinux的硬盘挂载

阅读更多
转http://blog.csdn.net/robertsong2004/article/details/38820763
译至: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*; do  
    mv $f $f.bin  
done  

这样就可以了。 顺便说一句,我将原来的文件替换成GNU coreutils cat命令和glibc,并确认可以正常工作
分享到:
评论

相关推荐

    linux整理简单齐全运维手册.docx

    使用`iozone`测试硬盘性能,`nmon`工具监控服务器的上下文切换次数,以评估系统性能。 6. **Apache服务优化**: - 配置`cronolog`进行日志轮询,减少磁盘空间占用。 - 自定义错误页面,提高用户体验。 - 启用`...

    Ext4.1.0_API中文版(中文API)

    Ext4是Linux操作系统中广泛使用的日志式文件系统,它在Ext3的基础上进行了很多优化,提高了性能和可靠性。这个中文版API文档的出现,极大地便利了中文使用者理解和开发与Ext4相关的应用。 1. **Ext4概述** - Ext4...

    获取磁盘驱动器盘符 获取磁盘驱动器盘符

    在IT领域,获取磁盘驱动器盘符是操作系统编程中常见的任务之一,特别是在需要与硬盘、光驱等存储设备交互的软件开发中。这通常涉及到系统API调用或使用特定的编程语言特性来实现。以下将详细介绍如何在不同的操作...

    ext2.0官方文档

    这个文件系统在1993年由Rebecca Ann Heineman和Stephen Tweedie开发,作为EXT1的升级版,旨在解决EXT1在大容量硬盘上的性能和扩展性问题。EXT2.0作为EXT2系列的一个重要版本,引入了多项改进,为Linux用户提供了更加...

    前端开源库-drivelist

    3. **驱动器详细信息**:返回的驱动器信息包括驱动器的名称、类型(如硬盘、USB、光驱等)、字母标识符(在Windows下)以及挂载点(在macOS和Linux下)。 4. **异步处理**:考虑到驱动器信息的获取可能涉及到IO操作...

    获取磁盘剩余可用空间

    在计算机系统中,了解磁盘剩余可用空间是至关重要的,这可以帮助我们监控系统的健康状态,避免硬盘满载导致的数据丢失或系统性能下降。本篇将详细介绍如何获取磁盘剩余可用空间,并提供不同操作系统下的实现方法。 ...

    vmware安装视频

    首先,VMware是一款虚拟机软件,允许用户在单个物理计算机上运行多个独立的操作系统实例,每个实例都拥有自己的资源,如CPU、内存、硬盘和网络设备。通过虚拟化技术,我们可以同时测试不同的操作系统,进行软件开发...

    获取磁盘驱动器空间信息的资源

    在Linux系统中,我们可以使用`df`命令来获取磁盘空间信息,如`df -h`将以人类可读的格式(如KB、MB、GB)显示所有挂载点的磁盘使用情况。若想查看特定分区,如 `/home`,则运行`df -h /home`。另外,`du`命令可以...

    get-disc-size.rar_size

    这个名为"get-disc-size.rar_size"的压缩包文件很可能包含了一个或多个实用工具或脚本,用于检索计算机硬盘驱动器的可用空间、总容量以及已使用空间等信息。下面我们将深入探讨这一主题,讲解如何在不同的操作系统中...

    EnumerateDevicesAndVolumes:最佳算法描述和原型代码

    对于非Windows系统,如Linux和macOS,你可能需要使用`child_process`模块来执行系统命令,如`lsblk`(Linux)或`diskutil`(macOS),然后解析输出以获取设备和卷信息。这些命令通常会提供丰富的设备详情,包括挂载...

Global site tag (gtag.js) - Google Analytics