[summary]Un RMA shim est nécessaire si un centre de service doit remplacer la carte mère, et pour réinstaller le firmware ou l'image logicielle de l'appareil.[\summary]
Aperçu
RMA signifie Return Merchandise Authorization (Autorisation de retour de marchandise). Il s'agit d'une procédure utilisée lorsqu'un problème survient sur un appareil et ne peut être résolu par l'utilisateur final, le poussant à renvoyer l'appareil au centre de service pour diagnostic et réparation.
En général, il est difficile pour un centre de service d'exécuter des outils de diagnostic ou des programmes de réparation qui ne sont pas signés par Google, en raison du démarrage vérifié et de la protection en écriture de Chrome OS. Pour contourner ces problèmes, le partenaire de réparation doit utiliser un RMA shim. Cet outil est signé par Google et permet au partenaire d'exécuter ses propres programmes de diagnostic personnalisés pour vérifier les composants.
L'image du shim est conçue pour être une combinaison de composants du factory bundle Chrome OS préexistants, et inclut les éléments suivants :
- Factory install shim
- Image release (FSI)
- Image de test
- Kit outils factory
- Bundle HWID
- Autres composants optionnels (firmware, script complet, etc.)
RMA shims individuels vs. RMA shims universels
Bien qu'extrêmement utiles, le problème des RMA shims classiques pour cartes de signal est qu'ils sont spécifiques au modèle de carte mère. Cela peut rendre la gestion des images de shim sur des clés USB physiques difficile.
Ce problème peut être résolu en créant un shim universel. Un shim universel peut contenir plusieurs RMA shims pour différentes cartes, ce qui facilite la gestion et la distribution des images.
La contrepartie est que les shims universels peuvent être assez volumineux, car le shim de chaque carte nécessite environ 3 Go d'espace de stockage. Ainsi, un shim universel contenant 3 cartes aura une taille totale de 9 à 10 Go.
Quel programme est nécessaire
image_tool est le programme nécessaire pour gérer les RMA shims. Il peut être téléchargé depuis le dépôt public factory en utilisant les commandes suivantes.
$ git clone https://chromium.googlesource.com/chromiumos/platform/factory $ cd factory/
L'outil se trouvera dans setup/image_tool. Il est fortement recommandé de synchroniser périodiquement le dépôt git pour vous assurer de disposer de la dernière version. Cela peut être effectué avec la commande suivante...
$ git pull
Une fois le dépôt factory téléchargé, vous pouvez exécuter le test unitaire pour les commandes RMA afin de vous assurer que les commandes s'exécutent correctement sur votre machine en utilisant...
$ py/tools/image_tool_rma_unittest.py
Ajuster la liste de tests RMA dans le kit outils factory
La liste de tests RMA est différente de la liste de tests utilisée sur la ligne de production factory. Par exemple, il n'y aura pas de serveur factory pendant le processus RMA. C'est pourquoi nous avons besoin d'une liste de tests différente pour le RMA.
Le processus recommandé pour créer une liste de tests consiste à créer une liste qui hérite de generic_rma.test_list.json. Cela devrait gérer les paramètres RMA généraux comme la désactivation du serveur factory et l'activation du rma_mode, ainsi que l'ajout des tests factory au groupe RMAFFT.
{
"inherit": [
"generic_rma.test_list"
],
"label": "RMA Test List for <project>",
"definitions": {
"RMAFFT": {
"subtests": [
...
...
]
}
}
}
Il est également recommandé de modifier les paramètres suivants...
- Les tests factory dans les centres de service sont exécutés avec des cycles de test réduits. Par exemple, réduisez la durée du test de stress de 4 heures à 10 minutes.
- Vérifiez que toutes les cartes mères de rechange utilisées dans les centres de service terminent les tests SMT.
- Vérifiez que toutes les cartes mères de rechange possèdent un code d'enregistrement qui a été gravé dans RW_VPD pendant le processus factory avant d'envoyer les cartes aux centres de service.
- Discutez avec l'OEM pour finaliser les éléments de test pour le processus RMA.
- Ne modifiez pas ou ne supprimez pas les éléments GRT (Google Required Test).
- Assurez-vous que la protection en écriture du firmware est activée (ce qui devrait être le cas si
constants.phaseest réglé sur PVT).
Combiner les composants du bundle factory dans l'image RMA shim
Une fois les composants du bundle prêts, vous pouvez les combiner dans une seule image RMA shim. L'image RMA shim peut être créée à partir du bundle factory en utilisant la commande image_tool rma create :
$ setup/image_tool rma create
--board BOARD
--factory_shim path/to/factory_install_shim.bin
--test_image path/to/chromiumos_test_image.bin
--toolkit path/to/install_factory_toolkit.run
--release_image path/to/chromiumos_image.bin
--hwid path/to/hwid_bundle.sh
--output rma_image.bin
La commande peut être simplifiée si tous les composants sont placés dans leurs répertoires de bundle appropriés (release_image/, test_image/, etc.) :
$ setup/image_tool rma create
--board BOARD
--output rma_image.bin
De plus, nous pouvons également spécifier la liste de tests active lors de la création d'un RMA shim. De cette façon, nous n'aurons pas besoin de modifier le fichier active_test_list.json dans le kit outils factory :
$ setup/image_tool rma create
--board BOARD
--output rma_image.bin
--active_test_list rma_main
Créer un RMA shim universel
Nous pouvons créer un RMA shim universel en utilisant la commande image_tool rma merge.
$ setup/image_tool rma merge
-i soraka.bin scarlet.bin
-o universal.bin
Pour supprimer une image de sortie précédemment générée, vous devrez spécifier l'option -f :
$ setup/image_tool rma merge
-i soraka.bin scarlet.bin
-o universal.bin -f
Mettre à jour votre RMA shim universel
La commande image_tool rma merge prend en charge la fusion des shims universels. S'il existe des cartes en double, l'utilisateur sera invité à choisir la carte qu'il souhaite utiliser. Cette fonctionnalité peut être utilisée pour mettre à jour une carte dans un shim universel en utilisant le RMA shim mis à jour pour carte unique.
$ setup/image_tool rma merge
-i universal.bin soraka_new.bin
-o universal_new.bin
Scanning 2 input image files...
Board soraka has more than one entry.
========================================================================
(1)
From universal.bin
board : soraka
install_shim : 10323.39.28
release_image : 10575.37.0 (Official Build) dev-channel soraka
test_image : 10323.39.24 (Official Build) dev-channel soraka test
toolkit : soraka Factory Toolkit 10323.39.24
firmware : Google_Soraka.10431.32.0;Google_Soraka.10431.48.0
hwid : None
complete : None
toolkit_config: None
lsb_factory : lsb_factory
========================================================================
(2)
From soraka_new.bin
board : soraka
install_shim : 10323.39.31
release_image : 10575.37.0 (Official Build) dev-channel soraka
test_image : 10323.39.24 (Official Build) dev-channel soraka test
toolkit : soraka Factory Toolkit 10323.39.24
firmware : Google_Soraka.10431.32.0;Google_Soraka.10431.48.0
hwid : None
complete : None
toolkit_config: None
lsb_factory : lsb_factory
========================================================================
Please select an option [1-2]:
Utiliser le RMA shim
Flashez le ram_image.bin sur une clé USB et démarrez-la avec le mode développeur activé et votre appareil en mode récupération.
Comment flasher l'image shim sur une clé USB
Utilisez la commande dd pour flasher l'image shim sur votre périphérique de stockage, en remplaçant /dev/sdx par le nom de votre périphérique de stockage.
$ sudo dd if=rma_image.bin of=/dev/sdX bs=8M iflag=fullblock oflag=dsync
Si vous disposez de l'environnement de développement OS sur votre appareil, vous pouvez utiliser la commande ``cross flash`` dans le chroot.
$ cros flash usb:// rma_image.bin
Comment démarrer à partir du RMA shim sur des appareils à clapet
- Entrez en mode récupération.
- Appuyez sur
CTRL + Dpour activer le commutateur développeur. - Appuyez sur
ENTERpour confirmer. - Entrez à nouveau en mode récupération (pas besoin d'attendre l'effacement).
- Insérez et démarrez à partir de la clé USB contenant
rma_image.bin.
Comment démarrer à partir du RMA shim sur une tablette
- Entrez en mode récupération.
- Appuyez sur
VOL_UP + VOL_DOWNpour afficher le menu de récupération. - Appuyez sur
VOL_UPouVOL_DOWNpour déplacer le curseur sur « Confirm Disabling OS Verification » (Confirmer la désactivation de la vérification de l'OS), puis appuyez surPOWERpour sélectionner cette option. - Entrez à nouveau en mode récupération (pas besoin d'attendre l'effacement).
- Insérez et démarrez à partir de la clé USB contenant
rma_image.bin.
Naviguer dans le menu RMA shim
Le RMA shim possède un menu qui permet à l'utilisateur de sélectionner différentes actions, lesquelles sont documentées dans le fichier README. Si un utilisateur crée un RMA shim via la commande image_tool rma create, l'outil ajoutera le drapeau RMA_AUTORUN=1 au fichier lab-factory. Cela définira les actions par défaut dans le menu.
Commandes RMA supplémentaires.
Il existe d'autres commandes image_tool qui peuvent faciliter la vérification et la modification de vos RMA shims. Des descriptions détaillées peuvent être trouvées en utilisant l'argument --help pour les autres commandes. Par exemple...
$ setup/image_tool rma show --help
Afficher les composants du bundle dans un RMA shim
La commande image_tool rma show peut afficher la version des composants dans votre RMA shim
$ setup/image_tool rma show -i soraka.bin This RMA shim contains boards: soraka ======================================================================== board : soraka install_shim : 10323.39.31 release_image : 10575.37.0 (Official Build) dev-channel soraka test_image : 10323.39.24 (Official Build) dev-channel soraka test toolkit : soraka Factory Toolkit 10323.39.24 firmware : Google_Soraka.10431.32.0;Google_Soraka.10431.48.0 hwid : None complete : None toolkit_config: cb5b52296cd4fcb0418b6879c0acc32b lsb_factory : d2c9d6a7d32ee3b1279c2b0b27244727 ========================================================================
La même commande peut également être utilisée pour les RMA shims universels.
$ setup/image_tool rma show -i universal.bin This RMA shim contains boards: soraka scarlet ======================================================================== board : soraka install_shim : 10323.39.31 release_image : 10575.37.0 (Official Build) dev-channel soraka test_image : 10323.39.24 (Official Build) dev-channel soraka test toolkit : soraka Factory Toolkit 10323.39.24 firmware : Google_Soraka.10431.32.0;Google_Soraka.10431.48.0 hwid : None complete : None toolkit_config: cb5b52296cd4fcb0418b6879c0acc32b lsb_factory : d2c9d6a7d32ee3b1279c2b0b27244727 ======================================================================== board : scarlet install_shim : 10211.68.0 release_image : 10575.67.0 (Official Build) stable-channel scarlet test_image : 10211.53.0 (Official Build) dev-channel scarlet test toolkit : scarlet Factory Toolkit 10211.53.0 firmware : Google_Scarlet.10388.26.0 hwid : None complete : None toolkit_config: None lsb_factory : c82d4c1f831bf20d7cdc70138fe4ef72 ========================================================================
Remplacer les composants du bundle dans un RMA shim
La commande image_tool rma replace peut remplacer les composants présents dans votre RMA shim. Par exemple, vous pouvez remplacer le bundle HWID par un nouveau :
$ setup/image_tool rma replace -i rma_image.bin --hwid new_hwid_bundle.sh
L'argument --board sera nécessaire si vous souhaitez remplacer quelque chose sur un shim universel.
$ setup/image_tool rma replace -i universal.bin
--board soraka --hwid new_hwid_bundle.sh
Cette commande peut également remplacer release_image, test_image, toolkit, factory_shim, firmware, hwid, complete_script et toolkit_config.
Extraire un RMA shim pour carte unique de votre shim universel
La commande image_tool rma extract peut être utilisée pour extraire un RMA shim pour carte unique à partir de votre shim universel.
$ setup/image_tool rma extract -i universal.bin -o extract.bin Scanning input image file... Please select a board to extract. ======================================================================== (1) board : soraka install_shim : 10323.39.31 release_image : 10575.37.0 (Official Build) dev-channel soraka test_image : 10323.39.24 (Official Build) dev-channel soraka test toolkit : soraka Factory Toolkit 10323.39.24 firmware : Google_Soraka.10431.32.0;Google_Soraka.10431.48.0 hwid : None complete : None toolkit_config: cb5b52296cd4fcb0418b6879c0acc32b lsb_factory : d2c9d6a7d32ee3b1279c2b0b27244727 ======================================================================== (2) board : scarlet install_shim : 10211.68.0 release_image : 10575.67.0 (Official Build) stable-channel scarlet test_image : 10211.53.0 (Official Build) dev-channel scarlet test toolkit : scarlet Factory Toolkit 10211.53.0 firmware : Google_Scarlet.10388.26.0 hwid : None complete : None toolkit_config: None lsb_factory : c82d4c1f831bf20d7cdc70138fe4ef72 ======================================================================== Please select an option [1-2]:
Comment modifier la configuration lab-factory dans votre RMA shim
La commande image_tool edit_lsb peut modifier la configuration lsb-factory, telle que le drapeau RMA_AUTORUN.
$ setup/image_tool edit_lsb -i rma_image.bin Current LSB config: ======================================================================== CHROMEOS_AUSERVER=http://... CHROMEOS_DEVSERVER=http://... FACTORY_INSTALL=1 HTTP_SERVER_OVERRIDE=true FACTORY_INSTALL_FROM_USB=1 RMA_AUTORUN=true ======================================================================== (1) Modify Chrome OS Factory Server address. (2) Modify cutoff config in cros payload (only for old devices). (3) Enable/disable complete prompt in RMA shim. (4) Enable/disable autorun in RMA shim. (q) Quit without saving changes. (w) Apply changes and exit. Please select an option [1-4, q, w]:
de plus, vous pouvez utiliser
$ setup/image_tool edit_lsb -i universal.bin --board soraka
Comment modifier la configuration du kit outils dans un RMA shim
La commande image_tool edit_toolkit_config peut modifier la configuration du kit outils, comme la liste de tests active et la configuration de coupure.
$ setup/image_tool edit_toolkit_config -i rma_image.bin
Toolkit config:
========================================================================
{
"cutoff": {
"CUTOFF_BATTERY_MAX_PERCENTAGE": 90,
"CUTOFF_BATTERY_MIN_PERCENTAGE": 60,
"CUTOFF_METHOD": "battery_cutoff",
"CUTOFF_AC_STATE": "remove_ac"
},
"active_test_list": {
"id": "main_rma"
}
}
========================================================================
(1) Modify active test list.
(2) Modify test list constants.
(3) Modify cutoff config.
(q) Quit without saving changes.
(w) Apply changes and exit.
Please select an option [1-3, q, w]:
de plus, vous pouvez utiliser
$ setup/image_tool edit_toolkit_config -i universal.bin --board soraka
Déballer et remballer le kit outils dans un RMA shim
La commande image_tool payload toolkit peut déballer et remballer le kit outils factory dans un RMA shim.
$ setup/image_tool payload toolkit -i rma_image.bin --unpack toolkit_path (Edit some files in toolkit_path/ ...) $ setup/image_tool payload toolkit -i rma_image.bin --repack toolkit_path
ou
$ setup/image_tool payload toolkit
-i universal.bin --board soraka --unpack toolkit_path
(Edit some files in toolkit_path/ ...)
$ setup/image_tool payload toolkit
-i universal.bin --board soraka --repack toolkit_path
Informations supplémentaires
Merci à ces traducteurs :
100%
Translation Bot nous aide à réparer le monde ! Vous voulez contribuer ?
Commencez à traduire ›
0 commentaires