פיתוח Custom ROM ו-Android Internals: מתי צריך לרדת לעומק Stack
22/05/2026

99% מהפרויקטים שמשתמשים במילה "אפליקציית אנדרואיד" באמת זקוקים לאפליקציית user-space רגילה שרצה על Android סטנדרטי. 1% הנותר — מערכות מאובטחות עבור ארגונים, מכשירים תעשייתיים ייעודיים, מוצרי OEM ממותגים, מערכות ביטחוניות, ופלטפורמות סייבר — מצריך משהו אחר לגמרי: פיתוח Custom ROM ו-Android Internals. במאמר הזה ננסה להסביר מתי באמת צריך לרדת לעומק הסטאק, ומה זה דורש בפועל. iGates עוסקת בתחום הזה כבר מעל 15 שנה, וביצעה את ה-R&D עבור הפלטפורמה של Consensio Cyber Security — אחת הדוגמאות המוצלחות בשוק הישראלי לפלטפורמת אבטחה שנבנתה על AOSP מותאם.
מה זה Android Internals ו-Custom ROM?
"Android Internals" הוא השם הכללי לעבודה ברמת מערכת ההפעלה של אנדרואיד — בניגוד לפיתוח אפליקציה שרצה עליה. כשאתה פותח אפליקציה עם Kotlin או Java, אתה משתמש ב-Android SDK ופועל מעל ל-framework. כשאתה עובד ב-Android Internals אתה כותב את ה-framework עצמו, את ה-HAL, את שכבת הקרנל, או את ה-system services שמספקים את ה-API שאפליקציות רגילות צורכות.
"Custom ROM" הוא תוצר של עבודת Android Internals: build מותאם של AOSP (Android Open Source Project) שכולל שינויים ברמת המערכת — kernel ייעודי, framework מותאם, HAL לחומרה ספציפית, מדיניות SELinux מחמירה, חבילות ייעודיות שמותקנות מראש, removal של רכיבים שלא רצויים, ולוגיקת אבטחה מובנית בתוך מערכת ההפעלה ולא מעליה. LineageOS ו-GrapheneOS הם דוגמאות פתוחות; אבל המודל הרציני מבחינה ארגונית הוא Custom ROM ייעודי לחומרה ספציפית עם תהליך עדכוני אבטחה ארוך-טווח.
מתי באמת צריך Custom ROM?
זאת אחת השאלות שהכי חשוב להבין לפני שמתחילים פרויקט יקר ומתמשך. שש דוגמאות שבהן Custom ROM הוא הפתרון הנכון:
1. מערכות סייבר על Android. כאשר המוצר עצמו הוא פתרון אבטחה — secure communications, MDM משולב, forensics-resistant devices, secure containers — אי אפשר לבסס אותו על Android סטנדרטי. צריך לשלוט בכל שכבה: kernel, SELinux, framework, מנגנוני זיהוי, התקנת אפליקציות. דוגמה: הפלטפורמה של Consensio שיצא ממעבדת ה-R&D של iGates.
2. מכשירים תעשייתיים ייעודיים. POS terminals, מכשירי שטח חיצוניים, סורקים, kiosks. הצורך: למחוק את כל ה-UX הסטנדרטי של אנדרואיד, להתקין אפליקציה אחת כממשק יחיד, למנוע ממשתמשי קצה לצאת ממנה, ולהבטיח קיוסק מצב. Single-app mode דורש framework-level changes.
3. OEM customization. יצרני חומרה (שעוני חכמים, מכשירי טאבלט עם use-case ייעודי, רכבים, מסכי-קצה) דורשים Android שעבר branding, פיצ׳רים ייחודיים, ולעיתים integration עם רכיבי חומרה שלא קיימים במכשיר אנדרואיד טיפוסי.
4. הקשחת מכשירים לארגונים בריאות, פיננסים, ביטחון. דרישות compliance (HIPAA, PCI, ISO 27001, חוק הגנת הפרטיות) שדורשות מעבר ל-MDM, כלומר אבטחה מובנית בתוך הקושחה.
5. מערכות ביטחוניות. מכשירי שטח לכוחות, secure handhelds, רדיו עם UI Android — דרישות סיווג שלא ניתנות לטיפול עם MDM בלבד.
6. IoT עם ממשק Android. בקרים תעשייתיים עם מסך מגע, פלטפורמות smart home, ציוד רפואי עם UI — כאשר הצורך הוא "אנדרואיד למכשיר אחד, לא לטלפון."
הצד השני של אותה שאלה: מתי לא צריך Custom ROM? כשהפתרון אפשרי דרך MDM (Microsoft Intune, Jamf Now, Hexnode), Work Profile של אנדרואיד, או Managed Google Play. אלה פתרונות זולים יותר, מהירים יותר, ולא דורשים תחזוקה של ROM. ב-iGates אנחנו ממליצים בכנות על MDM כשזה מספיק — Custom ROM נכון רק כשמשהו במכשיר חייב להיות שונה ברמה שאי אפשר להגיע אליה דרך policies.
הסטאק הטכני — מה נכלל ב-Android Internals
AOSP base (Android Open Source Project — Google's source tree) Linux kernel עם Android-specific patches כמו binder, ashmem, low memory killer ו-wakelocks Bootloader כמו U-Boot, Little Kernel או Tianocore for ARM Hardware Abstraction Layer (HAL), כולל Camera HAL, Audio HAL, GPS HAL, Sensors HAL ו-Treble Native daemons כמו init, ueventd, vold, surfaceflinger ו-mediaserver System Server — הלב של Android: Activity, Window, Power ועוד Android Framework — ה-API שאפליקציות Java/Kotlin צורכות System apps — launcher, settings, dialer, contacts SELinux policy — mandatory access control על כל המערכת
עבודת Android Internals יכולה לגעת בכל אחת מהשכבות. דוגמאות מהשטח:
- Kernel customization: פיתוח driver חדש לחומרה ייעודית (חיישנים, רדיו, מצלמה non-standard), tuning של real-time performance, או שילוב של מנגנוני אבטחה ברמת ה-kernel (kASLR, KPTI, custom LSM modules).
- HAL development: כאשר היצרן של רכיב חומרה לא סיפק HAL, או שה-HAL הקיים לא מתאים. עבודה ב-AIDL/HIDL לפי גרסת ה-Android.
- Framework modifications: שינויים ב-System Server להוספת permissions ייעודיים, behavior changes לפי policy ארגוני, או הצגת UI אחר ב-system surfaces.
- SELinux policy: כתיבת policy מותאמת שתאכפת את model האבטחה של המוצר. אחת השכבות הקריטיות במוצרי סייבר.
- System apps: החלפת launcher, blocking של app installation מחנויות, פיצ׳רים מנהליים פנימיים.
- OTA system: בניית מנגנון עדכוני אבטחה לטווח ארוך עם signed updates ו-rollback.
הניסיון של iGates ב-Android Internals — Consensio ומעבר
iGates עוסקת ב-Android Internals כבר מעל 15 שנה — מהימים של Android 2.x ועד היום. השירותים שלנו בתחום כוללים פיתוח Custom ROM מהיסוד, התאמת AOSP לחומרה חדשה, פיתוח HAL ל-peripherals שלא נתמכים, הקשחת SELinux ל-defense-grade, ובניית מערך עדכונים ארוך-טווח.
הדוגמה המרכזית מהשנים האחרונות היא הפלטפורמה של Consensio Cyber Security. iGates הייתה אחראית על ה-R&D של הפתרון — שילוב Android Internals, custom kernel work, SELinux hardening, ו-framework modifications לתוך מוצר אבטחה שלם. הניסיון הזה הוא רחוק מטריוויאלי בקנה מידה הישראלי: רוב חברות הסייבר הישראליות בונות אפליקציות אנדרואיד שיושבות על המערכת. לבנות מוצר סייבר שמתערב בתוך המערכת — זה משחק אחר לגמרי, שדורש שילוב של ידע ב-AOSP, ב-kernel, ב-cryptography, וב-policy engineering.
תהליך פיתוח Custom ROM ב-iGates
תהליך טיפוסי מתחיל ב-feasibility study של 3-4 שבועות שמסכם: על איזה chipset/SoC המוצר רץ, איזה kernel base זמין, מה ה-vendor BSP אומר, איך גרסת אנדרואיד תיתמך לטווח ארוך, ומה אילוצי האבטחה והקומפליאנס. ה-feasibility מספק לפעמים מסקנה לא-טריוויאלית: "מה שאתה מתכנן עדיף לעשות ב-MDM, וזה הסיבה."
אחרי feasibility:
- AOSP base selection — איזו גרסה (Android 14, 15, 16), איזה branch (LTS שעוד נתמך?), ואיזו vendor base (Qualcomm, MediaTek, Samsung Exynos, או generic).
- Hardware bring-up — אם זה לוח חדש, או אם החלפנו את ה-OS לחלוטין. כולל drivers, HAL, ו-Device Tree.
- Customization layer — מה משתנה ב-system server, ב-framework, ב-system apps. כולל UI, behavior, permissions.
- Security hardening — SELinux policy, verified boot setup, signature chain, key management.
- OTA infrastructure — בניית מנגנון signed-update עם בדיקות, rollback, ומנגנון אבטחה ארוך-טווח.
- CI/CD ל-ROM — automation של AOSP builds (אלפי שעות הידור לכל גרסה), tests, deployment.
- תחזוקה לטווח ארוך — Android security bulletins חודשיים מ-Google, kernel CVE patches, vendor updates. מערכת בלי תהליך הזה מתבגרת מהר.
איך זה נראה בעלות וזמן?
לסדר גודל בלבד (נוסחה תלויה מאוד בהיקף ובחומרה):
- POC ROM על reference hardware: 3-4 חודשים, 250K-500K ש"ח
- Production ROM מלא עם OTA וכ-3-5 שינויים משמעותיים מ-stock: 8-14 חודשים, 800K-2M ש"ח
- פלטפורמת אבטחה מלאה עם defense-grade hardening, custom kernel work, ו-multi-year support contract: 18+ חודשים, גדל מ-2M ש"ח לפי scope
זה משחק יקר. הסיבה: AOSP builds עצמם דורשים אלפי שעות מחשב, כל שינוי בקרנל דורש בדיקות יסודיות, וכל גרסה חדשה של אנדרואיד דורשת merge מורכב.
סיכום
Custom ROM ו-Android Internals הם דיסציפלינות נדירות יחסית בשוק הישראלי. הן רלוונטיות רק כשמוצר באמת לא יכול לרוץ על Android סטנדרטי + MDM — קרי, כשהמוצר עצמו מתערב בתוך מערכת ההפעלה (סייבר, defense, OEM, מכשירי תעשייה). iGates עם 15 שנות ניסיון בתחום היא אחת הכתובות המעטות בארץ שיכולה לקחת פרויקט כזה מ-feasibility ועד למוצר במדף, כולל ה-support ארוך-הטווח שלאחר ההשקה. אם אתם שוקלים פלטפורמה שיושבת בתוך אנדרואיד ולא מעליה — שיחה ראשונית של 30 דקות עם הצוות שלנו תחסוך לכם חודשים של ניסוי וטעיה.
מאמרים ושירותים קשורים
FAQ
מה ההבדל בין פיתוח אפליקציה ל-Android לבין Android Internals?
פיתוח אפליקציה רץ מעל למערכת ההפעלה — Kotlin או Java שמשתמשים ב-Android SDK ופועלים עם API שה-framework מספק. Android Internals זו עבודה ברמת המערכת עצמה: kernel customization, HAL development, שינויים ב-framework וב-System Server, SELinux policy. זאת דיסציפלינה הרבה יותר נדירה — מצריכה הבנה של AOSP, של Linux kernel, ושל ארכיטקטורת Android Treble. ב-iGates 15+ שנות ניסיון בתחום.
מתי כדאי Custom ROM ומתי MDM?
MDM פותר את רוב הצרכים של management ארגוני: device policies, application control, encryption enforcement, remote wipe. Custom ROM נדרש כשהדרישה יורדת לרמת ה-system — מוצר סייבר שמתערב במערכת ההפעלה, single-app mode מלא לקיוסק, OEM customization, או defense-grade hardening שדורש שינויים ב-kernel וב-SELinux. ב-iGates אנחנו ממליצים בכנות על MDM כשזה מספיק.
מה זה Treble ולמה זה שינה את המשחק?
Treble, שהוצג ב-Android 8 בשנת 2017, מפריד בין system partition ל-vendor partition. ה-vendor partition מכיל את ה-HAL ואת ה-drivers הספציפיים לחומרה, וה-system partition הוא ה-AOSP הגנרי. ההפרדה מאפשרת לעדכן את ה-system בלי לגעת ב-vendor, ולכן היא מקלה משמעותית על תהליך עדכוני אבטחה ארוך-טווח לפלטפורמות Custom ROM.
האם אפשר לבנות Custom ROM על מכשירים מסחריים?
Pixel הוא המכשיר הכי ידידותי ל-Custom ROM כי Google מפרסמים את ה-AOSP sources לכל מכשיר Pixel. Samsung, OnePlus ומכשירים אחרים אפשריים לפעמים אך מורכבים יותר בגלל bootloader unlock policies ו-Knox במקרה של Samsung. ברוב הפרויקטים שלנו, לקוחות עם דרישות סייבר רציניות בוחרים hardware ייעודי או OEM partnership.
כמה זמן ייקח לפתח Custom ROM?
POC על reference hardware נמשך בדרך כלל 3-4 חודשים. Production ROM עם OTA ו-3-5 שינויים משמעותיים נמשך 8-14 חודשים. פלטפורמת סייבר מלאה עם defense-grade hardening יכולה להגיע ל-18+ חודשים. תמיד מתחילים מ-feasibility study של 3-4 שבועות שמסכם זמנים ועלויות לפני התחייבות מלאה.
מה זה SELinux ולמה הוא חשוב ב-Custom ROM?
SELinux הוא Mandatory Access Control system שמובנה בכל מכשיר Android מאז Android 5. הוא קובע איזה process יכול לקרוא איזה קובץ, אילו syscalls מותרים לכל process, ומה ה-blast radius של הפרת אבטחה. ב-Custom ROM צריך לכתוב SELinux policy מותאמת שתאכפת את model האבטחה של המוצר.



