Update readme with ota-swap instructions.

This commit is contained in:
ballaswag
2023-09-25 23:38:44 -07:00
parent 5261aa4d6a
commit 1bfdf69b1e
+15 -2
View File
@@ -8,11 +8,24 @@ To see console output, a USB to TTL adapter is needed. For the Creality K1 board
To Enter USB Boot mode for the K1, hold the boot button, while holding boot hold down reset, let go reset then boot.
```./usbboot --cpu x2000 --stage1 ./spl.bin --wait 1 --stage2 ./uboot.bin```
```$ sudo ./usbboot --uboot```
BIG caveat, I haven't gotten keyboard input to work through serial, I can only see the uboot logs. Please reach out if you figure out how to get keyboard input over serial for uboot.
## Unbricking Creality K1 Mainboard
The Creality K1 comes with a set of backup partitions. The OTA partition stores either the string `ota:kernel` or `ota:kernel2` to indicate which set of partitions to boot. This tool allows you to quickly switch between the two. This should fix a bricked Creality K1 mainboard given the backup partitions are functional. For cases where the partition table, main, and backup partitions are corrupted, read through this [guide](https://github.com/ballaswag/k1-discovery/blob/main/k1-ingenic-cloner-instruction.pdf) for a better chance of recoverying the mainboad.
```
$ sudo ./usbboot --uboot
$ sudo ./usbboot --swap-ota
Current OTA points at kernel. Switching OTA to kernel2
Switched OTA to ota:kernel2
$ sudo ./usbboot --swap-ota
Current OTA points at kernel2. Switching OTA to kernel
Switched OTA to ota:kernel
```
## SPL/u-boot
The general idea is to write and execute loader codes at different memory spaces during the different stages of boot. SPL is a smaller piece of code that lives in TCSM/SRAM and executed to initialize DRAM. Then the bigger uboot code can be loaded and executed from DRAM.