Dear Sir, 
 
I got a problem after I copied system.img to /.android/avd/AVD_NAME/ and 
renamed it to system-qemu.img.
After I pressed "start" button from AVD Manager to start the emulator the 
error message "Missing initial system image path" is shown.
 
I tried to trace the code found that in main.c 
(external/qemu/android/main.c)
        if (rwImage != NULL) {
            /* Use the read/write image file directly */
            hw->disk_systemPartition_path     = rwImage;
            hw->disk_systemPartition_initPath = NULL;
            D("Using direct system image: %s", rwImage);
        } else if (initImage != NULL) {
            hw->disk_systemPartition_path = NULL;
            hw->disk_systemPartition_initPath = initImage;
            D("Using initial system image: %s", initImage);
       }
it initalizes the hw->disk_systemPartition_path and 
hw->disk_systemPartition_initPath.
 
In vl-android.c (external/qemu)
    /* Initialize system partition image */
    {
        char        tmp[PATH_MAX+32];
        const char* sysImage = android_hw->disk_systemPartition_path;
        const char* initImage = android_hw->disk_systemPartition_initPath;
        uint64_t    sysBytes = android_hw->disk_systemPartition_size;
         ...
        if (sysImage && *sysImage) {
            if (filelock_create(sysImage) == NULL) {
                fprintf(stderr,"WARNING: System image already in use, 
changes will not persist!\n");
                /* If there is no file= parameters, nand_add_dev will create
                 * a temporary file to back the partition image. */
            } else {
                pstrcat(tmp,sizeof(tmp),",file=");
                pstrcat(tmp,sizeof(tmp),sysImage);
            }
        }
        if (initImage && *initImage) {
            if (!path_exists(initImage)) {
                PANIC("Invalid initial system image path: %s", initImage);
            }
            pstrcat(tmp,sizeof(tmp),",initfile=");
            pstrcat(tmp,sizeof(tmp),initImage);
        } else {
            PANIC("Missing initial system image path!");
        }
        nand_add_dev(tmp);
    }
It will check system-qemu.img is exist or not then check system.img is 
exist or not.
 
My question is why the initImage path is null then the emulator is died ?
 
Should this checking rule be modified to 
 
if (sysImage && *sysImage) {
}
else if (initImage && *initImage) {
}
else {
}
 
Please kindly help me to solve this problem.
 
TKS & Regards,
MIKE
顯示省略的內容 
 尊敬的Andr​​oid模擬器開發, 
 我有一個問題後,我複製的system.img到/ .android / AVD / / AVD_NAME的的,並改名為系統qemu.img的。 
當我按下“開始”按鈕從AVD Manager啟動模擬器錯誤消息“缺少初始系統映像路徑”字樣。 
 我試圖跟踪代碼發現,在main.c中(外部/的qemu的/ Android / main.c中) 
(rwImage!= NULL){ 
/ *使用讀/寫映像文件直接* / 
HW-> disk_systemPartition_path = rwImage; 
HW-> disk_systemPartition_initPath = NULL; 
D(“直接使用系統映像:%S”,rwImage); 
的} else if(initImage!= NULL){ 
HW-> disk_systemPartition_path = NULL; 
HW-> disk_systemPartition_initPath = initImage; 
D(“使用系統初始圖像:%S”,initImage); 
} 
initalizes HW-disk_systemPartition_path的和HW-> 
disk_systemPartition_initPath的。 
 VL-android.c的(外部/ QEMU) 
/ *初始化系統分區映像* / 
{ 
字符TMP [PATH_MAX +32]; 
為const char * sysimage下= android_hw - > disk_systemPartition_path; 
為const char * initImage = android_hw - > disk_systemPartition_initPath; 
uint64_t sysBytes = android_hw> disk_systemPartition_size; 
... 
(sysimage下&& * sysimage下){ 
(filelock_create(sysimage下)== NULL){ 
fprintf(stderr的,“警告:系統映像已經在使用中,變化不會堅持!\ N”); 
/ *如果是沒有文件=參數,nand_add_dev的創建
*一個臨時文件,備份分區映像。 * / 
} { 
pstrcat(TMP,sizeof(TMP)的“文件”); 
pstrcat(TMP,大小(TMP),sysimage下); 
} 
} 
如果(* initImage && initImage){ 
如果(!path_exists(initImage)){ 
PANIC的(“無效初始系統映像路徑:%S”,initImage); 
} 
pstrcat(TMP,大小(TMP),“,initfile =”); 
pstrcat(TMP,大小(TMP),initImage); 
} { 
恐慌(“缺少初始系統映像路徑!”); 
} 
nand_add_dev(TMP); 
} 
它會檢查系統qemu.img存在或不是那麼檢查的system.img存在與否。 
 我的問題是,為什麼的initImage路徑為null,則模擬器死了嗎? 
 如果這個檢查規則進行修改,以
 (sysimage下&& * sysimage下){ 
} 
否則 ,如果(* initImage && initImage){ 
} 
其他{ 
} 
 請幫我解決這個問題。 
 蒂森克虜伯和問候, 
MIKE 
     

-- 
-- 
unsubscribe: android-porting+unsubscr...@googlegroups.com
website: http://groups.google.com/group/android-porting

--- 
You received this message because you are subscribed to the Google Groups 
"android-porting" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to android-porting+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to