- כרטיס SD (השתמשתי ב-1G)
- מחשב נייד עם קורא כרטיסי SD
- מחשב כף יד IPAQ 4150
<img alt="IPaq, SD and laptop" src="/whatsup/images/articles/t_ipaq_sd_laptop.jpg">
לצורך הבדיקה, החלטתי להתקין בתצורת דואל-בוט עם מערכת ההפעלה הקיימת. אמנם ישנה אפשרות להחליפה (שימוש ב-image של jffs2) אך זה מסורבל יותר ובעל סיכויים רבים להפיכת המכשיר לאבן שאין לה הופכין. ישנה גם אפשרות להתקנת Ram Disk עם loopback.
שימו לב, ההתקנה שקולה ל-Hard Reset אשר מוחק את כל הקיים במחשב כף היד. אם יש לכם מידע עליו, חובה לגבות בצורה מלאה.
ההפצה שמשמשת לצורך העניין היא Ångström, שהחלה ע"י קבוצה קטנה של אנשים אשר עבדו על פרוייקטים שונים (כמו OpenZaurus) בניסיון ליצור הפצה יציבה וידידותית יחסית עבור מערכות Embedded.
החלטתי להשתמש בגרסה היציבה, והורדתי
את הקבצים המתאימים לחומרה שלי. הקבצים:
- Angstrom-boot-2.6.21-hh20-r6-h4000.exe
- Angstrom-x11-image-glibc-ipk-2007.12-h4000.rootfs.tar.gz
- startup.txt
- zImage-2.6.21-hh20-r6-h4000.bin
ישנם מספר סוגי images בהתאם למותקן מראש בהן (סביבת קונסול בלבד, סביבה גרפית מינימלית וכן הלאה), בחרתי בזו של x11 שהיא די מלאה.
יש לחלק את כרטיס ה-SD לשתי מחיצות, אחת FAT קטנה לקרנל והקבצים הדרושים לאתחול, והשאר ל-ext2 אשר אליה נפרוס את את ה-image. זו גם התצורה המוגדרת מראש בקובץ startup.txt אשר קובע את פרמטרי האתחול ואינו מצריך כלל שינויים.
כאשר הכנסתי את הכרטיס למחשב הנייד הוא עוגן אוטומטית עם מערכת הקבצים שהייתה עליו. ביטלתי את העגינה, וחילקתי את המחיצות על ההתקן (/dev/mmcblk0). לאחר החלוקה טבלת המחיצות נראתה כך:
# fdisk -l /dev/mmcblk0
Disk /dev/mmcblk0: 1023 MB, 1023934464 bytes
4 heads, 16 sectors/track, 31248 cylinders
Units = cylinders of 64 * 512 = 32768 bytes
Disk identifier: 0x00043429
Device Boot Start End Blocks Id System
/dev/mmcblk0p1 1 1526 48824 b W95 FAT32
/dev/mmcblk0p2 1527 31248 951104 83 Linux
כמובן שכעת יש ליצור את מערכות קבצים:
mkfs.vfat /dev/mmcblk0p1
mkfs.ext2 /dev/mmcblk0p2
עם סיום הפקודה מעגנים את מערכות הקבצים (במקרה ומתעצלים אפשר פשוט לשלוף את הכרטיס ולהכניסו שוב), ומעתיקים את הקבצים הדרושים לאתחול למחיצת ה-FAT (כל הנ"ל חוץ מה-image), ואת קובץ ה-tar פותחים למחיצת ה-ext2:
tar zxpf Angstrom-x11-image-glibc-ipk-2007.12-h4000.rootfs.tar.gz -C /media/disk-1
המיקום אליו מעוגנת המחיצה שלכם עשוי להיות שונה. לא לשכוח להשתמש בדגל ה-p עבור הפקודה כדי לשמור על הרשאות הקבצים.
מחיפושים ברשת נראה שיש עוד
מספר הגדרות שיש לבצע בקבצים במחיצה כדי שדברים שונים יעבדו כראוי (כמו ביטול ה-blacklist של מודול הכרטיס האלחוטי).
לאחר ביצוע השינויים, מבטלים את עיגון המחיצות ומכניסים את כרטיס ה-SD למחשב כף היד, מנווטים אליו ומריצים את קובץ ה-exe, מאשרים את הפעולה ומתחיל תהליך האתחול. במהלכו יש לבחור את מחיצה ה-root המבוקשת - זו עם ה-ext2), ולאחריה יופיע ה-splash הגרפי במהלך הטעינה, כיול החרט, הזנת סיסמת root ופרטי המשתמש החדש.
מכיוון שבחרתי ב-image של GPE, ה-toolkit הוא GTK+, וערכת הנושא היא ClearLooks המוכרת.
מנהל החבילות הוא ipkg אשר מזכיר את apt, ובעדכון הראשון שבצעתי היו עדכונים רבים (כולל קרנל ושרת X חדשים). עדכון זה גרם לתקיעה. נראה שיש באגים בשדרוג הקרנל לגרסה הלא יציבה. חזרתי על כל התהליך שוב
והשתמשתי בסקריפט אשר משדרג את כל החבילות למעט התלויות בקרנל (אך על חשבון זמן ריצה ארוך מאוד לעומת שדרוג רגיל).
מאחר וחבילת tzdata לא כוללת את איזור הזמן שלנו, העתקתי את Asia/Tel_Aviv מההפצה הנוכחית שלי למחשב כף היד.
אמנם עובד לאט יותר (מה-SD במקום מהפלאש), אך כיף לקבל כח של מערכת לינוקס די מלאה במחשב קטן שכזה, תוכלו להציץ
במאגרים להתרשמות מאוסף החבילות. נראה שיש גם מאגרים ל-openmoko ו-e17, אולי ננסה בעתיד, שיחקתי מספיק לעת עתה :-) מספר תצלומי מסך לקינוח:
<img src="/whatsup/images/articles/angstrom-home.png" alt="GPE Home">
המסך הראשי
<img src="/whatsup/images/articles/angstrom-pdf.png" alt="PDF Reader">
קורא מסמכי PDF (יש גם Evince)
<img src="/whatsup/images/articles/angstrom-browser.png" alt="Mini Browser">
דפדפן
<img src="/whatsup/images/articles/angstrom-terminal.png" alt="Terminal">
טרמינל