trout
नाम के एक नए प्रॉडक्ट के ज़रिए, Android Automotive (AAOS) अब सहायता उपलब्ध कराता है
के साथ काम करने वाले एनवायरमेंट में मेहमान वर्चुअल मशीन (वीएम) के तौर पर डिप्लॉयमेंट के लिए
VirtIO
मानक. trout
इस पर आधारित है
कटलफ़िश
वर्चुअल रेफ़रंस प्लैटफ़ॉर्म है. यह trout
डिवाइस कॉन्फ़िगरेशन के तौर पर उपलब्ध है. कॉन्टेंट बनाने
यूज़रस्पेस का सोर्स कोड device/google/trout
पर मिल सकता है. टेबल
नीचे उस टेक्नोलॉजी के बारे में बताया गया है जिसका इस्तेमाल trout
में, हर सबसिस्टम को वर्चुअलाइज़ करने के लिए किया जाता है.
सुविधा | टेक्नोलॉजी |
---|---|
ऑडियो कंट्रोल एचएएल | vsock/gRPC |
ऑडियो एचएएल | virtio-snd |
ब्लूटूथ | virtio-console |
डंपस्टेट एचएएल | vsock/gRPC |
एक्सटेंडेड व्यू सिस्टम (ईवीएस) | virtio-video |
गराज मोड | vsock/gRPC |
ग्राफ़िक | virtio-gpu |
ग्लोबल नेविगेशन सैटलाइट सिस्टम (GNSS) | virtio-console |
सेंसर एचएएल 2.0 | virtio-scmi and IIO |
टचस्क्रीन इनपुट | virtio-input |
वाहन का एचएएल | vsock/gRPC |
ट्राउट का विस्तार करें
trout
का इस्तेमाल, वाहन में सूचना और मनोरंजन की नई सुविधा (आईवीआई) बनाने के लिए, शुरुआती पॉइंट के तौर पर किया जा सकता है
Android टारगेट. बिल्ड इन्फ़्रास्ट्रक्चर को इस तरह से डिज़ाइन किया गया है कि उसे बढ़ाया जा सके और उसे अपनी ज़रूरत के मुताबिक बनाया जा सके.
उदाहरण के लिए:
# Inherit trout-arm64 default values and settings $(call inherit-product, device/google/trout/aosp_trout_arm64.mk) # Customize HALs as needed LOCAL_VHAL_PRODUCT_PACKAGE := vendor.oem.vhal@2.0-service LOCAL_AUDIO_PRODUCT_PACKAGE := vendor.oem.audio@6.0-impl # Configure SELinux policy BOARD_SEPOLICY_DIRS += device/oem/car/sepolicy/vendor/oem # Configure properties LOCAL_DUMPSTATE_PROPERTIES := \ ro.vendor.dumpstate.server.cid=22 \ ro.vendor.dumpstate.server.port=406 \ ro.vendor.helpersystem.log_loc=/data/dumpstate [... and more as needed ...]
कई Android एचएएल को अलग-अलग तरीके से बदला जा सकता है और अपनी ज़रूरत के हिसाब से लागू किया जा सकता है.
डिफ़ॉल्ट तरीके से लागू किया गया है, लेकिन कुछ कॉन्फ़िगरेशन पैरामीटर में बदलाव किया गया है
टारगेट एनवायरमेंट में सही इंटर-वीएम कम्यूनिकेशन. इन एचएएल (इनमें वाहन के एचएएल,
ऑडियो कंट्रोल एचएएल और डंपस्टेट एचएएल) को ऐसे gRPC इंटरफ़ेस के ज़रिए लागू किया जाता है जिसका बैक अप
AAOS मेहमान और होस्ट सिस्टम के बीच vsock
कनेक्शन, जो
मौजूदा सुविधा को लागू करना. इन्हें सही तरीके से कॉन्फ़िगर किया जाना चाहिए
वेंडर की प्रॉपर्टी के तौर पर, vsock
कनेक्शन पैरामीटर. सोर्स कोड सबसे बेहतर सोर्स के तौर पर काम करता है
कॉन्फ़िगरेशन और उनके सिमेंटिक्स के लिए कौनसी प्रॉपर्टी उपलब्ध हैं, इसके आधार पर यह डेटा की पूरी और सटीक जानकारी दे सकती है.
बिल्ड ट्राउट
यूज़रस्पेस का डेटा कंपाइल करें
यूज़रस्पेस इकट्ठा करने के लिए:
- Android सोर्स ट्री डाउनलोड करें:
repo init -u https://android.googlesource.com/platform/manifest -b main repo sync -j8
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है - ऐसा माहौल बनाएं:
source build/envsetup.sh lunch aosp_trout_arm64-userdebug make -j24
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
कर्नेल बनाएं
trout
1.1 के लिए, कर्नेल कोड बेस एओएसपी में दिया गया है. trout
कर्नेल, अपस्ट्रीम ACK 5.10 कोड के समान कोड से बना होता है, जिसमें
VirtIO सबसिस्टम के लिए trout
के लिए खास मॉड्यूल.
- कर्नेल का क्लोन बनाने के लिए, इसे चलाएं:
repo init https://android.googlesource.com/kernel/manifest -b trout-android12-5.10 && repo sync
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है - कर्नेल रन बनाने के लिए:
BUILD_CONFIG=common-modules/virtual-device/build.config.trout.coqos build/build.sh
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
हो सकता है कि आपके हायपरवाइज़र सप्लायर के लिए, अलग या अतिरिक्त कर्नेल कॉन्फ़िगरेशन की ज़रूरत हो जिन्हें कंपाइल करना ज़रूरी होता है. अगर इस दिशा-निर्देश में कुछ दिया गया हो, तो उसका पालन करना न भूलें.
अनुपालन
जब AAOS, मेहमान के तौर पर वर्चुअल मशीन (वीएम) के तौर पर काम करता है, तो हमारा लक्ष्य है कि हम
फ़्रेमवर्क के बारे में आपको बताएंगे. होस्ट साइड की समस्याएं, हर बार लागू करने का अधिकार हैं. साथ ही, इसमें होस्ट साइड से जुड़ी समस्याएं भी शामिल हैं
trout
1.1 का स्कोप.
हमने trout
1.1 पर, अतिरिक्त xTS की पुष्टि नहीं की है. जारी रखें
trout
1.0 में CTS सहायता के बारे में नीचे दी गई चर्चा का संदर्भ लें.
trout
के 1.0 वर्शन में, सीटीएस से जुड़ी कई समस्याएं मौजूद हैं. यहां दिए गए सीटीएस मॉड्यूल का इस्तेमाल
परीक्षण असफलताएँ शामिल करें:
CtsStagedInstallHostTestCases CtsRollbackManagerHostTestCases CtsVideoTestCases CtsHostsideNetworkTests CtsActivityManager backgroundActivityTestCases CtsAdbHostTestCases CtsNativeHardwareTestCases CtsContentTestCases CtsCarHostTestCases CtsOsTestCases CtsStatsdHostTestCases CtsVoiceइंटरैक्शनTestCases CtsViewTestCases CtsCameraTestCases CtsLocationGnssTestCases CtsGraphicsTestCases CtsInHostTestCases CtsInstallHostTestCases CtsNativeVerifiedBootTestCases CtsNetTestCases |
CtsWindowManagerDeviceTestCases CtsMediaStressTestCases CtsAppTestCases सीटीयूएसबीटेस्ट CtsAutoFillServiceTestCases CtsDisplayTestCases CtsMediaTestCases CtsDeqpTestCases CtsDumpsysHostTestCases CtsOpenGLTestCasesCtsLibcoreTestCases CtsSecurityHostTestCases CtsइनपुटMethodTestCases CtsStatsdAtomHostTestCases CtsPermission4TestCases CtsNNAPIMPTestCases CtsSimpleperfTestCases CtsAccessibilityTestCases CtsAppSecurityHostTestCases CtsKeystoreTestCases |
सीटीएस-वी के ये हिस्से हैं: टेस्ट फ़ेल होने की जानकारी:
कार लॉन्चर की जांच ब्लूटूथ स्मार्ट (BLE) ऐडवर्टाइज़र टेस्ट स्ट्रीमिंग वीडियो क्वालिटी की पुष्टि करने वाला ब्लूटूथ एचआईडी डिवाइस की जांच Hifi अल्ट्रासाउंड माइक्रोफ़ोन की जाँच Hifi अल्ट्रासाउंड स्पीकर टेस्ट |
अनलॉक किए गए डिवाइस के लिए ज़रूरी टेस्ट डाइनैमिक सेंसर डिस्कवरी टेस्ट ऑफ़ बॉडी सेंसर टेस्ट मोशन टेस्ट की अहम जानकारी ऑडियो आउटपुट रूटिंग की सूचना की जांच नेटवर्क के अनुरोध या सुझाव की जांच |
रिलीज़ नोट
trout
1.1 में ये समस्याएं शामिल हैं:
trout
के उपयोगकर्ता बिल्ड उपलब्ध नहीं हैं. सिस्टम को इस तरह बनाया गया है-userdebug
, जो कुछ सीटीएस टेस्ट पर असर डाल सकता है.- Android वेरिफ़ाइड बूट (AVB) सुविधा इस पर काम नहीं करती.
- ऐसा हो सकता है कि Android के कुछ सबसिस्टम उपलब्ध न हों. इनमें सिक्योर वर्ल्ड और NNHAL शामिल हैं.
- मेहमान नेटवर्क का ऐक्सेस, आम तौर पर वर्चुअलाइज़ किए गए वाई-फ़ाई अडैप्टर के ज़रिए दिया जाता है और
virtio-net
टनल. होस्ट-साइड कनेक्टिविटी, आपके खास हाइपरवाइज़र डिप्लॉयमेंट पर निर्भर करती है. - लागू करने के कुछ तरीकों में ब्लूटूथ की सीमित सुविधा हो सकती है या हो सकता है कि उसमें ब्लूटूथ की कोई सुविधा न हो.
- VHAL इवेंट इंजेक्शन कुछ सेंसर के लिए शायद काम न करे.
- ज़्यादा काम करने की वजह से, ऑडियो चलाने में समस्या आ सकती है.
- लागू किए गए कुछ तरीकों में, AAOS मेहमान को adb फिर से चालू करने पर पूरा सिस्टम फिर से चालू हो सकता है.
- एसटीएस की वजह से सिस्टम में गड़बड़ी हो सकती है और इसे फिर से चालू करना पड़ सकता है.
ज़्यादा जानकारी के लिए, पार्टनर के रिलीज़ नोट देखें. इसमें आपको इन्हें डिप्लॉय करने के बारे में जानकारी मिलेगी
trout
.