⑴ 有手機的源代碼,如何編譯安卓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