qemu

Android系统开启导航栏NavigationBar(虚拟按键)

蹲街弑〆低调 提交于 2021-01-04 16:40:27
导航栏NavigationBar 源码部分: frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java mHasNavigationBar = res . getBoolean ( com . android . internal . R . bool . config_showNavigationBar ) ; // Allow a system property to override this. Used by the emulator. // See also hasNavigationBar(). String navBarOverride = SystemProperties . get ( "qemu.hw.mainkeys" ) ; if ( "1" . equals ( navBarOverride ) ) { mHasNavigationBar = false ; } else if ( "0" . equals ( navBarOverride ) ) { mHasNavigationBar = true ; } 显示方案: [1]使用adb命令开启Android手机虚拟按键(导航栏) adb root adb remount adb shell $

Load Sectors to RAM in qemu

和自甴很熟 提交于 2021-01-02 12:50:21
问题 I code a simple program which loads the sector (sector num.2) to the RAM but prints nothing. first, I tried this code for bootsector: org 0x7c00 mov ax, 0x1000 ; ES:BX = 1000:0000 mov es, ax mov bx, 0x00 LoadSectortoMemory: mov al, 0x01 ; Load 1 sectors mov ah, 0x02 ; Load disk data to ES:BX mov cl, 0x02 ; Sector = 2 mov ch, 0x00 ; Cylinder = 0 mov dl, 0x00 ; Drive = 0 mov dh, 0x00 ; Head = 0 int 13h ; Read jc LoadSectortoMemory ; ERROR => Try again jmp 0x1000:0x0000 times 510-($-$$) db 0 dw

What instructions does qemu trace?

我怕爱的太早我们不能终老 提交于 2020-12-30 02:21:26
问题 I wrote the following piece of code that steps through /bin/ls and counts its instructions: #include <stdio.h> #include <sys/ptrace.h> #include <sys/types.h> #include <sys/wait.h> #include <unistd.h> #include <sys/user.h> #include <sys/reg.h> #include <sys/syscall.h> int main() { pid_t child; child = fork(); //create child if(child == 0) { ptrace(PTRACE_TRACEME, 0, NULL, NULL); char* child_argv[] = {"/bin/ls", NULL}; execv("/bin/ls", child_argv); } else { int status; long long ins_count = 0;

KVM架构与原理详解

生来就可爱ヽ(ⅴ<●) 提交于 2020-12-26 17:26:30
关注“ CloudDeveloper ” 云计算领域大小事,你都能尽在掌握 出处:Linux 社区 地址:https://www.linuxidc.com/Linux/2015-01/112328.htm 今天给大家分享一篇讲 KVM 架构的文章,不知道的人可以学习下,知道的人可以将就回顾下。 KVM架构 kvm基本结构有2个部分构成: kvm 驱动,现在已经是linux kernel的一个模块了。其主要负责虚拟机的创建,虚拟内存的分配,VCPU寄存器的读写以及VCPU的运行。 另个组成是Qemu,用于模拟虚拟机的用户空间组件,提供I/O设备模型,访问外设的途径。 kvm基本结构如上图。kvm已经是内核模块,被看作是一个标准的linux 字符集设备(/dev/kvm)。Qemu通过libkvm应用程序接口,用fd通过ioctl向设备驱动来发送创建,运行虚拟机命令。设备驱动kvm就会来解析命令(kvm_dev_ioctl函数在kvm_main.c文件中),如下图: kvm 模块让Linux主机成为一个虚拟机监视器(VMM),并且在原有的Linux两种执行模式基础上,新增加了客户模式,客户模式拥有自己的内核模式和用户模式。在虚拟机运行时,三种模式的工作各为: 客户模式: 执行非I/O的客户代码,虚拟机运行在这个模式下。 用户模式: 代表用户执行I/O指令,qemu运行在这个模式下。

使用 docker buildx 构建多 cpu 架构镜像

烂漫一生 提交于 2020-12-22 14:57:49
使用 docker buildx 实现多平台编译 docker registry api v2 支持多 CPU 架构镜像. 同时 harbor v2 也实现了 docker registry api v2 的支持. 实现之后, 将不再有 cpu 架构困扰, 一个 docker pull image:tag 将自动适配可适配的平台。真正做到海纳百川,一骑当千。 0x01 准备 docker 开启实验模式 buildx 插件 qemu 模拟器 Linux kernel >= 4.8 linux 系统内核 由于 binfmt_misc 机制开启需要依赖 Linux kernel >= 4.8 。因此,在对 linux 系统操作选型上有一定要求。 建议使用 发行版 出场内核已经满足需求的操作系统。而不是选择自己升级系统内核。 ubuntu:18.04 LTS 及以上 debian:10 及以上 参考文章: build multi architecture docker image with buildx 开启实验模式 当前 buildx 还是一个实验模式, 如需要支持, 需要进行如下配置 开启实验模式。修改 /etc/docker/daemon.json, 增加 experimental 字段, 如下。 # vi /etc/docker/daemon.json {

是的,RT-Thread 4.0.1发布了

霸气de小男生 提交于 2020-12-22 06:20:56
RT-Thread 4.0.1版本代码Release啦! v4.0.1是RT-Thread v4.0.0的完善,bugfix修正版本;增加netdev,可以更好的管理网络设备,修正了多核下的signal问题,POSIX thread管理更合理等。同时在这个版本中也见到数家芯片厂商(例如国产芯片厂商东软载波,灵动微,联盛德,国外芯片厂商NXP,IP厂商Synopsys等)来为RT-Thread贡献代码,贡献BSP。 v4.0.1版本的发布也代表着v4.0.x系列日趋稳定化,后面也还会再加入更多的多核处理器支持(真实芯片而不是QEMU这样的模拟器版本),包括同构的,异构的等。 ( 对于如何选择合适的RT-Thread版本进行开发有疑惑的小伙伴可以点击此处>>> ) 本次发布主要有以下调整 内核: v4.0.0的完善,bugfix修正; 组件: 加入更多的AC6工具链支持;使用C实现方式重写sensor传感器框架;添加 netdev 组件;完善电源管理框架,把运行模式的调频从电源模式中独立出来 BSP: 新增STM32 BSP 18个,使其总量达到了33个;增加多个BSP:东软载波ES32芯片、ARM Cortex-M23内核GD32E230K-start、IMXRT1021-EVK、LPC1114、灵动微MM32芯片、RISC-V RV32M1芯片VEGA、联盛德Wi-Fi

Windows ARM64 的安装

﹥>﹥吖頭↗ 提交于 2020-12-20 00:28:02
环境 操作系统:Ubuntu Kylin 优麒麟 20.10 适用架构:ARM64(鲲鹏 920 x8、飞腾 FT-2000/4)、AMD64(海光、兆芯) 下载 ISO 主页, https://uupdump.ml/ 下载预览通道的版本 https://uupdump.ml/fetchupd.php?arch=arm64&ring=wif&build=latest 加压缩文件后,进入目录。 给 sh 文件添加执行权限。 chmod +x uup_download_linux.sh 安装 2 个依赖软件包。 sudo apt install aria2 wimtools 执行下载和打包。 ./ uup_download_linux.sh 大约需要下载 4.5G 左右。 获得 ISO 我不知道有任何微软页面允许您下载 ARM64 ISO,所以这部分依赖于社区制作的解决方案。 在 MDL 论坛上,我找到了正确的 ESD 下载链接,并使用 ESD>ISO 转换脚本(也在那里找到)获得了一个可引导的 ISO。 或者, adguard 的下载页面提供了类似的脚本,可以为您下载和打包一个 ISO。 还有一点很重要: 我没有成功启动 2004 或 20H2 版本(具体来说:19041.388 / 19041.423),所以我转而使用 1909 版本(18363.592)。 (更新2020-12

centos6 通过 kvm 安装 centos7

只愿长相守 提交于 2020-12-19 04:57:08
参考: http://blog.51cto.com/wzlinux/1731324 http://blog.csdn.net/ztynet/article/details/54952425 一、检查CPU是否支持虚拟化。(在主板BIOS中开启CPU的VirtualizationTechnology) # grep -E -o 'vmx|svm' /proc/cpuinfo 二、基础环境配置 1.安装KVM软件包 yum -y groupinstall 'Virtualization' 'Virtualization Client' 'Virtualization Platform' 'Virtualization Tools' Linux命令:lsmod——显示已载入系统的模块 lsmod 其实就是list modules的缩写,即 列出所有模块. 功能说明:显示已载入系统的模块。 语法:lsmod 模块名称 说明:执行lsmod指令,会列出所有已载入系统的模块。Linux操作系统的核心具有模块化的特性,因此在编译核心时,无需把全部的功能都放入核心。你可以将这些功能编译成一个个单独的模块,待需要时再分别载入。 查看模块 # lsmod | grep kvm kvm_intel 53484 6 kvm 316506 1 kvm_intel 2.1

物理机centos6上使用docker创建centos7容器并在容器中使用KVM搭建win10系统

主宰稳场 提交于 2020-12-19 04:45:30
环境都通过前面几篇随笔摸索中搭建好了,以下就是简单的将docker创建centos7容器并配置好win10系统的过程记录一下。 1.创建win10容器 docker run -d --name win10 -p 5900:5900 -p 5901:5901 -p 5902:5902 -p 5903:5903 -p 5904:5904 -p 5905:5905 -v /data/zkdocker/vm:/data/zkdocker/vm --privileged=true centos:7 /usr/sbin/init 2.进入容器内部 docker exec -it win10 /bin/bash 3.进入目录/data/zkdocker/vm/shm启动脚本安装vncserver cd /data/zkdocker/vm/shm bash start-vnc.sh 4.vnc登陆系统,关闭锁屏 Applications --> System Tools --> Settings --> Privacy --> Screen Lock Off 5.在容器centos7上搭建网桥    vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 NAME="eth0" BRIDGE=br0 BOOTPROTO=dhcp NM

[Zephyr] 1、在linux上安装Zephyr-OS并跑DEMO

柔情痞子 提交于 2020-12-18 09:41:11
星期五, 14. 九月 2018 02:18上午 - BEAUTIFULZZZZ <iframe frameborder="no" border="0" marginwidth="0" marginheight="0" width=298 height=52 src="//music.163.com/outchain/player?type=2&id=488675744&auto=0&height=32"></iframe> [TOC] 0) 前言 Zephyr™项目是一个采用Apache 2.0协议许可,Linux基金会托管的协作项目。为所有资源受限设备,构建了针对低功耗、小型内存微处理器设备而进行优化的物联网嵌入式小型、可扩展的实时操作系统(RTOS),支持多种硬件架构及多种开发板,可以在小至8 kB内存的系统上运行。 采用深入的安全开发生命周期:安全验证,模糊和渗透测试,频繁的代码审查,静态代码分析,威胁建模和审查,以防止代码中的后门 。 支持Bluetooth, Bluetooth Low Energy, Wi-Fi, 802.15.4,6Lowpan, CoAP, IPv4, IPv6, 和 NFC 等标准,通过社区驱动的发展来改进和增强功能 。 这里作为入门篇,将介绍在linux上安装Zephyr,并基于模拟器和实体开发板进行DEMO编译运行。 1)下载、克隆到本地