Page 1 of 2
如何构建FASTBOOT镜像
Posted: 2024-09-06 14:45
by armer_song
如题,想做快启的固件,要如何修改配置文件。
尝试在.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 \
Re: 如何构建FASTBOOT镜像
Posted: 2024-09-07 2:05
by Crocodile
您好,快速启动会跳过uboot阶段,正确注册boot按键的步骤被跳过了,想要再次进入boot模式需要短接存储芯片的时钟脚和GND让芯片识别不到任何存储设备强制进入maskrom 模式,这种操作有烧坏芯片的风险请谨慎操作
Re: 如何构建FASTBOOT镜像
Posted: 2024-09-07 2:46
by armer_song
方便给出存储芯片的时钟脚的图?我手上没有点位图,所以不确定是哪个脚
Re: 如何构建FASTBOOT镜像
Posted: 2024-09-07 3:44
by Crocodile
请问使用的是什么型号的luckfox pico
Re: 如何构建FASTBOOT镜像
Posted: 2024-09-07 5:47
by armer_song
LuckFox Pico Pro
RV1106g2
Re: 如何构建FASTBOOT镜像
Posted: 2024-09-07 5:58
by armer_song
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"
Re: 如何构建FASTBOOT镜像
Posted: 2024-09-07 5:58
by Crocodile
这是 Luckfox Pico Pro SPI Nand 时钟线的位置(芯片第6脚),短接地后再上电强制进入Maskrom模式,请确定好操作无误再上电防止损坏元器件
Re: 如何构建FASTBOOT镜像
Posted: 2024-09-07 6:18
by Crocodile
快速启动是 Rockchip 官方 SDK 中提供的功能,我们的SDK是基于官方 SDK 客制化的,经过验证的功能会在 wiki 中说明,没有验证的功能我们仅给予开发建议不做技术支持,相应的开发和验证都需要您自行完成。
fastboot功能在spl阶段就会跳过对uboot的加载直接加载内核,在兼容 SD 卡和动态设备树加载上我们在uboot上做了修改,如果使用fastboot功能就完全脱离了SDK预期实现的功能;同时fastboot模式下想要正常启动摄像头还需要RV1106 中的MCU对摄像头进行初始化,对于MCU的控制也是一个不简单的开发流程;fastboot所进入的根文件系统是ramdisk(squashfs文件系统)只读系统,大部分都不能二次编辑,也就是系统烧录前就要确定好功能已经调试好;如果您有更好的替代方案,不建议使用快启功能。
Re: 如何构建FASTBOOT镜像
Posted: 2024-09-07 9:29
by armer_song
Crocodile wrote: ↑2024-09-07 5:58
这是 Luckfox Pico Pro SPI Nand 时钟线的位置(芯片第6脚),短接地后再上电强制进入Maskrom模式,请确定好操作无误再上电防止损坏元器件
好的,短接需要串电阻?
Re: 如何构建FASTBOOT镜像
Posted: 2024-09-07 9:30
by armer_song
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文件系统)只读系统,大部分都不能二次编辑,也就是系统烧录前就要确定好功能已经调试好;如果您有更好的替代方案,不建议使用快启功能。
感谢支持,我先试试