dual boot – cellphone
5 ביולי, 2008 | מאת doron |למי שזוכר את התקרית עם הבקבוק אקונומיקה ..
היום חזרתי לנסות לסדר את הנושא של dual boot בטלפון ..
הוצאתי את כרטיס ה Micro SD והכנסתי אותו עם מתאם לקורא כרטיסים .. במחשב הוא זוהה כמובן כ scsi disk , ולמעשה ניגשתי לעבודה .
חילקתי אותו ל 2 מחיצות, אחת בגודל 8M מסוג fat אשר בתוכה אמור להיות ה kernel .
והשניה מסוג ext3 אשר הכילה את יתרת שטח הדיסק .
בעיקרון ה SD מזוהה במערכת כ /dev/mmcblk0 כאשר בניתי עליו כאמור 2 מחיצות שנקראות :
/dev/mmcblk0p1 ו- /dev/mmcblk0p2 .
אל המחיצה הראשונה העתקתי את קובץ ה bin של ה kernel ואל המחיצה השניה ( ה / ) העתקתי את כל מערכת הקבצים ..
כמובן איתחלתי את המכשיר מ NAND וביצעתי boot מתוך ה SD card ..
ה kernel התחיל לעלות (וגם סיים ) אבל הגעתי למצב של kernel panic , הסיבה היא שהוא לא זיהה את המחיצה mmcblk0p2 כמחיצת ה root של המערכת .. למעשה לא זיהה לטענתו את /dev/mmcblk0p2 .
למעשה המשחק הזה יצר מצב שלא רק שה kernel לא הצליח לזהות את מחיצת השורש .. איך שהוא הצלחתי לפגוע במערכת הפעלה שכבר היתה קיימת על ההתקן – כך ש boot לחלוטין לא הצליח יותר (המערכת עלתה ואחרי 88% קרסה ) ..
למזלי ה NAND וה NOR לא נפגעו .. כך שעכשיו אני צורב את המערכת מחדש (ומחזיק אצבעות שבאמת לא נדפק שם משהו מהותי .. כי אין לי לוח debug ) .
אוקיי .. הבעיה היתה בפרמטרים שגויים שהיו מוגדרים ב u-boot שנמצא על ה NAND .
השתמשתי ב patch של Neng-Yu Tu (Tony Tu) , מצורף לפוסט הזה כקובץ env.new .
יש לצרוב אותו בעזרת :
./dfu-util -a u-boot_env -R -D env.new
עכשיו זה עובד ..
במאמר מוסגר אפשר לציין שכמעט את הכל אפשר להחליף ולתקן במערכת לבד מה NOR או למעשה ה bootloader .. בשבילו צריך לוח על מנת לחברו אותו אליו ולהתקין לתוכו תוכנה אחרת ..
למי שישאל את עצמו "למה בכלל צריך טלפון סלולארי עם dual boot ? " התשובה היא כמובן למצבים שבהם המערכת הסטנדרטית לא מתפקדת מאיזושהיא סיבה .. תוך כדי שלא נמצאים באיזור שבו ניתן להתקים מחדש או לתקן את הבעיה ..פשוט מכניסים למכשיר SD חליפי ומאתחלים ממנו ..
