diff -urNp a/target/linux/ramips/dts/mt7620a_yukai_bocco.dts b/target/linux/ramips/dts/mt7620a_yukai_bocco.dts --- a/target/linux/ramips/dts/mt7620a_yukai_bocco.dts 2026-08-13 11:58:49.400544949 +0000 +++ b/target/linux/ramips/dts/mt7620a_yukai_bocco.dts 2026-08-13 12:07:47.055101313 +0000 @@ -7,6 +7,10 @@ compatible = "yukai,bocco", "ralink,mt7620a-soc"; model = "YUKAI Engineering BOCCO"; + chosen { + bootargs = "console=ttyS0,57600 root=/dev/ubiblock0_0 ubi.mtd=ubi ubi.block=0,0 rootfstype=squashfs ro"; + }; + sound { compatible = "simple-audio-card"; simple-audio-card,name = "Audio-I2S"; @@ -36,6 +40,17 @@ nand { compatible = "mtk,mt7620-nand"; + #address-cells = <1>; + #size-cells = <1>; + + nand-ecc-mode = "hw"; + nand-ecc-strength = <4>; + nand-ecc-step-size = <512>; + + nand-bus-width = <8>; + + page-size = <2048>; + block-size = <131072>; partitions { compatible = "fixed-partitions"; @@ -43,16 +58,8 @@ #size-cells = <1>; partition@0 { - label = "nand0"; - reg = <0x0 0x17f00000>; - }; - partition@17f00000 { - label = "nand1"; - reg = <0x17f00000 0x100000>; - }; - partition@18000000 { - label = "nand2"; - reg = <0x18000000 0x2000000>; + label = "ubi"; + reg = <0x0 0x20000000>; }; }; }; @@ -111,8 +118,7 @@ }; partition@50000 { - compatible = "denx,uimage"; - label = "firmware"; + label = "kernel"; reg = <0x50000 0x7b0000>; }; }; diff -urNp a/target/linux/ramips/image/mt7620.mk b/target/linux/ramips/image/mt7620.mk --- a/target/linux/ramips/image/mt7620.mk 2026-05-27 23:24:03.000000000 +0000 +++ b/target/linux/ramips/image/mt7620.mk 2026-08-13 12:09:28.352274643 +0000 @@ -1387,6 +1387,14 @@ TARGET_DEVICES += youku_yk-l1c define Device/yukai_bocco SOC := mt7620a IMAGE_SIZE := 7872k + FILESYSTEMS += ubifs + PAGESIZE := 2048 + BLOCKSIZE := 128k + SUBPAGESIZE := 2048 + IMAGES := kernel.bin rootfs.ubi sysupgrade.bin + IMAGE/kernel.bin := append-kernel + IMAGE/rootfs.ubi := append-ubi + IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata DEVICE_VENDOR := YUKAI Engineering DEVICE_MODEL := BOCCO DEVICE_PACKAGES := kmod-sound-core kmod-sound-mt7620 kmod-i2c-ralink diff -urNp a/target/linux/ramips/mt7620/base-files/lib/upgrade/platform.sh b/target/linux/ramips/mt7620/base-files/lib/upgrade/platform.sh --- a/target/linux/ramips/mt7620/base-files/lib/upgrade/platform.sh 2026-05-27 23:24:03.000000000 +0000 +++ b/target/linux/ramips/mt7620/base-files/lib/upgrade/platform.sh 2026-08-13 12:10:37.866784464 +0000 @@ -38,6 +38,14 @@ platform_do_upgrade() { of=/dev/mtdblock$idx default_do_upgrade "$1" ;; + yukai,bocco) + CI_KERNPART="kernel" + kernel_mtd=$(find_mtd_part "$CI_KERNPART") + if [ -n "$kernel_mtd" ]; then + tar -xf "$1" -O "sysupgrade-yukai_bocco/kernel" > "$kernel_mtd" + fi + nand_do_upgrade "$1" + ;; *) default_do_upgrade "$1" ;; diff -urNp a/target/linux/ramips/mt7620/config-5.15 b/target/linux/ramips/mt7620/config-5.15 --- a/target/linux/ramips/mt7620/config-5.15 2026-08-13 11:58:49.403545036 +0000 +++ b/target/linux/ramips/mt7620/config-5.15 2026-08-13 12:12:31.936540206 +0000 @@ -32,6 +32,10 @@ CONFIG_CPU_R4K_CACHE_TLB=y CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y CONFIG_CPU_SUPPORTS_HIGHMEM=y CONFIG_CPU_SUPPORTS_MSA=y +CONFIG_CRC16=y +CONFIG_CRYPTO_ACOMP2=y +CONFIG_CRYPTO_DEFLATE=y +CONFIG_CRYPTO_LZO=y CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y CONFIG_CRYPTO_LIB_POLY1305_RSIZE=2 CONFIG_CRYPTO_RNG2=y @@ -90,6 +94,8 @@ CONFIG_IRQ_MIPS_CPU=y CONFIG_IRQ_WORK=y CONFIG_LIBFDT=y CONFIG_LOCK_DEBUGGING_SUPPORT=y +CONFIG_LZO_COMPRESS=y +CONFIG_LZO_DECOMPRESS=y CONFIG_MARVELL_PHY=y CONFIG_MDIO_BUS=y CONFIG_MDIO_DEVICE=y @@ -124,6 +130,12 @@ CONFIG_MTD_SPLIT_SEAMA_FW=y CONFIG_MTD_SPLIT_TPLINK_FW=y CONFIG_MTD_SPLIT_UIMAGE_FW=y CONFIG_MTD_VIRT_CONCAT=y +CONFIG_MTD_UBI=y +CONFIG_MTD_UBI_BEB_LIMIT=20 +CONFIG_MTD_UBI_BLOCK=y +# CONFIG_MTD_UBI_FASTMAP is not set +# CONFIG_MTD_UBI_GLUEBI is not set +CONFIG_MTD_UBI_WL_THRESHOLD=4096 CONFIG_NEED_DMA_MAP_STATE=y CONFIG_NEED_PER_CPU_KM=y CONFIG_NET_RALINK_GSW_MT7620=y @@ -196,6 +208,11 @@ CONFIG_TICK_CPU_ACCOUNTING=y CONFIG_TIMER_OF=y CONFIG_TIMER_PROBE=y CONFIG_TINY_SRCU=y +CONFIG_UBIFS_ATIME_SUPPORT=y +CONFIG_UBIFS_FS=y +CONFIG_UBIFS_FS_ADVANCED_COMPR=y +CONFIG_UBIFS_FS_LZO=y +CONFIG_UBIFS_FS_ZLIB=y CONFIG_USB_SUPPORT=y CONFIG_USE_OF=y CONFIG_WATCHDOG_CORE=y