⑴ 有手机的源代码,如何编译安卓4.4的系统
代码编译…
恐怕这个不是随随便便在这里几句话就能说明白的…
首先要下载安卓4.4的内核,
然后要把厂商的手机源代码编译进去,
还要自己写脚本,
很多都是很技术的活。
lz确定能hold住么?
⑵ 手机刷 kvm 硬件虚拟化
"您好,官网没有提供刷机软件。由于刷机存在风险,如因自行刷机后导致的手机问题,还有可能会影响包修,因此我们不建议您自行刷机。
若手机因系统故障无法正常使用或自行刷机后导致手机出现问题,建议您将机器送到售后服务中心,由工程师帮助检查处理。"
⑶ 为什么编译的内核qemu运行不了
你还需要准备一个initrd,然后使用qemu的命令启动,使用你的image和initrd,配置好参数就可以了。system.map启动不需要
⑷ 手机没root,怎样能通过termux安装Qemu
可以直接找专业的机构帮你root,然后安装
⑸ 使用buildroot编译arm架构的linux内核,使其支持usb摄像头,并使用qemu虚拟运行
#没有吧ext* 和 VFS编进去吧
cd/usr/src/linux
makemenuconfig
#选择ext4和VFS,在FileSystem里,很好找
make;makemole_install;makeinstall
⑹ 手机如何用qemu模拟windows
QEMU是一套开源的跨平台模拟器,该文主要介绍QEMU的常用命令以及使用QEMU模拟运行Windows98CE的方法和步骤。
关键词:QEMU;模拟器;Windows
中图分类号:TP311文献标识码:A文章编号:1009-3044(2010)26-7263-02
计算机模拟器(computersimulator)指的是“用计算机模拟计算机的模拟器”。计算机模拟器已被用于在实际发行前调试微程序或者商业应用程序。由于该计算机上的操作都是模拟的,所有信息都可被程序员获取,而模拟的速度、执行等都可以控制。
在最近为某银行开发软件的过程中,由于客户工作环境比较复杂,需要在不同环境和硬件条件下对项目进行测试和部署,由于在一台电脑上反复安装不同的测试环境是一件非常繁琐费时的工作,所以这里选用QEMU模拟不同的软硬件环境来完成不同环境下软件的部署和调试测试。下面以使用QEMU模拟Windows98CE环境为例,介绍QEMU的使用方法。
1QEMU简介
QEMU是一套由FabriceBellard所编写的开源跨平台模拟器。它具备高速度及跨平台的特性。QEMU有两种主要运作模式:1)Usermode模拟模式,亦即是使用者模式。QEMU能启动那些为不同中央处理器编译的Linux程序。而Wine及Dosemu是其主要目标。
2)Systemmode模拟模式,亦即是系统模式。QEMU能模拟整个电脑系统,包括中央处理器及其他周边设备。它使得为系统源代码进行测试及除错工作变得容易。其亦能用来在一部主机上虚拟数部不同虚拟电脑。
QEMU可以模拟IA-32(x86)个人电脑,AMD64个人电脑,MIPSR4000,升阳的SPARCsun3与PowerPC等硬件架构,同时在支持硬件虚拟化的x86构架上可以使用KVM加速配合内核ksm大页面备份内存,速度稳定远超过VMwareESX。QEMU增加了模拟速度,某些程序甚至可以实时运行,同时可以在其他平台上运行Linux的程序,可以储存及还原运行状态(如运行中的程序),也可以虚拟网络卡,使虚拟机可以与真实网络及宿主机进行通信。
2使用QEMU模拟运行Windows98CE
首先介绍一些QEMU的常用命令,这些命令在模拟运行Windows的时候经常用到:
-fdbfile,使用file作为软盘镜像.,这里的file可以是软盘镜像文件名也可以是真实的软盘设备,比如/dev/fd0。
-hdafile-hdbfile-hdcfile,这里的file是指硬盘的镜像文件名。
-bootadc,用于指定系统启动优先使用的设备,a指软盘,c指硬盘,d指光驱。
-mmegs,指定虚拟系统的内存大小,这里的单位是MB,QEMU默认的是128M。
-enable-audio,由于sb16的虚拟声卡驱动在Windows下使用有些问题,默认QEMU是关闭这个选项。
-localetime,QEMU默认使用的是UTC时区
-user-net,使用UserMode网络设备来建立网络连接,这是默认的
虚拟网络模式,相当于VMware的NAT。
在安装之前,首先准备好Windows98CE的安装镜像,然后使用
QEMU来制作磁盘镜像,也就是为即将安装的Windows98CE分配磁盘
空间,命令如下:
>cdc:/qemu/qemu-0.9.0-Windows(假设QEMU安装在c:/qemu/qe-
mu-0.9.0-Windows目录下)
>qemu-img.execreatewince.img10G
下面,开始在制作好的磁盘镜像中安装Windows98,步骤如下:
1)运行命令qemu-bootd-cdromWindows98.iso-hdawin98se.img
,用于启动到DOS,分区和格式化,开始安装。在DOS环境下,对磁盘进
行格式化等处理,,然后运行setup命令开始安装windwos98CE,安装过
程不再详细描述
⑺ qemu如何使用
qemu常用网络模式是user、tap。
user使用有局限性,
1) 由于其在QEMU内部实现所有网络协议栈,因此其性能较差。
2) 不支持部分网络功能(如ICMP),所以不能在客户机中使用ping命令测试外网连通性。
3) 不能从宿主机或外部网络直接访问客户机。需要作地址重定向。
tap方式网络没有这些限制。
通过tap又可以实现bridge和nat方式的网络连接。
⑻ 怎么修改android 的Linux内核
Android 产品中,内核格式是Linux标准的zImage,根文件系统采用ramdisk格式。这两者在Android下是直接合并在一起取名为boot.img,会放在一个独立分区当中。这个分区格式是Android自行制定的格式。
Android开发时,最标准的做法是重新编译于内核和根文件系统,然后调用Android给的命令行文件mkbootimg(out/host/linux-x86/bin/)来打包。
在制作手机ROM时,有时会单独编译内核或抽出根文件进行修改内容,比如我只编译内核,其余的地方不变。这样重新安装巨大的Android开发环境实在不划算。因此很多boot.img解包工具被人开发出来,这一些工具都是把内核和根文件系统从一个现成的boot.img抽取出来,修发后再次打包还原。
一.常见的解包工具
因为boot.img的格式比较简单,它主要分为三大块(有的可能有四块)
因此很多人开发分析工具,有是linux shell脚本,比如repack-zImage,也有人采用perl,还有C语言编写的 unbootimg,
我使用的是在源码位置system/core/mkbootimg/ 下的 mkbootimg。为了简化,蓝点工坊把与mkbootimg中打包工具和解包工具以及所包含的libmincrpty库抽出来,并且重写一个Makefile,作为开源项目。
使用者只需要在linux(需安装gcc,make,一般是标配)或windows(需要安装mingw)的命令行执行make,即可产生可执行文件mkbootimg ,unpackbootimg。
二.解/打包工具使用
解包工具:unpackbootimg
常见格式
unpackbootimg -i .\tmp\boot.img -o .\out
这一句命令行表示把boot.img解包,所有文件输出到out目录下
它会解压出如下文件:
boot.img-zImage (内核文件)
boot.img-ramdisk.gz (根文件系统打包文件)
boot.img-cmdline (mkbootimg cmdline参数)
boot.img-pagesize (mkbootimg pagesize参数)
boot.img-base (mkbootimg base参数)
打包工具:mkbootimg (Android自带)
常见的命令格式:
./mkbootimg --cmdline 'no_console_suspend=1 console=null' --kernel zImage --ramdisk boot/boot.img-ramdisk.gz -o boot.img --base 02e00000
这句含义是把内核文件zImage和boot目录下的根文件压缩包 boot.img-ramdisk.gz打包成boot.img.
其中cmdline和base的值均来源于unpackbootimg的结果
⑼ 怎么通过自己编译的linux内核去启动安卓系统或其他系统
你需要专门的刷机工具了吧。手机启动流程是这样的:bootloader->内核->android
framework->app,如果你把内核干掉,做个新的,只能在bootloader上对内核分区进行烧写。
⑽ 如何编译一个可以烧写进手机中的ROM,Android安卓开发者
首先.还是跟其它文章讲的一样.先下载ANDORID的源码.在下源码之前.请看下面第一步
----------
增加代码,下真机配置
1
vim .repo/local_manifest.xml
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project path="kernel" name="kernel/msm" revision="refs/heads/android-msm-2.6.29"/>
<project path="hardware/htc/dream" name="platform/hardware/htc/dream" revision="master"/>
</manifest>
增加上面这段代码,为一个配置.告诉服务器.我们下的代码.是要装进真机的.
(就为了多下载一个KERNEL下来。。还有下载DREAM的真机配置参数..)
小哈在这里折腾了很久.很久..非常久..回忆起来内牛满面
-----
下相关的代码
2.
repo sync
-----
3.
vim env_rc
加入:
export EMU=/home/coconut/cupcake/out/host/linux-x86/bin
export ARCH=arm
export CROSS_COMPILE=arm-eabi-
export PATH=$PATH:/home/coconut/cupcake/prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/bin:${EMU}
source env_rc
4.
编译内核及无线网络驱动
$ cd $ANDROID/kernel
$ make ARCH=arm CROSS_COMPILE=../prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi- msm_defconfig # 设定默认的msm配置
#编译内核
make ARCH=arm CROSS_COMPILE=../prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi-
#编译无线网络驱动
cd $ANDROID/system/wlan/ti/sta_dk_4_0_4_32
make ARCH=arm CROSS_COMPILE=$ANDROID/prebuilt/linux-86/toolchain/arm-eabi-4.4.0/bin/arm-eabi- KERNEL_DIR=$ANDROID/kernel
//内核拷到目录下
$ cp $ANDROID/kernel/arch/arm/boot/zImage $ANDROID/vendor/htc/dream-open/kernel
$ cp $ANDROID/system/wlan/ti/sta_dk_4_0_4_32/wlan.ko $ANDROID/vendor/htc/dream-open/wlan.ko
5.
在HTC网站(developer.htc.com/adp.html)
下载名为signed-dream_devphone_userdebug-ota-14721.zip的包,并把它放在$ANDROID目录下
$ cd $ANDROID
$ source build/envsetup.sh
$ lunch aosp_dream_us-eng # 指明机型
这样编译出来.就会在OUT下出来一个DREAM_OPEN的目录.里面就有相关的镜像文件了.
$ cd vendor/htc/dream-open
$ ./unzip-files.sh # 解压htc相关驱动
$ cd $ANDROID
$ vi buildspec.mk # 新建配置文件
----
Vim htc_dream.mk
vim /oracle/android/src/vendor/htc/dream-open/htc_dream.mk
在头部增加
PRODUCT_PACKAGES := \
Calculator \
Email \
ImProvider \
SdkSetup \
VoiceDialer
完成。
回到根目录
cd /oracle/android/src
vim buildspec.mk
加入( 2010.7.7 不需要加入):
#TARGET_PRODUCT:=htc_dream
#TARGET_PREBUILT_KERNEL:=kernel/arch/arm/boot/zImage
增加:
CUSTOM_LOCALES:=zh_CN
然后:
其中增加环境:
ubuntu 8.10 , sudo apt-get libelf-dev
make clean
// 保证PC有 1280 内存, 加上 1000 SWAP空间..虚拟机也是如此.
然后开始编译 BOOT.IMG SYSTEM.IMG USERDATA.IMG:
make -j2
接下来
mmm -B $ANDROID/packages/apps/Luancher/ snod
cd out/target/proct/dream-open/
//先测试:
emulator -system . -kernel ~/cupcake/prebuilt/android-arm/kernel/kernel-qemu -data userdata.img
因为出来了BOOT.IMG.这个是真机的..所以不能用BOOT做为内核.要用模拟器来做内核.
//然后开始烧机
fastboot flash boot boot.img
fastboot flash system system.img
fastboot flash userdata userdata.img
fastboot reboot