שימוש בלוחות התייחסות

אתה יכול ליצור גירסה עבור מכשירי Nexus ו-Pixel באמצעות בניית Android Open Source Project (AOSP) והקבצים הבינאריים הרלוונטיים הספציפיים לחומרה. לפרטים זמינים ל-Android ומכשירים ממוקדים, ראה תגיות ובניית קוד מקור .

אתה יכול גם ליצור גרסאות עבור DragonBoard 845c , HiKey 960 , Khadas VIM3 ו- Qualcomm Robotics Board RB5 לוחות התייחסות ל-Android, שנועדו לעזור לספקי רכיבים שאינם ניידים לפתח ולהעביר דרייברים לגרסת אנדרואיד. שימוש בלוח ייחוס יכול להקל על מאמצי השדרוג, לצמצם את זמן היציאה לשוק עבור מכשירי אנדרואיד חדשים, להוזיל את עלויות המכשירים על ידי מתן אפשרות ל-ODM/OEMs לבחור מתוך מגוון רחב יותר של רכיבים תואמים, ולהגביר את מהירות החדשנות בקרב ספקי הרכיבים.

גוגל תומכת בלוחות התייחסות ל-DragonBoard 845c , HiKey 960 , Khadas VIM3 ו- Qualcomm Robotics Board RB5 . AOSP מספקת תמיכה במקור ליבה ובלוחות עבור לוחות אלו, כך שמפתחים יכולים ליצור בקלות מנהלי התקנים היקפיים, לבצע פיתוח ליבה ולבצע משימות אחרות עם פחות שעבוד OEM.

DragonBoard 845c

ה-DragonBoard 845c הוא חלק מפלטפורמת RB3 וזמין מ -96boards.org .

תמונה של לוח הדרקון

איור 1. DragonBoard 845c

קומפילציה של מרחב משתמש

השתמש בפקודות הבאות כדי להוריד ולבנות אנדרואיד ב-DragonBoard 845c.

  1. הורד את עץ המקור של אנדרואיד:

    repo init -u https://android.googlesource.com/platform/manifest -b master
    repo sync -j8
    
  2. הורד את חבילת הספק הנוכחית:

    ./device/linaro/dragonboard/fetch-vendor-package.sh
    
  3. בניית AOSP:

    . ./build/envsetup.sh
    lunch db845c-userdebug
    make -j24
    

התקנת תמונות מקומיות

  1. אתחל את db845c למצב מהיר אתחול.

  2. הפעל את הפקודה הבאה:

    ./device/linaro/dragonboard/installer/db845c/flash-all-aosp.sh
    

במידת הצורך, תוכל לבצע שחזור לוח QDL על ידי הפעלת הסקריפט הבא לאחר אתחול db845c במצב מהבהב USB (ראה שחזור DragonBoard ):

./device/linaro/dragonboard/installer/db845c/recovery.sh

בניית הגרעין

כדי לבנות את חפצי ליבה של DragonBoard db845c Android Generic Kernel Image (GKI):

  1. הפעל את הפקודות הבאות כדי לשכפל את מקור הליבה ושרשרת כלי אנדרואיד מובנים מראש ולבנות סקריפטים.

    mkdir repo-common
    cd repo-common
    repo init -u https://android.googlesource.com/kernel/manifest -b common-android-mainline
    repo sync -j8 -c
    rm -rf out
    BUILD_CONFIG=common/build.config.db845c ./build/build.sh
    
  2. מחק את כל האובייקטים ב- ${AOSP_TOPDIR}device/linaro/dragonboard-kernel/android-mainline/ ואז העתק חפצי בנייה מ- out/android-mainline/dist/ ל- ${AOSP_TOPDIR}/device/linaro/dragonboard-kernel/android-mainline/ ואז בנה מחדש את מרחב המשתמש עם:

    make TARGET_KERNEL_USE=mainline -j24
    

    והבזק את המכשיר עם boot.img ו-super.img שנוצרו (ראה קומפילציה של מרחב משתמש).

  3. בדוק את ליבת GKI:

    1. הצג את המבנה האחרון של kernel_aarch64 .

    2. ב- Artifacts , הורד תמונה.

    3. Gzip את התמונה

      gzip Image
      
    4. העתק אותו אל ${AOSP_TOPDIR}/device/linaro/dragonboard-kernel/android-mainline/ .

    5. בנה מחדש את AOSP והבזק את ההתקן עם ה-boot.img החדש (ראה הידור מרחב משתמש).

לוחות HiKey 960

לוח HiKey 960 זמין מאמזון ו- Lenovator .

תמונת לוח HiKey 960

איור 2. לוח HiKey 960 מאת Lenovator

קומפילציה של מרחב משתמש

השתמש בפקודות הבאות כדי להוריד ולבנות אנדרואיד בלוח HiKey 960.

  1. הורד את עץ המקור של אנדרואיד

    repo init -u https://android.googlesource.com/platform/manifest -b master
    repo sync -j8
    
  2. הורד את חבילת הספק הנוכחית

    ./device/linaro/hikey/fetch-vendor-package.sh
    
  3. לִבנוֹת

    . ./build/envsetup.sh
    lunch hikey960-userdebug
    make -j24
    

התקנת תמונות מקומיות

  1. בחר מצב אתחול מהיר על ידי הפעלת מתג ON 3 (לפרטים, עיין במדריך ההתחלה של HiKey 960 ).

  2. הפעל את הלוח.

  3. תמונות מקומיות פלאש:

    ./device/linaro/hikey/installer/hikey960/flash-all.sh
    
  4. כבה את מתג הכיבוי 3 והפעל את הלוח בהפעלה.

בניית הגרעין

כדי לבנות את חפצי ליבת HiKey960 Android GKI:

  1. הפעל את הפקודות הבאות:

    mkdir repo-common
    cd repo-common
    repo init -u https://android.googlesource.com/kernel/manifest -b common-android12-5.4
    repo sync -j8 -c
    rm -rf out
    BUILD_CONFIG=common/build.config.hikey960 build/build.sh
    
  2. מחק את כל האובייקטים ב- ${AOSP_TOPDIR}device/linaro/hikey-kernel/hikey960/5.4/ ולאחר מכן העתק חפצי בנייה מה-Kernel build in out/android12-5.4/dist/ ל- ${AOSP_TOPDIR}/device/linaro/hikey-kernel/hikey960/5.4/

  3. שרשור את ה-DTB:

    cat device/linaro/hikey-kernel/hikey960/5.4/Image.gz
    device/linaro/hikey-kernel/hikey960/5.4/hi3660-hikey960.dtb  > 
    device/linaro/hikey-kernel/hikey960/5.4/Image.gz-dtb
    
  4. בניית מרחב משתמש של אנדרואיד

    lunch hikey960-userdebug
    make TARGET_KERNEL_USE=5.4 HIKEY_USES_GKI=true -j24
    

    והבזק את המכשיר עם הליבה החדשה (ראה קומפילציה של מרחב משתמש)

  5. בדוק את הליבה Generic Kernel Image (GKI).

    • הצג את המבנה האחרון של kernel_aarch64 .

    • בחפצים , הורד קובץ Image והעתק אותו אל ${AOSP_TOPDIR}/device/linaro/hikey-kernel/hikey960/5.4/ .

    • דחוס את התמונה ושרשר את ה-DTB

    gzip ${AOSP_TOPDIR}/device/linaro/hikey-kernel/hikey960/5.4/Image
    cat ${AOSP_TOPDIR}/device/linaro/hikey-kernel/hikey960/5.4/Image.gz
    ${AOSP_TOPDIR}/device/linaro/hikey-kernel/hikey960/5.4/hi3660-hikey960.dtb  >
    ${AOSP_TOPDIR}/device/linaro/hikey-kernel/hikey960/5.4/Image.gz-dtb
    
    • בנה והבזק את המכשיר עם הליבה החדשה (ראה קומפילציה של מרחב משתמש).

הגדרת המספר הסידורי

כדי להגדיר את המספר הסידורי האקראי, הפעל:

  fastboot getvar nve:SN@16\_DIGIT\_NUMBER

טוען האתחול מייצא את המספר הסידורי שנוצר לקרנל באמצעות androidboot.serialno= . פרמטר זה מועבר דרך שורת הפקודה של הליבה באנדרואיד 11 ומטה, ודרך bootconfig באנדרואיד 12 עם גרסת ליבה 5.10 ומעלה.

הגדרת רזולוציית צג

ערוך את device/linaro/hikey/hikey960/BoardConfig.mk BOARD_KERNEL_CMDLINE והגדר את הגדרת video . לדוגמה, ההגדרה עבור צג 24 אינץ' היא video=HDMI-A-1:1280x800@60 .

לוחות VIM3 ו-VIM3L

לוחות Vim3 ו-VIM3L של Khadas זמינים מאתר Khadas

תמונת לוח VIM3

איור 3. לוח VIM3 מאת Khadas

קומפילציה של מרחב משתמש

השתמש בפקודות הבאות כדי להוריד ולבנות את אנדרואיד בלוח VIM3.

  1. הורד את עץ המקור של אנדרואיד:

    repo init -u https://android.googlesource.com/platform/manifest -b master
    repo sync -j8
    
  2. לִבנוֹת:

    . ./build/envsetup.sh
    lunch yukawa-userdebug
    make TARGET_USE_TABLET_LAUNCHER=true TARGET_VIM3=true -j24
    

    כברירת מחדל, אנדרואיד בנויה עם ליבת 5.10. כדי להשתמש בגרעין 5.4 מראש:

    make TARGET_USE_TABLET_LAUNCHER=true TARGET_VIM3=true TARGET_KERNEL_USE=5.4 -j24
    

    עבור VIM3L, השתמש ב:

    make TARGET_USE_TABLET_LAUNCHER=true TARGET_VIM3L=true -j24
    

התקנת תמונות ראשוניות

  1. הכנס את הלוח למצב שדרוג USB לפי הוראות מהבהבות VIM3 .

  2. פלאש תמונות ראשוניות ל-RAM:

    cd path/to/aosp/device/amlogic/yukawa/bootloader/
    ./tools/update write u-boot_kvim3_noab.bin 0xfffa0000 0x10000
    ./tools/update run 0xfffa0000
    ./tools/update bl2_boot u-boot_kvim3_noab.bin
    
    • אם אתה נתקל בבעיות הרשאה, עיין בסעיף כללי udev כדי להוסיף את כללי ה-USB המתאימים.
    • אם tools/update לא עובדים, השתמש בכלי pyamlboot כדי להבהב את הלוח במקום זאת.
  3. לאחר אתחול U-Boot והפעלת fastboot, הפעל את הפקודות הבאות:

    fastboot oem format
    fastboot flash bootloader u-boot_kvim3_noab.bin
    fastboot erase bootenv
    fastboot reboot bootloader
    
  4. נתק וחבר את כבל החשמל.

הלוח צריך לאתחל לתוך U-boot שזה עתה הבזק ולהיכנס למצב Fastboot.

תמונות מהבהבות

  1. היכנס למצב מהיר אתחול (ראה סעיף קודם להוראות).

  2. פלאש את כל התמונות של אנדרואיד:

    cd out/target/product/yukawa
    fastboot flash boot boot.img
    fastboot flash super super.img
    fastboot flash cache cache.img
    fastboot flash userdata userdata.img
    fastboot flash recovery recovery.img
    fastboot flash dtbo dtbo-unsigned.img
    fastboot reboot
    

בניית הגרעין

כדי לבנות את חפצי הליבה עבור VIM3 או VIM3L:

  1. הורד רשתות כלים נוספות:

    git clone https://android.googlesource.com/platform/prebuilts/gas/linux-x86 ${AOSP_TOPDIR}/prebuilts/gas/linux-x86
    
  2. שכפל את מקור הליבה:

    # for 4.19
    git clone https://android.googlesource.com/kernel/hikey-linaro -b android-amlogic-bmeson-4.19
    # for 5.4
    git clone https://android.googlesource.com/kernel/hikey-linaro -b android-amlogic-bmeson-5.4
    # for 5.10
    git clone https://android.googlesource.com/kernel/hikey-linaro -b android-amlogic-bmeson-5.10
    # for 5.15
    git clone https://android.googlesource.com/kernel/hikey-linaro -b android-amlogic-bmeson-5.15
    
  3. ייצוא משתני בנייה:

    export PATH=${AOSP_TOPDIR}/prebuilts/clang/host/linux-x86/clang-r445002/bin:$PATH
    export PATH=${AOSP_TOPDIR}/prebuilts/gas/linux-x86:$PATH
    export PATH=${AOSP_TOPDIR}/prebuilts/misc/linux-x86/lz4:$PATH
    export ARCH=arm64
    export CROSS_COMPILE=aarch64-linux-gnu-
    export LLVM=1
    
  4. בנה את הקרנל:

    cd hikey-linaro
    make meson_defconfig
    make DTC_FLAGS="-@" -j24
    
  5. דחוס את הליבה והעתק את build_artifacts ל- ${AOSP_TOPDIR}/device/amlogic/yukawa-kernel :

    lz4c -f arch/arm64/boot/Image arch/arm64/boot/Image.lz4
    KERN_VER=4.19 # for 4.19 kernel
    KERN_VER=5.4  # for 5.4 kernel
    KERN_VER=5.10 # for 5.10 kernel
    KERN_VER=5.15 # for 5.15 kernel
    for f in arch/arm64/boot/dts/amlogic/*{g12b-a311d,sm1}-khadas-vim3*.dtb; do
        cp -v -p $f ${AOSP_TOPDIR}/device/amlogic/yukawa-kernel/${KERN_VER}/$(basename $f)
    done
    cp -v -p arch/arm64/boot/Image.lz4 ${AOSP_TOPDIR}/device/amlogic/yukawa-kernel/${KERN_VER}/Image.lz4
    
  6. בנה מחדש את מרחב המשתמש של אנדרואיד (ראה קומפילציה של מרחב משתמש) והבזק את הליבה החדשה (ראה תמונות מהבהבות ).

לוח רובוטיקה של קוואלקום RB5

לוח הרובוטיקה RB5 זמין מ -96boards.org .

rb5_board

איור 4. לוח רובוטיקה RB5

קומפילציה של מרחב משתמש

השתמש בפקודות הבאות כדי להוריד ולבנות אנדרואיד ב-RB5.

  1. הורד את עץ המקור של אנדרואיד:

    repo init -u https://android.googlesource.com/platform/manifest -b master
    repo sync -j8
    
  2. הורד את חבילת הספק הנוכחית:

    ./device/linaro/dragonboard/fetch-vendor-package.sh
    
  3. בניית AOSP:

    . ./build/envsetup.sh
    lunch rb5-userdebug
    make -j24
    

התקנת תמונות מקומיות

  1. אתחל את RB5 למצב אתחול מהיר.

  2. הפעל את הפקודה הבאה:

    ./device/linaro/dragonboard/installer/rb5/flash-all-aosp.sh
    

במידת הצורך, תוכל לבצע שחזור לוח QDL על ידי הפעלת הסקריפט הבא לאחר אתחול RB5 במצב מהבהב USB (ראה שחזור RB5 ):

   ./device/linaro/dragonboard/installer/rb5/recovery.sh

בניית הגרעין

כדי לבנות את פריטי הגרעין של RB5 Android Generic Kernel Image (GKI):

  1. הפעל את הפקודות הבאות כדי לשכפל את מקור הליבה ושרשרת כלי אנדרואיד מובנים מראש ולבנות סקריפטים:

    mkdir repo-common
    cd repo-common
    repo init -u https://android.googlesource.com/kernel/manifest -b common-android-mainline
    repo sync -j8 -c
    rm -rf out
    BUILD_CONFIG=common/build.config.db845c ./build/build.sh
    
  2. מחק את כל האובייקטים ב- ${AOSP_TOPDIR}device/linaro/dragonboard-kernel/android-mainline/ , ולאחר מכן העתק חפצי בנייה מ- out/android-mainline/dist/ ל- ${AOSP_TOPDIR}/device/linaro/dragonboard-kernel/android-mainline/ , ולאחר מכן בנה מחדש את מרחב המשתמש עם:

    make TARGET_KERNEL_USE=mainline -j24
    

    והבזק את המכשיר עם boot.img ו-super.img שנוצרו (ראה קומפילציה של מרחב משתמש).

  3. בדוק את ליבת GKI:

    1. הצג את המבנה האחרון של kernel_aarch64 .
    2. ב- Artifacts , הורד תמונה.
    3. Gzip את התמונה

      gzip Image
      
    4. העתק אותו אל ${AOSP_TOPDIR}/device/linaro/dragonboard-kernel/android-mainline/ .

    5. בנה מחדש את AOSP והבזק את ההתקן עם ה-boot.img החדש (ראה הידור מרחב משתמש).