[summary]Bir servis merkezinin anakart değişimi yapması gerektiğinde bir RMA shim'e ihtiyaç duyulur; ayrıca bu, cihazın aygıt yazılımını veya yazılım imajını yeniden yüklemek için de gereklidir.[\/summary]
Genel Bakış
RMA, İade Yetkilendirme (Return Merchandise Authorization) anlamına gelir. Bu, bir cihazda son kullanıcı tarafından çözülemeyen bir sorun oluştuğunda ve kullanıcının cihazı tanı ve onarım için cihazın servis merkezine göndermeyi seçtiği durumdur.
Genellikle, Chrome OS'in doğrulanmış önyükleme ve yazma koruması nedeniyle, bir servis merkezinin Google tarafından imzalanmamış herhangi bir tür tanı aracını veya onarım programını çalıştırması zordur. Bu sorunların üstesinden gelmek için onarım iş ortağının bir RMA shim'e ihtiyacı olacaktır. Bu araç Google tarafından imzalanmıştır ve bir iş ortağının bileşenleri kontrol edip doğrulamak için kendi özel tanı programlarını çalıştırmasına olanak tanır.
Shim imajı, önceden var olan Chrome OS fabrika paketi bileşenlerinin bir kombinasyonu olacak şekilde tasarlanmıştır ve aşağıdakileri içerir:
- Fabrika kurulum shim'i
- Sürüm imajı (FSI)
- Test imajı
- Fabrika alet takımı
- HWID paketi
- Diğer isteğe bağlı bileşenler (aygıt yazılımı, tamamlanma betiği vb.)
Tekli RMA shim'ler ile Evrensel RMA shim'ler
Oldukça faydalı olmalarına rağmen, normal tek kartlı RMA shim'lerin sorunu, anakart modeline özel olmalarıdır. Bu durum, fiziksel USB sürücülerindeki shim imajlarını yönetmeyi zorlaştırabilir.
Bu sorun, bir Evrensel shim oluşturularak çözülebilir. Evrensel bir shim, farklı kartlar için birden fazla RMA shim'i içerebilir, bu da imajları yönetmeyi ve dağıtmayı kolaylaştırır.
Bunun karşılığında, evrensel shim'lerin boyutu oldukça büyük olabilir, çünkü her bir kartın shim'i yaklaşık 3 GB depolama alanı gerektirecektir. Dolayısıyla 3 kart içeren evrensel bir shim'in toplam boyutu 9 - 10 GB olacaktır.
Hangi program gereklidir
image_tool, RMA shim'lerini yönetmek için gereken programdır. Bu program, aşağıdaki komutlar kullanılarak fabrika herkese açık deposundan indirilebilir.
[code]
$ git clone https:\/\/chromium.googlesource.com\/chromiumos\/platform\/factory
$ cd factory\/
[\/code]
Araç setup\/image_tool içinde bulunacaktır. Kullanıcının en son sürüme sahip olduğundan emin olmak için git deposunu düzenli olarak senkronize etmesi şiddetle tavsiye edilir. Bu işlem aşağıdaki komutla yapılabilir...
[code]$ git pull[\/code]
Fabrika deposu indirildikten sonra, komutların makinenizde doğru çalıştığından emin olmak için RMA komutlarına yönelik birim testini şu şekilde çalıştırabilirsiniz...
[code]$ py\/tools\/image_tool_rma_unittest.py[\/code]
Fabrika alet takımındaki RMA test listesini ayarlama
RMA test listesi, fabrika üretim hattında kullanılan test listesinden farklıdır. Örneğin, RMA süreci sırasında bir fabrika sunucusu olmayacaktır. Bu yüzden RMA için farklı bir test listesine ihtiyacımız olacaktır.
Bir test listesi oluşturmak için önerilen işlem, generic_rma.test_list.json dosyasından devralan bir liste oluşturmaktır. Bu, fabrika sunucusunun devre dışı bırakılması ve rma_mode'un etkinleştirilmesi gibi genel RMA ayarlarının yanı sıra, fabrika testlerinin RMAFFT grubuna eklenmesiyle ilgili işlemleri halledecektir.
[code]
{
"inherit": [
"generic_rma.test_list"
],
"label": "<project> için RMA Test Listesi",
"definitions": {
"RMAFFT": {
"subtests": [
...
...
]
}
}
}
[\/code]
Ayrıca aşağıdaki ayarların değiştirilmesi önerilir...
- Servis merkezlerindeki fabrika testleri, azaltılmış test döngüleri ile çalıştırılır. Örneğin, stres testinin süresini 4 saatten 10 dakikaya düşürün.
- Servis merkezlerinde kullanılan tüm yedek anakartların SMT testlerini tamamladığını doğrulayın.
- Servis merkezlerine göndermeden önce, tüm yedek anakartların fabrika sürecinde RW_VPD'ye yazılmış bir kayıt koduna sahip olduğunu doğrulayın.
- RMA süreci için test öğelerini kesinleştirmek üzere OEM ile görüşün.
- Herhangi bir GRT (Google Gerekli Test) öğesini değiştirmeyin veya kaldırmayın.
- Aygıt yazılımı yazma korumasının etkin olduğundan emin olun (
constants.phasedeğeri PVT olarak ayarlanmışsa bu doğru olmalıdır).
Fabrika paketi bileşenlerini RMA shim imajı ile birleştirme
Paket bileşenleri hazır olduktan sonra, bileşenleri tek bir RMA shim imajında birleştirebilirsiniz. RMA shim imajı, image_tool rma create komutu kullanılarak fabrika paketinden oluşturulabilir:
[code]
$ 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
[\/code]
Tüm bileşenler uygun paket dizinlerine (release_image\/, test_image\/ vb.) yerleştirilirse komut basitleştirilebilir:
[code]
$ setup\/image_tool rma create
--board BOARD
--output rma_image.bin
[\/code]
Buna ek olarak, bir RMA shim oluştururken aktif test listesini de belirtebiliriz. Bu sayede fabrika aracındaki active_test_list.json dosyasını değiştirmemize gerek kalmayacaktır.
[code]
$ setup\/image_tool rma create
--board BOARD
--output rma_image.bin
--active_test_list rma_main
[\/code]
Evrensel bir RMA shim oluşturma
image_tool rma merge komutunu kullanarak Evrensel bir RMA shim oluşturabiliriz.
[code]
$ setup\/image_tool rma merge
-i soraka.bin scarlet.bin
-o universal.bin
[\/code]
Daha önce oluşturulmuş bir çıktı imajını silmek için -f seçeneğini belirtmeniz gerekecektir:
[code]
$ setup\/image_tool rma merge
-i soraka.bin scarlet.bin
-o universal.bin -f
[\/code]
Evrensel RMA shim'inizi güncelleme
image_tool rma merge komutu, evrensel shim'lerin birleştirilmesini destekler. Herhangi bir yinelenen kart varsa, kullanıcıya hangi kartı kullanmak istediği sorulacaktır. Bu özellik, güncellenmiş tek kartlı RMA shim'i kullanarak evrensel bir shim'deki bir kartı güncellemek için kullanılabilir.
[code]
$ setup\/image_tool rma merge
-i universal.bin soraka_new.bin
-o universal_new.bin
2 girdi imaj dosyası taranıyor...
Soraka kartının birden fazla girdisi var.
========================================================================
(1)
universal.bin kaynağından
board : soraka
install_shim : 10323.39.28
release_image : 10575.37.0 (Resmi Yapı) dev-channel soraka
test_image : 10323.39.24 (Resmi Yapı) dev-channel soraka test
toolkit : soraka Fabrika Alet Takımı 10323.39.24
firmware : Google_Soraka.10431.32.0;Google_Soraka.10431.48.0
hwid : Yok
complete : Yok
toolkit_config: Yok
lsb_factory : lsb_factory
========================================================================
(2)
soraka_new.bin kaynağından
board : soraka
install_shim : 10323.39.31
release_image : 10575.37.0 (Resmi Yapı) dev-channel soraka
test_image : 10323.39.24 (Resmi Yapı) dev-channel soraka test
toolkit : soraka Fabrika Alet Takımı 10323.39.24
firmware : Google_Soraka.10431.32.0;Google_Soraka.10431.48.0
hwid : Yok
complete : Yok
toolkit_config: Yok
lsb_factory : lsb_factory
========================================================================
Lütfen bir seçenek belirleyin [1-2]:
[\/code]
RMA shim'i kullanma
ram_image.bin dosyasını bir USB sürücüsüne yazdırın ve geliştirici modu etkin ve cihazınız kurtarma modundayken önyükleyin.
Shim imajı bir USB sürücüsüne nasıl yazdırılır
Shim imajını depolama cihazınıza yazdırmak için dd komutunu kullanın ve \/dev\/sdx kısmını depolama cihazınızın adıyla değiştirin.
[code]$ sudo dd if=rma_image.bin of=\/dev\/sdX bs=8M iflag=fullblock oflag=dsync[\/code]
Cihazınızda işletim sistemi geliştirme ortamı varsa, chroot içinde ``cross flash`` komutunu kullanabilirsiniz.
[code]$ cros flash usb:\/\/ rma_image.bin[\/code]
Dizüstü bilgisayar modellerinde RMA shim'den nasıl önyükleme yapılır
- Kurtarma moduna girin.
- Geliştirici anahtarını açmak için
CTRL + Dtuşlarına basın. - Onaylamak için
ENTERtuşuna basın. - Kurtarma moduna tekrar girin (sıfırlama için beklemenize gerek yoktur).
rma_image.biniçeren USB belleği takın ve önyükleyin.
Bir tablette RMA shim'den nasıl önyükleme yapılır
- Kurtarma moduna girin.
- Kurtarma menüsünü göstermek için
VOL_UP + VOL_DOWNtuşlarına basın. - İmleci "Confirm Disabling OS Verification" (İşletim Sistemi Doğrulamasını Devre Dışı Bırakmayı Onayla) seçeneğine getirmek için
VOL_UPveyaVOL_DOWNtuşuna basın ve seçmek içinPOWERtuşuna basın. - Kurtarma moduna tekrar girin (sıfırlama için beklemenize gerek yoktur).
rma_image.biniçeren USB belleği takın ve önyükleyin.
RMA shim menüsünde gezinme
RMA shim, kullanıcının README dosyasında belgelenen farklı eylemleri seçmesine olanak tanıyan bir menüye sahiptir. Bir kullanıcı image_tool rma create komutuyla bir RMA shim oluşturursa, araç lab-factory dosyasına RMA_AUTORUN=1 bayrağını ekleyecektir. Bu, menüdeki varsayılan eylemleri ayarlayacaktır.
Ek RMA komutları
RMA shim'lerinizi doğrulamayı ve değiştirmeyi kolaylaştırabilecek diğer image_tool komutları mevcuttur. Ayrıntılı açıklamalar, diğer komutlar için --help bağımsız değişkeni kullanılarak bulunabilir. Örneğin...
[code]$ setup\/image_tool rma show --help[\/code]
RMA shim'deki paket bileşenlerini yazdırma
image_tool rma show komutu, RMA shim'inizdeki bileşen sürümünü yazdırabilir
[code]
$ setup\/image_tool rma show -i soraka.bin
Bu RMA shim şu kartları içerir: soraka
========================================================================
board : soraka
install_shim : 10323.39.31
release_image : 10575.37.0 (Resmi Yapı) dev-channel soraka
test_image : 10323.39.24 (Resmi Yapı) dev-channel soraka test
toolkit : soraka Fabrika Alet Takımı 10323.39.24
firmware : Google_Soraka.10431.32.0;Google_Soraka.10431.48.0
hwid : Yok
complete : Yok
toolkit_config: cb5b52296cd4fcb0418b6879c0acc32b
lsb_factory : d2c9d6a7d32ee3b1279c2b0b27244727
========================================================================
[\/code]
Aynı komut Evrensel RMA shim'ler için de kullanılabilir.
[code]
$ setup\/image_tool rma show -i universal.bin
Bu RMA shim şu kartları içerir: soraka scarlet
========================================================================
board : soraka
install_shim : 10323.39.31
release_image : 10575.37.0 (Resmi Yapı) dev-channel soraka
test_image : 10323.39.24 (Resmi Yapı) dev-channel soraka test
toolkit : soraka Fabrika Alet Takımı 10323.39.24
firmware : Google_Soraka.10431.32.0;Google_Soraka.10431.48.0
hwid : Yok
complete : Yok
toolkit_config: cb5b52296cd4fcb0418b6879c0acc32b
lsb_factory : d2c9d6a7d32ee3b1279c2b0b27244727
========================================================================
board : scarlet
install_shim : 10211.68.0
release_image : 10575.67.0 (Resmi Yapı) stable-channel scarlet
test_image : 10211.53.0 (Resmi Yapı) dev-channel scarlet test
toolkit : scarlet Fabrika Alet Takımı 10211.53.0
firmware : Google_Scarlet.10388.26.0
hwid : Yok
complete : Yok
toolkit_config: Yok
lsb_factory : c82d4c1f831bf20d7cdc70138fe4ef72
========================================================================
[\/code]
RMA shim'deki paket bileşenlerini değiştirme
image_tool rma replace komutu, RMA shim'inizdeki bileşenleri değiştirebilir. Örneğin, HWID paketini yenisiyle değiştirebilirsiniz:
[code]$ setup\/image_tool rma replace -i rma_image.bin --hwid new_hwid_bundle.sh[\/code]
Evrensel bir shim üzerinde bir şeyi değiştirmek istiyorsanız --board bağımsız değişkeni gerekecektir.
[code]
$ setup\/image_tool rma replace -i universal.bin
--board soraka --hwid new_hwid_bundle.sh
[\/code]
Bu komut ayrıca release_image, test_image, toolkit, factory_shim, firmware, hwid, complete_script ve toolkit_config bileşenlerini de değiştirebilir.
Evrensel shim'inizden tek kartlı bir RMA shim çıkarma
image_tool rma extract komutu, evrensel shim'inizden tek kartlı bir RMA shim çıkarmak için kullanılabilir.
[code]
$ setup\/image_tool rma extract -i universal.bin -o extract.bin
Girdi imaj dosyası taranıyor...
Lütfen çıkarmak için bir kart seçin.
========================================================================
(1)
board : soraka
install_shim : 10323.39.31
release_image : 10575.37.0 (Resmi Yapı) dev-channel soraka
test_image : 10323.39.24 (Resmi Yapı) dev-channel soraka test
toolkit : soraka Fabrika Alet Takımı 10323.39.24
firmware : Google_Soraka.10431.32.0;Google_Soraka.10431.48.0
hwid : Yok
complete : Yok
toolkit_config: cb5b52296cd4fcb0418b6879c0acc32b
lsb_factory : d2c9d6a7d32ee3b1279c2b0b27244727
========================================================================
(2)
board : scarlet
install_shim : 10211.68.0
release_image : 10575.67.0 (Resmi Yapı) stable-channel scarlet
test_image : 10211.53.0 (Resmi Yapı) dev-channel scarlet test
toolkit : scarlet Fabrika Alet Takımı 10211.53.0
firmware : Google_Scarlet.10388.26.0
hwid : Yok
complete : Yok
toolkit_config: Yok
lsb_factory : c82d4c1f831bf20d7cdc70138fe4ef72
========================================================================
Lütfen bir seçenek belirleyin [1-2]:
[\/code]
RMA shim'inizdeki lab-factory yapılandırmasını düzenleme
image_tool edit_lsb komutu, RMA_AUTORUN bayrağı gibi lsb-factory yapılandırmasını değiştirebilir.
[code]
$ setup\/image_tool edit_lsb -i rma_image.bin
Mevcut LSB yapılandırması:
========================================================================
CHROMEOS_AUSERVER=http:\/\/...
CHROMEOS_DEVSERVER=http:\/\/...
FACTORY_INSTALL=1
HTTP_SERVER_OVERRIDE=true
FACTORY_INSTALL_FROM_USB=1
RMA_AUTORUN=true
========================================================================
(1) Chrome OS Fabrika Sunucusu adresini değiştirin.
(2) Cros yükündeki kesme yapılandırmasını değiştirin (yalnızca eski cihazlar için).
(3) RMA shim'de tamamlama istemini etkinleştirin\/devre dışı bırakın.
(4) RMA shim'de otomatik çalıştırmayı etkinleştirin\/devre dışı bırakın.
(q) Değişiklikleri kaydetmeden çıkın.
(w) Değişiklikleri uygulayın ve çıkın.
Lütfen bir seçenek belirleyin [1-4, q, w]:
[\/code]
ayrıca şunu kullanabilirsiniz
[code]$ setup\/image_tool edit_lsb -i universal.bin --board soraka[\/code]
Bir RMA shim'de alet takımı yapılandırmasını düzenleme
image_tool edit_toolkit_config komutu, aktif test listesi ve kesme yapılandırması gibi alet takımı yapılandırmasını değiştirebilir.
[code]
$ setup\/image_tool edit_toolkit_config -i rma_image.bin
Alet takımı yapılandırması:
========================================================================
{
"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) Aktif test listesini değiştirin.
(2) Test listesi sabitlerini değiştirin.
(3) Kesme yapılandırmasını değiştirin.
(q) Değişiklikleri kaydetmeden çıkın.
(w) Değişiklikleri uygulayın ve çıkın.
Lütfen bir seçenek belirleyin [1-3, q, w]:
[\/code]
ayrıca şunu kullanabilirsiniz
[code]$ setup\/image_tool edit_toolkit_config -i universal.bin --board soraka[\/code]
RMA shim'deki alet takımını paketinden çıkarma ve yeniden paketleme
image_tool payload toolkit komutu, RMA shim'deki fabrika alet takımını paketinden çıkarabilir ve yeniden paketleyebilir.
[code]
$ setup\/image_tool payload toolkit -i rma_image.bin --unpack toolkit_path
(toolkit_path\/ içindeki bazı dosyaları düzenleyin...)
$ setup\/image_tool payload toolkit -i rma_image.bin --repack toolkit_path
[\/code]
veya
[code]
$ setup\/image_tool payload toolkit
-i universal.bin --board soraka --unpack toolkit_path
(toolkit_path\/ içindeki bazı dosyaları düzenleyin...)
$ setup\/image_tool payload toolkit
-i universal.bin --board soraka --repack toolkit_path
[\/code]
0 Yorum