Luckfox Pico Ultra
-
Luckfox Pico Ultra 系列的开发板,我想要将第一快开发板配置好的程序直接进行镜像提取,然后将第一快开发板镜像烧录给其他开发板应该如何做
有两种方法推荐,但都需要重新在SDK中编译或者打包镜像
方法一:
比如你在/etc下加了一个系统文件,可以把这个文件复制到/luckfox-pico/project/cfg/Boardconfig IPc/overlay里,可以加个文件夹存放你的备份文件,同时再相应的SDK配置文件中添加然后打包,再重新烧录。
方法二:
可以先参考这个链接viewtopic.php?p=4177,补充具体打包镜像如下:
在SDK中先要在buildroot里面添加dc3dd工具,因为出厂固件是没有这个工具的。
将编译镜像烧录到开发板,配置自己的软件。POE或者GPIO供电,将USB切换成host模式。挂载U盘,然后使用dc3dd命令,使用方式和dd命令差不多
方法一:
比如你在/etc下加了一个系统文件,可以把这个文件复制到/luckfox-pico/project/cfg/Boardconfig IPc/overlay里,可以加个文件夹存放你的备份文件,同时再相应的SDK配置文件中添加然后打包,再重新烧录。
Code: Select all
cd /luckfox-pico/project/cfg/Boardconfig IPc/overlay
ls overlay-buildroot-npc
方法二:
可以先参考这个链接viewtopic.php?p=4177,补充具体打包镜像如下:
在SDK中先要在buildroot里面添加dc3dd工具,因为出厂固件是没有这个工具的。
Code: Select all
./build.sh buildrootconfig #添加dc3dd
./build.sh #重新编译脚本
我开始尝试上面的两种方式进行镜像的生成:
第一:我将一块配置好的开发板中的/etc文件夹以及/home文件夹复制到对应的文件夹下面,然后开始编译生成的镜像文件,使用工具进行烧录,经过测试发现当前新的开发板中并没有对应的文件。
所以我得做法是由什么错误的地方吗。 第二:直接使用工具进行对应空间的数据提取,然后将提取出来的数据使用工具烧录给新的开发板,但是测试发现开发板无法正常的启动。
第一:我将一块配置好的开发板中的/etc文件夹以及/home文件夹复制到对应的文件夹下面,然后开始编译生成的镜像文件,使用工具进行烧录,经过测试发现当前新的开发板中并没有对应的文件。
所以我得做法是由什么错误的地方吗。 第二:直接使用工具进行对应空间的数据提取,然后将提取出来的数据使用工具烧录给新的开发板,但是测试发现开发板无法正常的启动。
方法一中需要写入对应的mk文件,如果是Luckfox_Pico_Ultra_W的buildroot系统,则是BoardConfig-EMMC-Buildroot-RV1106_Luckfox_Pico_Ultra_W-IPC.mk。再通过./build.sh firmware打包,后进行烧录。
我现在可以成功的将文件备份下来,并且备份下来的文件经过测试是可以执行的。
我现在创建了一个服务放置在a开发板的系统目录下面,并且经过设置可以成功的将其设置成开机自启动的形式,使用上面的方式可以成功的将服务正常的复制到b开发板下面,但是检查发现其属于的用户是属于pico用户权限下面,需要手动使用下面的命令将其给超级用户权限。并且b的开发板中的服务并没有随着开发板启动而启动。
sudo chown root:root /lib/systemd/system/shademe_app.service
而且好像复制出来的文件权限都不是复制之前的权限.
pico
我现在创建了一个服务放置在a开发板的系统目录下面,并且经过设置可以成功的将其设置成开机自启动的形式,使用上面的方式可以成功的将服务正常的复制到b开发板下面,但是检查发现其属于的用户是属于pico用户权限下面,需要手动使用下面的命令将其给超级用户权限。并且b的开发板中的服务并没有随着开发板启动而启动。
sudo chown root:root /lib/systemd/system/shademe_app.service
而且好像复制出来的文件权限都不是复制之前的权限.
pico
方法一和方法二实测都是可以完整的备份文件权限信息的。
如果是方法一,需要检查备份目录下的文件是否为root权限。方法二,在ubuntu系统中没有将块设备映射到/dev/block/by-name/rootfs,您可以运行dc3dd命令来复制mmcblk0p7分区的内容到一个镜像文件中。运行:
如果是方法一,需要检查备份目录下的文件是否为root权限。方法二,在ubuntu系统中没有将块设备映射到/dev/block/by-name/rootfs,您可以运行dc3dd命令来复制mmcblk0p7分区的内容到一个镜像文件中。运行:
Code: Select all
sudo dc3dd if=/dev/mmcblk0p7 of=/mnt/rootfs_backup.img
我现在使用的是方法一:进行镜像的备份,还有一个功能,就是我想要将使用这条命令(luckfox-config)配置的uart打开,i2c打开,以及rgb关闭这三个功能如何从第一快板子上面复制到另一块板子上面。
你可以直接在< luckfox-pico SDK >/sysdrv/source/kernel/arch/arm/boot/dts/rv1106g-luckfox-pico-ultra.dts设备树文件中配置uart,i2c,以及rgb关闭。例子如下:
Code: Select all
&rgb {
status = "disabled";
};
&uart5 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&uart5m1_xfer>;
};
&i2c4 {
status = "okay";
clock-frequency = <400000>;
pinctrl-names = "default";
pinctrl-0 = <&i2c4m2_xfer>;
sc3336: sc3336@30 {
compatible = "smartsens,sc3336";
status = "okay";
reg = <0x30>;
clocks = <&cru MCLK_REF_MIPI0>;
clock-names = "xvclk";
reset-gpios = <&gpio3 RK_PC5 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&mipi_refclk_out0>;
rockchip,camera-module-index = <0>;
rockchip,camera-module-facing = "back";
rockchip,camera-module-name = "CMK-OT2119-PC1";
rockchip,camera-module-lens-name = "30IRC-F16";
port {
sc3336_out: endpoint {
remote-endpoint = <&csi_dphy_input0>;
data-lanes = <1 2>;
};
};
};
};
直接在对应的文件中添加了下面的代码,主要是为了开启i2c2:
&i2c2 {
status = "okay";
clock-frequency = <400000>;
pinctrl-names = "default";
pinctrl-0 = <&i2c2m2_xfer>; // 确保 pinctrl 名称正确
sc3336: sc3336@30 {
compatible = "smartsens,sc3336";
status = "okay";
reg = <0x30>;
clocks = <&cru MCLK_REF_MIPI0>;
clock-names = "xvclk";
reset-gpios = <&gpio3 RK_PC5 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&mipi_refclk_out0>;
rockchip,camera-module-index = <0>;
rockchip,camera-module-facing = "back";
rockchip,camera-module-name = "CMK-OT2119-PC1";
rockchip,camera-module-lens-name = "30IRC-F16";
port {
sc3336_out: endpoint {
remote-endpoint = <&csi_dphy_input0>;
data-lanes = <1 2>;
};
};
};
};
麻烦查看一下是否正确,特别是复位引脚
&i2c2 {
status = "okay";
clock-frequency = <400000>;
pinctrl-names = "default";
pinctrl-0 = <&i2c2m2_xfer>; // 确保 pinctrl 名称正确
sc3336: sc3336@30 {
compatible = "smartsens,sc3336";
status = "okay";
reg = <0x30>;
clocks = <&cru MCLK_REF_MIPI0>;
clock-names = "xvclk";
reset-gpios = <&gpio3 RK_PC5 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&mipi_refclk_out0>;
rockchip,camera-module-index = <0>;
rockchip,camera-module-facing = "back";
rockchip,camera-module-name = "CMK-OT2119-PC1";
rockchip,camera-module-lens-name = "30IRC-F16";
port {
sc3336_out: endpoint {
remote-endpoint = <&csi_dphy_input0>;
data-lanes = <1 2>;
};
};
};
};
麻烦查看一下是否正确,特别是复位引脚
在对应的rv1106g-luckfox-pico-ultra-w.dts 这个文件中添加下面的两段代码,出现编译问题,无法进行设备编译
尝试只保留rgb相关的文件任然出现编译报错问题,无法进行正常的编译文件,是否需要改变其他文件的内容