Пример восстановления девайса при отсутствии стартовой картинки
После полной разрядки девайс перестал запускаться. Горела лишь лампочка индикатора зарядки и черный экран.
Из дампа, снятого с братишки Была изготовлена прошивка типа мулти-хип .
Так-как заставки при включении небыло, то к chain.bin, drivers.bin, tinynk.bin, и nk.bin жизненно необходим был и eboot.nb0.
С карточки девайс шиться не захотел, оно и понятно -без бутлодера кто-же захочет. Подсоединив к Атласманагеру девайс предложил
1): Launch EBOOT
2): Launch NK
3): Launch DM
4): Erase and Reset TOC
5): Toggle NBOOT Menu
6): Set Clock
Input:
При выборе 1, вис наглухо. Пришлось предложить из основного меню проапдейтить eboot.nb0
Со-второго или третьего раза, обновление прошло!!!
Microsoft Windows CE Ethernet Bootloader Common Library Version 1.1 Built Sep 28 2007 10:59:55
Centrality Windows CE Atlas Bootloader Version 3.2 Built Sep 28 2007 10:59:50
dwCacheInfo = 0x1D152152
EBOOT Version = 0x300B
Ну а дальше, то что доктор прописал
Выберите "1" и нажмите Enter
когда начнеться счет времени, нажмите кнопку "пробел" и Enter
spoiler:
TOC {
dwSignature: 0x434F544E
BootCfg {
ConfigFlags: 0x7860
BootDelay: 0xF
ImageIndex: 1
IP: 0.0.0.0
MAC Address: 00:00:00:00:00:00
Port: 0.0.0.0
SubnetMask: 0.0.0.0
}
ID[0] {
dwVersion: 0x300B
dwSignature: 0x45424F54
String: 'eboot.nb0'
dwImageType: 0x2
dwTtlSectors: 0x140
dwLoadAddress: 0x8C04C000
dwJumpAddress: 0x8C04C000
dwStartBlock: 0x2
dwStoreOffset: 0x0
sgList[0].dwSector: 0x40
sgList[0].dwLength: 0x140
}
ID[1] {
dwVersion: 0x1
dwSignature: 0x43465348
String: 'PPC2K3.NB0'
dwImageType: 0xE
dwTtlSectors: 0x0
dwLoadAddress: 0x0
dwJumpAddress: 0x0
dwStartBlock: 0x3A
dwStoreOffset: 0x0
}
ID[2] {
dwVersion: 0x1
dwSignature: 0x45424F54
String: 'DM'
dwImageType: 0x2
dwTtlSectors: 0x460
dwLoadAddress: 0x8C04C000
dwJumpAddress: 0x8C04C000
dwStartBlock: 0xC
dwStoreOffset: 0x0
sgList[0].dwSector: 0x180
sgList[0].dwLength: 0x460
}
chainInfo.dwLoadAddress: 0x00000000
chainInfo.dwFlashAddress: 0x00000000
chainInfo.dwLength: 0x00000000
nandxipInfo.dwCodePages: 0
nandxipInfo.dwCopies: 0
nandxipInfo.dwBlockNo: 0x00000000
nandxipInfo.dwCodePages: 0
nandxipInfo.dwCopies: 0
}
Image block starts at physical block 58 virtual block 58
WARNING: OEMPlatformInit failed to initialize Ethernet controller.
SDMMC card is removed!
rSD_CUR_STATE = 0x1F80000
Press [ENTER] to download image now, or [SPACE] to enter boot monitor.
Initiating image download in 14 seconds.
GetReadOnlyPartInfo: READ-ONLY partition have not created.
Далее Boot monitor предложит меню для выбора дальнейших действий
spoiler:
Ethernet Boot Loader Configuration:
---------------------------------------
1) IP address: 0.0.0.0
Subnet mask: 0.0.0.0
2) Boot delay: 15 seconds
3) DHCP: ENABLED
4) Max Bad blocks reserved: 10
5) Startup image: DOWNLOAD NEW
6) Program RAM image into Boot Media: ENABLED
7) MAC address: 00:00:00:00:00:00
8) Bluetooth address: 00:00:00:00:00:00
9) Format Boot Media for BinFS
0) Format Boot Media for Monolithic NK Image
A) UPDATE image from SD/MMC card
UPDATE logo from SD/MMC card
D) DOWNLOAD image now
F) Low-level FORMAT Boot Media
N) New NANDFLASH Driver: DISABLED
L) LAUNCH existing Boot Media image
S) Save Configuration and Exit
U) Using AtlasMgr to download NK image
I) DOWNLOAD image via USB RNDIS Ethernet
R) LAUNCH existing Boot Media image via USB RNDIS KITL
C) Read-Only User FAT partition (type 0x12) block num: 0
P) Read-Only User FAT partition (type 0x12): Not exist
V) Image check sum
T) Debug NandFlash
---------------------------------------
выбрерите F и Enter (делаем Low-level FORMAT Boot Media)
Enter your selection: f
Low-level format Blocks [0x3A - 0xFFF] ...
...format complete.
GetReadOnlyPartInfo: READ-ONLY partition have not created.
И новый выбор
spoiler:
Ethernet Boot Loader Configuration:
---------------------------------------
1) IP address: 0.0.0.0
Subnet mask: 0.0.0.0
2) Boot delay: 15 seconds
3) DHCP: ENABLED
4) Max Bad blocks reserved: 10
5) Startup image: DOWNLOAD NEW
6) Program RAM image into Boot Media: ENABLED
7) MAC address: 00:00:00:00:00:00
8) Bluetooth address: 00:00:00:00:00:00
9) Format Boot Media for BinFS
0) Format Boot Media for Monolithic NK Image
A) UPDATE image from SD/MMC card
UPDATE logo from SD/MMC card
D) DOWNLOAD image now
F) Low-level FORMAT Boot Media
N) New NANDFLASH Driver: DISABLED
L) LAUNCH existing Boot Media image
S) Save Configuration and Exit
U) Using AtlasMgr to download NK image
I) DOWNLOAD image via USB RNDIS Ethernet
R) LAUNCH existing Boot Media image via USB RNDIS KITL
C) Read-Only User FAT partition (type 0x12) block num: 0
P) Read-Only User FAT partition (type 0x12): Not exist
V) Image check sum
T) Debug NandFlash
---------------------------------------
следуюший шаг форматируем под BinFS
Выберите "9" и Enter
Enter your selection: 9
Erasing flash block(s) [0x0, 0xFFF] (please wait):
########GetReadOnlyPartInfo: READ-ONLY partition have not created.
Процесс форматирования 64мб занял около 10 минут.
spoiler:
Ethernet Boot Loader Configuration:
---------------------------------------
1) IP address: 0.0.0.0
Subnet mask: 0.0.0.0
2) Boot delay: 15 seconds
3) DHCP: ENABLED
4) Max Bad blocks reserved: 10
5) Startup image: DOWNLOAD NEW
6) Program RAM image into Boot Media: ENABLED
7) MAC address: 00:00:00:00:00:00
8) Bluetooth address: 00:00:00:00:00:00
9) Format Boot Media for BinFS
0) Format Boot Media for Monolithic NK Image
A) UPDATE image from SD/MMC card
UPDATE logo from SD/MMC card
D) DOWNLOAD image now
F) Low-level FORMAT Boot Media
N) New NANDFLASH Driver: DISABLED
L) LAUNCH existing Boot Media image
S) Save Configuration and Exit
U) Using AtlasMgr to download NK image
I) DOWNLOAD image via USB RNDIS Ethernet
R) LAUNCH existing Boot Media image via USB RNDIS KITL
C) Read-Only User FAT partition (type 0x12) block num: 0
P) Read-Only User FAT partition (type 0x12): Not exist
V) Image check sum
T) Debug NandFlash
---------------------------------------
После окончания действий введите "U" и Enter
Тогда станет активной "NK Update Action", кнопка отключения блокировки,
нажмите на нее, выбираем chain.lst из заранее изготовленной прошивки, без eboot.nb0
При успешном "NK Update Action", нажмите кнопку ОК и ждите, пока устройство откроет Windows CE или загрузит меню (около 6-7 минут).
spoiler:
Enter your selection: u
ROMHDR at Address 8CA24044h
::OEMLaunch, ImageStart:0x8CA24000, ImageLength:0x38B838, LaunchAddr:0x8CA25000
OEMLaunch: Write image to nandflash
OEMLaunch: (IMAGE_TYPE_MXIP|IMAGE_TYPE_BINFS)
+WriteRegionsToBootMedia: ImageStart: 0x8CA24000, ImageLength: 0x38B838, LaunchAddr:0x8CA25000
INFO: OEMLaunch: Found chain extenstion: '' @ 0x8CA24000
INFO: OEMLaunch: Found chain extenstion: 'chain information' @ 0x8CA24000
INFO: OEMLaunch: Found 'chain information' (pChainInfo=0x8E13B760 Extensions=0x4).
Found the Chain region: StartAddress: 0x8C620000; Length: 0x000007B8
Writing multi-regions
BINFSPartMaxLength[0]: 0x4000, TtlBINFSPartLength: 0x4000
dwMaxRegionLength[3]: 0x4000
BINFSPartMaxLength[1]: 0x480000, TtlBINFSPartLength: 0x484000
dwMaxRegionLength[0]: 0x480000
BINFSPartMaxLength[2]: 0x200000, TtlBINFSPartLength: 0x684000
dwMaxRegionLength[1]: 0x200000
BINFSPartMaxLength[3]: 0x1D00000, TtlBINFSPartLength: 0x2384000
dwMaxRegionLength[2]: 0x1D00000
Open/create BINFS partition 72768 sectors...
dwRegionStart: 0x8E000000, dwRegionLength: 0x38B838, dwStoreOffset: 0x0
Updateded TOC!
dwRegionStart: 0x8E38B838, dwRegionLength: 0x1E80F4, dwStoreOffset: 0x480000
dwRegionStart: 0x8E57392C, dwRegionLength: 0xCF0644, dwStoreOffset: 0x680000
dwRegionStart: 0x8F263F70, dwRegionLength: 0x7B8, dwStoreOffset: 0x2380000
Written Chain Region to the Flash
LoadAddress = 0x8C620000; FlashAddress = 0x00012341; Length = 0X00000020
Creating a additional hide FAT partition to store hive-based registry
-WriteRegionsToBootMedia
GetBaseFMDBlock: MBR block 58, Total Unusable Blk 58, start logic sector 0x1F640
Start block NO. for new FMD driver should be 0xFF0
+TOC_Write
-TOC_Write
TOC {
dwSignature: 0x434F544E
BootCfg {
ConfigFlags: 0x7860
BootDelay: 0xF
ImageIndex: 1
IP: 0.0.0.0
MAC Address: 00:00:00:00:00:00
Port: 0.0.0.0
SubnetMask: 0.0.0.0
}
ID[0] {
dwVersion: 0x300B
dwSignature: 0x45424F54
String: 'eboot.nb0'
dwImageType: 0x2
dwTtlSectors: 0x140
dwLoadAddress: 0x8C04C000
dwJumpAddress: 0x8C04C000
dwStartBlock: 0x2
dwStoreOffset: 0x0
sgList[0].dwSector: 0x40
sgList[0].dwLength: 0x140
}
ID[1] {
dwVersion: 0x1
dwSignature: 0x43465348
String: 'PPC2K3.NB0'
dwImageType: 0xE
dwTtlSectors: 0x1C5D
dwLoadAddress: 0x8CA24000
dwJumpAddress: 0x8CA25000
dwStartBlock: 0x3A
dwStoreOffset: 0x0
sgList[0].dwSector: 0x741
sgList[0].dwLength: 0x1C5D
}
ID[2] {
dwVersion: 0x1
dwSignature: 0x45424F54
String: 'DM'
dwImageType: 0x2
dwTtlSectors: 0x460
dwLoadAddress: 0x8C04C000
dwJumpAddress: 0x8C04C000
dwStartBlock: 0xC
dwStoreOffset: 0x0
sgList[0].dwSector: 0x180
sgList[0].dwLength: 0x460
}
chainInfo.dwLoadAddress: 0x8C620000
chainInfo.dwFlashAddress: 0x00012341
chainInfo.dwLength: 0x00000020
nandxipInfo.dwCodePages: 0
nandxipInfo.dwCopies: 0
nandxipInfo.dwBlockNo: 0x00000000
nandxipInfo.dwCodePages: 0
nandxipInfo.dwCopies: 0
}
Jumping to image at virtual address 0x8CA25000h
+ToPhysicalAddr:0x8CA25000
-ToPhysicalAddr:0xC0A25000
::: Physical Launch Address: 0xC0A25000h
Все, девайс вышел из комы.