`
haoningabc
  • 浏览: 1486715 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
阅读更多
参考https://bellard.org/jslinux/tech.html

使用的asm.js的emscripten 把tinyemu用js加载,tinyemu支持x86和精简指令集
https://bellard.org/tinyemu/tinyemu-2018-09-23.tar.gz
安装到/usr/local/bin/temu


精简指令集
https://bellard.org/tinyemu/diskimage-linux-riscv-2018-09-23.tar.gz

temu root-riscv64.cfg
运行成功
cat root-riscv64.cfg
/* VM configuration file */
{
    version: 1,
    machine: "riscv64",
    memory_size: 128,
    bios: "bbl64.bin",
    kernel: "kernel-riscv64.bin",
    cmdline: "console=hvc0 root=/dev/vda rw",
    drive0: { file: "root-riscv64.bin" },
    eth0: { driver: "tap", ifname: "tap0" },
}


control a  x 是退出


如果想运行x86的


先用qemu测试:x86
需要准备2.6内核的bzImage  和操作胸系统文件root.bin
/
usr/libexec/qemu-kvm -kernel bzImage -drive file=root.bin,if=ide,cache=none -append "console=ttyS0 root=/dev/hda rw init=/sbin/init notsc=1"  -boot order=dc,menu=on -nographic

bzImage参考jslinux的2.6的编译
root.bin来源[url] https://github.com/killinux/jslinux-deobfuscated[/url] 中的root.bin

配置文件参考
https://bellard.org/jslinux/buildroot-x86.cfg

/* VM configuration file */
{
    version: 1,
    machine: "pc",
    memory_size: 128,
    kernel: "kernel-x86.bin",
    cmdline: "loglevel=3 console=hvc0 root=root rootfstype=9p rootflags=trans=virtio ro TZ=${TZ}",
    fs0: { file: "https://vfsync.org/u/os/buildroot-x86" },
    eth0: { driver: "user" },
}

vfsync.org 上的是远程映射文件系统,改成本地的
把配置文件改成
my-x86.cfg
/* VM configuration file */
{
    version: 1,
    machine: "pc",
    memory_size: 128,
    kernel: "kernel-x86.bin",
    cmdline: "console=hvc0 root=/dev/vda rw init=/sbin/init notsc=1",
    drive0: { file: "root.bin" },
}


其中kernel-x86.bin 来源官网[url]https://bellard.org/jslinux/kernel-x86.bin [/url](这个需要自己想把发编译一次)

另外输入输出用的是hvc0, 与root.bin里面的用的不同

用qemu进入rootbin系统
修改/sbin/init 把最后
#  setsid sh -c 'exec sh </dev/ttyS0 >/dev/ttyS0 2>&1'
改成
  setsid sh -c 'exec sh </dev/hvc0 >/dev/hvc0 2>&1'

是hvc0还是ttyS00应该是内核决定的
注意hda和vda也有区别
~ # cat /sbin/init
#!/bin/sh

export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin
export HOME=/root
export TERM=vt100

mount -a

ifconfig lo 127.0.0.1

# allow running DOS .COM executables with the small 'runcom' utility
echo ':DOSCOM:E::com::/usr/bin/runcom:' > /proc/sys/fs/binfmt_misc/register

cd $HOME

#stty -F /dev/ttyS0 rows 30

show_boot_time

echo "Welcome to JS/Linux"

while /bin/true; do

#  setsid sh -c 'exec sh </dev/ttyS0 >/dev/ttyS0 2>&1'
  setsid sh -c 'exec sh </dev/hvc0 >/dev/hvc0 2>&1'

done


最后启动
temu my-x86.cfg
就正常了

分享到:
评论

相关推荐

    tinyemu-2019-12-21.tar.gz

    TinyEMU 是用於RISC-V和 x86 架構的系統仿真器 。它的目的是在完成的同時又小又簡單。 主要特點: RISC-V 系統仿真器支持 RV128IMAFDQC 基礎 ISA(用戶級 ISA 2.2 版,特權架構 1.10 版),包括: 32/64/128 位整數...

    TinyEMU:调整Fabrice Bellard的TinyEMU

    TinyEMU 这是的修改版本。 产品特点 32/64/128位RISC-V仿真。 VirtIO控制台,网络,块设备,输入和9P文件系统。 通过SDL进行帧缓冲区仿真。 远程HTTP块设备和文件系统。 小代码,易于修改,无外部依赖。 与...

    TinyEMU:Fabrice Bellard的TinyEMU的前叉,具有音频和最新的emsdk支持

    TinyEMU是一款轻量级的计算机模拟器,它是Fabrice Bellard原始TinyEMU项目的分支或“前叉”。这个项目的主要特点是其小巧的体积和高效的性能,使得用户能够在各种平台上运行多种操作系统,尤其是那些基于MIPS、ARM和...

    temu build

    "temu build" 是一个与构建软件相关的主题,特别是针对Ubuntu 14.04操作系统和GCC 4编译器的环境。在这个场景下,"build"通常指的是编译和构建软件的过程,其中"temu"可能是软件项目的名字或者一个特定的工具。...

    Python网络爬虫技术及其常见实现步骤与注意事项

    内容概要:本文档阐述了 Python 爬虫的基本概念,详细讲解了构建一个简单有效的爬虫所需的五个关键步骤——确定目标、发送请求、解析内容、提取数据和保存结果,并附带了每个阶段相应的实例代码段帮助理解和实施。此外,文中强调了在网络爬虫过程中必须考虑的因素,如遵纪守法,确保不会干扰到网站正常运作或是违反站点设定的规定;以及提供了实用建议以保障高效而不失礼貌地收集所需信息。最后,文档提及Python爬虫主要应用场景包括但不限于数据挖掘、市场调研以及竞争情报搜集等方面。 适用人群:对于有兴趣了解或深入研究Web Scraping的学生、开发者和技术爱好者。 使用场景及目标:无论是初学者希望获得有关Python编程的第一手经验,还是已经有一定经验的技术工作者打算提高效率解决实际问题都非常合适。 其他说明:本文不仅介绍了基础概念与常用方法论,而且给出了完整的学习路径指导和编程指南,旨在让每位参与者都可以顺利入门并逐步掌握高级技巧。同时提醒使用者务必注意合法合规地运用此类技能。

    珠宝门店营销管理导购绩效考核表.xlsx

    珠宝门店营销管理导购绩效考核表

    员工晋升管理规定.docx

    员工晋升管理规定

    “人力资源+大数据+薪酬报告+涨薪调薪”

    人力资源+大数据+薪酬报告+涨薪调薪,在学习、工作生活中,越来越多的事务都会使用到报告,通常情况下,报告的内容含量大、篇幅较长。那么什么样的薪酬报告才是有效的呢?以下是小编精心整理的调薪申请报告,欢迎大家分享。相信老板看到这样的报告,一定会考虑涨薪的哦。

    绩效考核方案(医药公司).doc

    绩效考核方案(医药公司)

    Python源码实例07之对数据分析时判断只能选择Excel或者CSV文件.zip

    Python源码实例07之对数据分析时判断只能选择Excel或者CSV文件.zip

    alsa-plugins-samplerate-1.1.6-1.el7.x64-86.rpm.tar.gz

    1、文件内容:alsa-plugins-samplerate-1.1.6-1.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/alsa-plugins-samplerate-1.1.6-1.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装

    基于OPC UA Client的数据读取与多途径数据传输:Socket通信、数据库保存及OPC DA SERVER转换,使用OPC UA Client读取服务器的数据,可以使用Socket对外提供数

    基于OPC UA Client的数据读取与多途径数据传输:Socket通信、数据库保存及OPC DA SERVER转换,使用OPC UA Client读取服务器的数据,可以使用Socket对外提供数据,可以保存到数据库,可以转为OPC DA SERVER对外提供数据。 ,核心关键词:OPC UA Client; 读取服务器数据; Socket通信; 数据保存; 数据库; 转换为OPC DA SERVER。,"OPC UA Client数据读取与转换:Socket通信、数据库保存及OPC DA SERVER输出"

    Python源码实例09之如何使用tkinter模块弹出不同种类的消息提示框.zip

    Python源码实例09之如何使用tkinter模块弹出不同种类的消息提示框.zip

    JavaScript 实现钢琴特效

    JavaScript 实现钢琴特效(打开HTML即可看到效果)

    热导系陇顶728品种特性-用户反馈

    陇顶728用户好评反馈合集

    新能源公司绩效考核管理制度.doc

    新能源公司绩效考核管理制度

    基于python机器学习9种模型实现心脏病发病预测源码+心脏病数据集+详细注释(高分比赛项目).zip

    基于python机器学习9种模型实现心脏病发病预测源码+心脏病数据集+详细注释(高分比赛项目) 【项目介绍】 模型构建与训练:运用 9 种不同的模型架构进行搭建,这些模型可能包括常见的机器学习模型如决策树、随机森林、支持向量机等,也可能涉及深度学习模型如神经网络。针对每种模型,使用预处理后的数据进行训练,通过调整模型的参数(如决策树的深度、神经网络的层数和节点数等),利用合适的损失函数和优化算法(如梯度下降法),使模型能够学习到数据中的模式和规律,尽可能准确地拟合数据,以提高预测的准确性。 模型评估与选择:采用多种评估指标(如准确率、召回率、F1 值、AUC - ROC 曲线等)对训练好的 9 种模型进行评估。比较不同模型在这些指标上的表现,分析每个模型的优势和劣势,从而选择出在预测心脏病方面性能最优的模型,或者根据实际应用场景综合考虑多个模型的组合,以达到更好的预测效果。 预测与应用:将经过评估和选择后的模型应用于新的患者数据,对患者是否患有心脏病进行预测。输出预测结果,并可能提供相应的风险等级或概率估计,为医生的临床诊断提供辅助参考,帮助医生更高效、准确地判断患者的病情,制定合理的

    IT项目绩效管理.doc

    IT项目绩效管理

    三电平NPC型APF模型预测控制开关频率优化研究:滞环控制模块应用及效果分析,降低开关频率的三电平npc型APF的模型预测控制 同等参数下传统的模型预测控制的开关频率大概在4392Hz附近,经过添加

    三电平NPC型APF模型预测控制开关频率优化研究:滞环控制模块应用及效果分析,降低开关频率的三电平npc型APF的模型预测控制。 同等参数下传统的模型预测控制的开关频率大概在4392Hz附近,经过添加滞环控制模块后,开关频率降到了3242Hz,效果显著。 ,核心关键词:降低开关频率; 三电平NPC型APF; 模型预测控制; 滞环控制模块; 开关频率下降。,"优化三电平NPC型APF:模型预测控制降低开关频率至3242Hz"

    杨鹏程24年度工作总结及规划

    杨鹏程24年度工作总结及规划

Global site tag (gtag.js) - Google Analytics