Temat: starsza wersja check point L50 (tak bez - ) u-boot 256MB ram

pc: linux mint 22.3 asysta llm space bunny

zwykły u-boot.kbw łapie zwieche ponieważ szuka drugiego banku pamięci
nowsze L-50 mają 2x 256MB ram co daje 512MB ram

działający U-Boot 2020.04 dla wariantu z 256 MiB RAM


pobrałem z oficjalnego repo https://downloads.openwrt.org/snapshots … boot-l-50/

procedura jak się dostać do L50

1 kabel szeregowy do portu console

dla tradycyjnego potru com poniżej a dla usb zamień na /dev/ttyUSB0
2

# picocom -b 115200 /dev/ttyS0

3 nacisnąć klawisz 3 wejść do menu serwisowego

podpiąć usb do portu usb ja używałem tylnego
4

# mkdir -p /tmp/usb

5

# mount /dev/sda1 /tmp/usb

teraz kolejne polecenia poniżej

tu kopiujemy u-boot fabryczny należny zrobić dwie kopie np mtd0_u-boot.bin oraz mtd0_u-boot2.bin

6

# dd if=/dev/mtd0 of=/tmp/usb/mtd0_u-boot.bin bs=131072

7

# umount /dev/sda1

przechodzimy do komputera gdzie wykonamy pozostałe polecenia
polecam sprawdzić integralność plików .bin za pomocą polecenia sha256sum

###################################################################
### należny oczywiście skopiować również pozostałe partycje tak jak przy wgrywaniu w zwykłym L-50 ###
###################################################################

na komputerze wykonujemy pozostałe polecenia w folderze np ~/L50


zostawiam angielskie napisy bo to jest tłumaczenie maszynowe nie moje

Wyodrębnij plik kwbimage.cfg (wraz z tabelą RAM) z kopii zapasowej fabrycznego U-Boota 1.1.4
Extract the kwbimage.cfg (including the RAM table) from your stock U-Boot 1.1.4 backup

# dumpimage -T kwbimage -p -1 mtd0_u-boot.bin -o stock_kwb.cfg

Wyodrębnij plik kwbimage.cfg z obrazu U-Boota OpenWrt 2020.04
Extract the kwbimage.cfg from the OpenWrt U-Boot 2020.04 image

# dumpimage -T kwbimage -p -1 u-boot.kwb -o openwrt_kwb.cfg

Wyświetl wyodrębnioną fabryczną tabelę RAM i porównaj różnice między plikami
Print the extracted stock RAM table and compare the differences

# cat stock_kwb.cfg
# diff -u stock_kwb.cfg openwrt_kwb.cfg

Wyodrębnij surowy kod U-Boota z obrazu OpenWrt u-boot.kwb
Extract the raw U-Boot payload from OpenWrt u-boot.kwb

# dumpimage -T kwbimage -p 0 u-boot.kwb -o u-boot-raw.bin

Zbuduj plik u-boot-256m.kwb, używając fabrycznego pliku stock_kwb.cfg
oraz adresu wejściowego 0x00600000
Build u-boot-256m.kwb using your stock_kwb.cfg and 0x00600000 entry point

# mkimage -n stock_kwb.cfg -T kwbimage -a 0x00600000 -e 0x00600000 -d u-boot-raw.bin u-boot-256m.kwb

w tym momencie mamy działający u-boot-256m.kwb który ładujemy do ram

# sudo kwboot -B 115200 /dev/ttyS0 -b u-boot-256m.kwb -t

[sudo] password for user:
    
kwboot version 2025.10
Detected kwbimage v0 with NAND boot signature
Patching image boot signature to UART
Sending boot message. Please reboot the target...\
Sending boot image header (512 bytes)...
 25 % [....                                                                  ]
Done
Sending boot image data (631328 bytes)...
  0 % [......................................................................]
  1 % [......................................................................]
  2 % [......................................................................]
  4 % [......................................................................]
  5 % [......................................................................]

 
 95 % [......................................................................]
 96 % [......................................................................]
 97 % [......................................................................]
 99 % [.................................                                     ]
Done
Finishing transfer
[Type Ctrl-\ + c to quit]


U-Boot 2020.04 (Oct 15 2026 - 15:08:58 +0000)
Check Point L-50

SoC:   Kirkwood 88F6281_A1
Model: Check Point L-50
DRAM:  256 MiB
NAND:  512 MiB
MMC:   
Loading Environment from NAND... *** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   
Error: ethernet-controller@72000 address not set.

Error: ethernet-controller@76000 address not set.
No ethernet found.

Hit any key to stop autoboot:  0 
ubi0: attaching mtd3
ubi0: scanning is finished
ubi0 error: ubi_read_volume_table: the layout volume was not found
ubi0 error: ubi_attach_mtd_dev: failed to attach mtd3, error -22
UBI error: cannot attach mtd3
UBI error: cannot initialize UBI, error -22
UBI init error 22
Please check, if the correct MTD partition is used (size big enough?)
Error, no UBI device selected!
Wrong Image Format for bootm command
ERROR: can't get kernel image!
=>
=>
=>
=> printenv 
baudrate=115200
bootargs=console=ttyS0,115200
bootcmd=ubi part ubi; ubi read 0x800000 kernel; bootm 0x800000
bootdelay=1
fdtcontroladdr=fb1f948
ipaddr=192.168.1.1
mtdids=nand0=orion_nand
mtdparts=mtdparts=orion_nand:0xc0000@0x0(u-boot)ro,0x40000@0xc0000(bootldr-env),0x7900000@0x100000(ubi),0x800000@0x7a00000(kernel-2),0x7100000@0x8200000(rootfs-2),0x7900000@0xf300000(default_sw),0x1800000@0x16c00000(logs),0x100000@0x18400000(preset_cfg),0x100000@0x18500000(adsl),-@0x18600000(storage)
serverip=192.168.1.2

Environment size: 511/131068 bytes

wyświetla prawidłowo DRAM:  256 MiB oraz NAND:  512 MiB

pozostaje pytanie czy nie można dodać flagi dla u-boot w celu nie lądowania domyślnie obu banków pamięci tylko  sprawdzić czy urządzenie ma jeden czy dwa banki.


kolejna część to będą obrazy Initramfs i Sysupgrade