如何构建FASTBOOT镜像

  • 您好,快速启动会跳过uboot阶段,正确注册boot按键的步骤被跳过了,想要再次进入boot模式需要短接存储芯片的时钟脚和GND让芯片识别不到任何存储设备强制进入maskrom 模式,这种操作有烧坏芯片的风险请谨慎操作
  • 方便给出存储芯片的时钟脚的图?我手上没有点位图,所以不确定是哪个脚
  • 请问使用的是什么型号的luckfox pico
  • LuckFox Pico Pro
    RV1106g2
  • armer_song wrote: 2024-09-06 14:45 如题,想做快启的固件,要如何修改配置文件。
    尝试在.BoardConfig.mk中加下面配置,编译的镜像烧录后,板子好像变砖了。

    # enable fastboot
    export RK_ENABLE_FASTBOOT=y

    # disable adb
    export RK_ENABLE_ADBD=n

    # disable gdb
    export RK_ENABLE_GDB=n

    # disable udev
    export RK_ENABLE_EUDEV=y

    # enable rndis
    export RK_ENABLE_RNDIS=y

    # declare overlay directory
    export RK_POST_OVERLAY=overlay-battery-ipc

    export RK_META_PARAM=" \
    --rk_cam_mirror_flip=0 \
    --rk_cam_fps=25 \
    --rk_cam_hdr=0 \
    --rk_led_value=20 \
    --rk_night_mode=2 \
    快启打开后,编译会报错,无法生成rootfs。日志如下:

    Code: Select all

    [mkfs_ubi.sh:info] End build ubi images...
    
    [build.sh:info] Running build_mkimg succeeded.
    [build.sh:info] start to strip /media/data1/projects/embed/luckfox/luckfox-pico/output/out/rootfs_uclibc_rv1106
    [build.sh:info] src=/media/data1/projects/embed/luckfox/luckfox-pico/output/out/rootfs_uclibc_rv1106
    [build.sh:info] dst=/media/data1/projects/embed/luckfox/luckfox-pico/output/image/boot.img
    [build.sh:info] fs_type=
    [build.sh:info] part_name=boot
    [build.sh:info] part_size=4MB
    [build.sh:error] Not support fs type: 
    [build.sh:info] Running build_mkimg succeeded.
    [build.sh:info] start to strip /media/data1/projects/embed/luckfox/luckfox-pico/output/out/userdata
    [build.sh:info] src=/media/data1/projects/embed/luckfox/luckfox-pico/output/out/userdata
    [build.sh:info] dst=/media/data1/projects/embed/luckfox/luckfox-pico/output/image/userdata.img
    [build.sh:info] fs_type=ubifs
    [build.sh:info] part_name=userdata
    [build.sh:info] part_size=10MB
    
    [mkfs_ubi.sh:info] Start build ubi images...
    /usr/bin/fakeroot
    [mkfs_ubi.sh:info] ubifs_lebsize=0x20000
    [mkfs_ubi.sh:info] ubifs_miniosize=2048
    [mkfs_ubi.sh:info] ubifs_maxlebcnt=82
    [mkfs_ubi.sh:info] ubifs compression support: lzo|zlib !!!
    [mkfs_ubi.sh:warn]  is not support, default use lzo !!!
    
    [mkfs_ubi.sh:info] ubifs_lebsize=0x40000
    [mkfs_ubi.sh:info] ubifs_miniosize=2048
    [mkfs_ubi.sh:info] ubifs_maxlebcnt=40
    [mkfs_ubi.sh:info] ubifs compression support: lzo|zlib !!!
    [mkfs_ubi.sh:warn]  is not support, default use lzo !!!
    
    [mkfs_ubi.sh:info] ubifs_lebsize=0x40000
    [mkfs_ubi.sh:info] ubifs_miniosize=4096
    [mkfs_ubi.sh:info] ubifs_maxlebcnt=41
    [mkfs_ubi.sh:info] ubifs compression support: lzo|zlib !!!
    [mkfs_ubi.sh:warn]  is not support, default use lzo !!!
    
    start build fakeroot image
    mkfs.ubifs
    	root:         /media/data1/projects/embed/luckfox/luckfox-pico/output/out/userdata/
    	min_io_size:  2048
    	leb_size:     126976
    	max_leb_cnt:  82
    	output:       /media/data1/projects/embed/luckfox/luckfox-pico/output/image/.ubi_cfg/userdata_2KB_128KB_10MB.ubifs
    	jrn_size:     1142784
    	reserved:     0
    	compr:        lzo
    	keyhash:      r5
    	fanout:       8
    	orph_lebs:    1
    	space_fixup:  1
    	super lebs:   1
    	master lebs:  2
    	log_lebs:     4
    	lpt_lebs:     2
    	orph_lebs:    1
    	main_lebs:    3
    	gc lebs:      1
    	index lebs:   1
    	leb_cnt:      13
    	UUID:         FC330F05-5991-456E-AC73-C8560D4C784D
    Success!
    ubinize: LEB size:                  126976
    ubinize: PEB size:                  131072
    ubinize: min. I/O size:             2048
    ubinize: sub-page size:             2048
    ubinize: VID offset:                2048
    ubinize: data offset:               4096
    ubinize: UBI image sequence number: 1881568256
    ubinize: loaded the ini-file "/media/data1/projects/embed/luckfox/luckfox-pico/output/image/.ubi_cfg/userdata_2KB_128KB_10MB_ubinize.cfg"
    ubinize: count of sections: 1
    
    ubinize: parsing section "ubifs"
    ubinize: mode=ubi, keep parsing
    ubinize: volume type: dynamic
    ubinize: volume ID: 0
    ubinize: volume size was not specified in section "ubifs", assume minimum to fit image "/media/data1/projects/embed/luckfox/luckfox-pico/output/image/.ubi_cfg/userdata_2KB_128KB_10MB.ubifs"1650688 bytes (1.6 MiB)
    ubinize: volume name: userdata
    ubinize: volume alignment: 1
    ubinize: autoresize flags found
    ubinize: adding volume 0
    ubinize: writing volume 0
    ubinize: image file: /media/data1/projects/embed/luckfox/luckfox-pico/output/image/.ubi_cfg/userdata_2KB_128KB_10MB.ubifs
    
    ubinize: writing layout volume
    ubinize: done
    mkfs.ubifs
    	root:         /media/data1/projects/embed/luckfox/luckfox-pico/output/out/userdata/
    	min_io_size:  2048
    	leb_size:     258048
    	max_leb_cnt:  40
    	output:       /media/data1/projects/embed/luckfox/luckfox-pico/output/image/.ubi_cfg/userdata_2KB_256KB_10MB.ubifs
    	jrn_size:     1032192
    	reserved:     0
    	compr:        lzo
    	keyhash:      r5
    	fanout:       8
    	orph_lebs:    1
    	space_fixup:  1
    	super lebs:   1
    	master lebs:  2
    	log_lebs:     4
    	lpt_lebs:     2
    	orph_lebs:    1
    	main_lebs:    3
    	gc lebs:      1
    	index lebs:   1
    	leb_cnt:      13
    	UUID:         1B09C3A0-43B9-48D9-9ED1-712885355356
    Success!
    ubinize: LEB size:                  258048
    ubinize: PEB size:                  262144
    ubinize: min. I/O size:             2048
    ubinize: sub-page size:             2048
    ubinize: VID offset:                2048
    ubinize: data offset:               4096
    ubinize: UBI image sequence number: 624623720
    ubinize: loaded the ini-file "/media/data1/projects/embed/luckfox/luckfox-pico/output/image/.ubi_cfg/userdata_2KB_256KB_10MB_ubinize.cfg"
    ubinize: count of sections: 1
    
    ubinize: parsing section "ubifs"
    ubinize: mode=ubi, keep parsing
    ubinize: volume type: dynamic
    ubinize: volume ID: 0
    ubinize: volume size was not specified in section "ubifs", assume minimum to fit image "/media/data1/projects/embed/luckfox/luckfox-pico/output/image/.ubi_cfg/userdata_2KB_256KB_10MB.ubifs"3354624 bytes (3.2 MiB)
    ubinize: volume name: userdata
    ubinize: volume alignment: 1
    ubinize: autoresize flags found
    ubinize: adding volume 0
    ubinize: writing volume 0
    ubinize: image file: /media/data1/projects/embed/luckfox/luckfox-pico/output/image/.ubi_cfg/userdata_2KB_256KB_10MB.ubifs
    
    ubinize: writing layout volume
    ubinize: done
    mkfs.ubifs
    	root:         /media/data1/projects/embed/luckfox/luckfox-pico/output/out/userdata/
    	min_io_size:  4096
    	leb_size:     253952
    	max_leb_cnt:  41
    	output:       /media/data1/projects/embed/luckfox/luckfox-pico/output/image/.ubi_cfg/userdata_4KB_256KB_10MB.ubifs
    	jrn_size:     1015808
    	reserved:     0
    	compr:        lzo
    	keyhash:      r5
    	fanout:       8
    	orph_lebs:    1
    	space_fixup:  1
    	super lebs:   1
    	master lebs:  2
    	log_lebs:     4
    	lpt_lebs:     2
    	orph_lebs:    1
    	main_lebs:    3
    	gc lebs:      1
    	index lebs:   1
    	leb_cnt:      13
    	UUID:         C0031076-6794-4A53-A364-F8A8C19BD628
    Success!
    ubinize: LEB size:                  253952
    ubinize: PEB size:                  262144
    ubinize: min. I/O size:             4096
    ubinize: sub-page size:             4096
    ubinize: VID offset:                4096
    ubinize: data offset:               8192
    ubinize: UBI image sequence number: 410637296
    ubinize: loaded the ini-file "/media/data1/projects/embed/luckfox/luckfox-pico/output/image/.ubi_cfg/userdata_4KB_256KB_10MB_ubinize.cfg"
    ubinize: count of sections: 1
    
    ubinize: parsing section "ubifs"
    ubinize: mode=ubi, keep parsing
    ubinize: volume type: dynamic
    ubinize: volume ID: 0
    ubinize: volume size was not specified in section "ubifs", assume minimum to fit image "/media/data1/projects/embed/luckfox/luckfox-pico/output/image/.ubi_cfg/userdata_4KB_256KB_10MB.ubifs"3301376 bytes (3.1 MiB)
    ubinize: volume name: userdata
    ubinize: volume alignment: 1
    ubinize: autoresize flags found
    ubinize: adding volume 0
    ubinize: writing volume 0
    ubinize: image file: /media/data1/projects/embed/luckfox/luckfox-pico/output/image/.ubi_cfg/userdata_4KB_256KB_10MB.ubifs
    
    ubinize: writing layout volume
    ubinize: done
    [mkfs_ubi.sh:info] End build ubi images...
    
    [build.sh:info] Running build_mkimg succeeded.
    [build.sh:info] Running build_tftp_sd_update succeeded.
    [mk-update_pack.sh:info] image input dir: /media/data1/projects/embed/luckfox/luckfox-pico/output/image
    [mk-update_pack.sh:info] partition file name: env.img
    [mk-update_pack.sh:info] start to package update.img...
    [mk-update_pack.sh:error] Not found image file: /media/data1/projects/embed/luckfox/luckfox-pico/output/image/boot
    [mk-update_pack.sh:info] partitions:
    env	env.img
    idblock	idblock.img
    uboot	uboot.img
    oem	oem.img
    userdata	userdata.img
    rootfs	rootfs.img
    package-file	package-file
    bootloader	download.bin
    
    TOOL_PATH=/media/data1/projects/embed/luckfox/luckfox-pico/tools/linux/Linux_Pack_Firmware
    Android Firmware Package Tool v2.2
    ------ PACKAGE ------
    Add file: /media/data1/projects/embed/luckfox/luckfox-pico/output/image/env.img
    env,Add file: /media/data1/projects/embed/luckfox/luckfox-pico/output/image/env.img done,offset=0x800,size=0x40000,userspace=0x80,flash_address=0x00000000
    Add file: /media/data1/projects/embed/luckfox/luckfox-pico/output/image/idblock.img
    idblock,Add file: /media/data1/projects/embed/luckfox/luckfox-pico/output/image/idblock.img done,offset=0x40800,size=0x3e000,userspace=0x7c,flash_address=0x00000200
    Add file: /media/data1/projects/embed/luckfox/luckfox-pico/output/image/uboot.img
    uboot,Add file: /media/data1/projects/embed/luckfox/luckfox-pico/output/image/uboot.img done,offset=0x7e800,size=0x40000,userspace=0x80,flash_address=0x00000400
    Add file: /media/data1/projects/embed/luckfox/luckfox-pico/output/image/oem.img
    oem,Add file: /media/data1/projects/embed/luckfox/luckfox-pico/output/image/oem.img done,offset=0xbe800,size=0x1400000,userspace=0x2800,flash_address=0x00002800
    Add file: /media/data1/projects/embed/luckfox/luckfox-pico/output/image/userdata.img
    userdata,Add file: /media/data1/projects/embed/luckfox/luckfox-pico/output/image/userdata.img done,offset=0x14be800,size=0x1e0000,userspace=0x3c0,flash_address=0x00011800
    Add file: /media/data1/projects/embed/luckfox/luckfox-pico/output/image/rootfs.img
    rootfs,Add file: /media/data1/projects/embed/luckfox/luckfox-pico/output/image/rootfs.img done,offset=0x169e800,size=0x40c0000,userspace=0x8180,flash_address=0x00016800
    Add file: /media/data1/projects/embed/luckfox/luckfox-pico/output/image/package-file
    package-file,Add file: /media/data1/projects/embed/luckfox/luckfox-pico/output/image/package-file done,offset=0x575e800,size=0x97,userspace=0x1
    Add file: /media/data1/projects/embed/luckfox/luckfox-pico/output/image/download.bin
    bootloader,Add file: /media/data1/projects/embed/luckfox/luckfox-pico/output/image/download.bin done,offset=0x575f000,size=0x501f9,userspace=0xa1
    Add CRC...
    Make firmware OK!
    ------ OK ------
    ********rkImageMaker ver 2.2********
    Generating new image, please wait...
    Writing head info...
    Writing boot file...
    Writing firmware...
    Generating MD5 data...
    MD5 data generated successfully!
    New image generated successfully!
    [mk-update_pack.sh:info] Making -RK1106 update.img OK.
    [build.sh:info] Running build_updateimg succeeded.
    [build.sh:info] MEDIUM SPI_NAND relink Image
    mv: cannot stat '/media/data1/projects/embed/luckfox/luckfox-pico/output/image/rootfs.img': No such file or directory
    [build.sh:error] Running build_firmware failed!
    [build.sh:error] exit code 1 from line 2112:
    [build.sh:info]     mv "$target" "$RK_PROJECT_OUTPUT_IMAGE/$filename"
    
  • 这是 Luckfox Pico Pro SPI Nand 时钟线的位置(芯片第6脚),短接地后再上电强制进入Maskrom模式,请确定好操作无误再上电防止损坏元器件
    Attachments
    PixPin_2024-09-07_13-53-06.jpg
  • 快速启动是 Rockchip 官方 SDK 中提供的功能,我们的SDK是基于官方 SDK 客制化的,经过验证的功能会在 wiki 中说明,没有验证的功能我们仅给予开发建议不做技术支持,相应的开发和验证都需要您自行完成。
    fastboot功能在spl阶段就会跳过对uboot的加载直接加载内核,在兼容 SD 卡和动态设备树加载上我们在uboot上做了修改,如果使用fastboot功能就完全脱离了SDK预期实现的功能;同时fastboot模式下想要正常启动摄像头还需要RV1106 中的MCU对摄像头进行初始化,对于MCU的控制也是一个不简单的开发流程;fastboot所进入的根文件系统是ramdisk(squashfs文件系统)只读系统,大部分都不能二次编辑,也就是系统烧录前就要确定好功能已经调试好;如果您有更好的替代方案,不建议使用快启功能。
  • Crocodile wrote: 2024-09-07 5:58 这是 Luckfox Pico Pro SPI Nand 时钟线的位置(芯片第6脚),短接地后再上电强制进入Maskrom模式,请确定好操作无误再上电防止损坏元器件
    好的,短接需要串电阻?
  • Crocodile wrote: 2024-09-07 6:18 快速启动是 Rockchip 官方 SDK 中提供的功能,我们的SDK是基于官方 SDK 客制化的,经过验证的功能会在 wiki 中说明,没有验证的功能我们仅给予开发建议不做技术支持,相应的开发和验证都需要您自行完成。
    fastboot功能在spl阶段就会跳过对uboot的加载直接加载内核,在兼容 SD 卡和动态设备树加载上我们在uboot上做了修改,如果使用fastboot功能就完全脱离了SDK预期实现的功能;同时fastboot模式下想要正常启动摄像头还需要RV1106 中的MCU对摄像头进行初始化,对于MCU的控制也是一个不简单的开发流程;fastboot所进入的根文件系统是ramdisk(squashfs文件系统)只读系统,大部分都不能二次编辑,也就是系统烧录前就要确定好功能已经调试好;如果您有更好的替代方案,不建议使用快启功能。
    感谢支持,我先试试