[Linux] 请问这个单步更新能不能支持更新文件系统呢?更新机制再哪里?

9

主题

48

回帖

56

积分

楼主| max-chen 发表于 2018-6-15 09:45:29 | 显示全部楼层
Marss 发表于 2018-6-14 16:03
nand 的U盘更新正在整合方法,您是 emmc的单步更新文件系统用U盘的方法,这个没有试过,更新内核是可以的。 ...

ramdisk.img.u 请问这个文件你们是怎么做的。有什么方法吗,算是个最小系统把。在系统里面去升级。能否提供方法,我想在这里面做单步烧写控制。
点评回复 支持 反对

使用道具 举报

0

主题

178

回帖

321

积分

AM5718通行证AM335x通行证i.MX6UL通行证i.MX6Q通行证XX18通行证TCU通行证

Marss 发表于 2018-6-15 11:40:37 | 显示全部楼层
在这个里面initramfs/build.sh里面 有一行定义生成这个.u文件 mkimage -A arm -O linux -T ramdisk -C gzip -a 0 -e 0 -n ramdisk -d ramdisk.i    mg.gz ramdisk.img.u        这个还真没有现成的方法提供给你,只是觉得可行,我们没这么做过抱歉。

点评

我们现在EMMC是两个分区,请问怎么增加分区呢。是不是要UBOOT修改才能增加分区啊  详情 回复 发表于 2018-6-15 14:16
initramfs/build.sh 这个在哪里? 没看到啊  详情 回复 发表于 2018-6-15 13:38
点评回复 支持 反对

使用道具 举报

9

主题

48

回帖

56

积分

楼主| max-chen 发表于 2018-6-15 13:38:12 | 显示全部楼层
Marss 发表于 2018-6-15 11:40
在这个里面initramfs/build.sh里面 有一行定义生成这个.u文件 mkimage -A arm -O linux -T ramdisk -C gzip ...

initramfs/build.sh 这个在哪里? 没看到啊
点评回复 支持 反对

使用道具 举报

9

主题

48

回帖

56

积分

楼主| max-chen 发表于 2018-6-15 14:16:10 | 显示全部楼层
Marss 发表于 2018-6-15 11:40
在这个里面initramfs/build.sh里面 有一行定义生成这个.u文件 mkimage -A arm -O linux -T ramdisk -C gzip ...

我们现在EMMC是两个分区,请问怎么增加分区呢。是不是要UBOOT修改才能增加分区啊
点评回复 支持 反对

使用道具 举报

0

主题

178

回帖

321

积分

AM5718通行证AM335x通行证i.MX6UL通行证i.MX6Q通行证XX18通行证TCU通行证

Marss 发表于 2018-6-15 14:26:55 | 显示全部楼层
这个文件是我们没开源的文件,我这里不能提供给你,后边是此ramdisk.img.u文件实现的代码  你可以参考这个来做
点评回复 支持 反对

使用道具 举报

0

主题

178

回帖

321

积分

AM5718通行证AM335x通行证i.MX6UL通行证i.MX6Q通行证XX18通行证TCU通行证

Marss 发表于 2018-6-15 14:28:56 | 显示全部楼层
增加分区需要修改烧写工具中的mksdcard.sh来实现,路径: mfgtools\Profiles\Linux\OS Firmware
emmc增加分区:http://bbs.witech.com.cn/portal.php?mod=view&aid=177
nand增加分区: http://bbs.witech.com.cn/portal.php?mod=view&aid=74

点评

ramdisk 这个内存文件系统在哪里呢?是内核编译出来的吗  详情 回复 发表于 2018-6-15 14:45
点评回复 支持 反对

使用道具 举报

9

主题

48

回帖

56

积分

楼主| max-chen 发表于 2018-6-15 14:45:57 | 显示全部楼层
Marss 发表于 2018-6-15 14:28
增加分区需要修改烧写工具中的mksdcard.sh来实现,路径: mfgtools\Profiles\Linux\OS Firmware
emmc增加 ...

ramdisk 这个内存文件系统在哪里呢?是内核编译出来的吗

点评

其主要是启动一个ramdisk,即内存文件系统,然后将mmc当成外设挂载,对mmc进行分区格式化和拷贝的操作 对mmc进行的操作脚本为linuxrc *******************************************************************  详情 回复 发表于 2018-6-15 14:53
点评回复 支持 反对

使用道具 举报

9

主题

48

回帖

56

积分

楼主| max-chen 发表于 2018-6-15 14:53:39 | 显示全部楼层
max-chen 发表于 2018-6-15 14:45
ramdisk 这个内存文件系统在哪里呢?是内核编译出来的吗

其主要是启动一个ramdisk,即内存文件系统,然后将mmc当成外设挂载,对mmc进行分区格式化和拷贝的操作

对mmc进行的操作脚本为linuxrc

**************************************************************************
linuxrc
**************************************************************************

#!/bin/sh
export PATH=/sbin:/bin:/usr/sbin:/usr/bin

mount -t sysfs none /sys
mount -t proc none /proc
mount -t devtmpfs none /dev
sleep 3

# disable turn off display
#echo -e "\033[9;0]" > /dev/tty0
echo "start fuse emmc--->" > /dev/tty0
echo "format emmc" > /dev/tty0
/bin/sh /mksdcard.sh /dev/mmcblk1
dd if=/dev/zero of=/dev/mmcblk1 bs=1k seek=384 conv=fsync count=129

mkdir -p /run/mmc0
mkdir -p /run/mmc1
mount /dev/mmcblk0p1 /run/mmc0

echo "burn uboot" > /dev/tty0
echo 0 > /sys/block/mmcblk1boot0/force_ro
dd if=/run/mmc0/system/u-boot.imx of=/dev/mmcblk1boot0 bs=512 seek=2
echo 1 > /sys/block/mmcblk1boot0/force_ro
echo 8 > /sys/block/mmcblk1/device/boot_config

echo "create fat partition" > /dev/tty0
mkfs.vfat /dev/mmcblk1p1
mount /dev/mmcblk1p1 /run/mmc1

echo "burn zImage" > /dev/tty0
cp /run/mmc0/system/zImage /run/mmc1/zImage

echo "burn logo"   > /dev/tty0
cp /run/mmc0/system/logo-7.bmp /run/mmc1/logo-7.bmp
cp /run/mmc0/system/logo-8.bmp /run/mmc1/logo-8.bmp
cp /run/mmc0/system/logo-5.6.bmp /run/mmc1/logo-5.6.bmp
cp /run/mmc0/system/logo-4.3.bmp /run/mmc1/logo-4.3.bmp

echo "burn dtbs" > /dev/tty0
cp /run/mmc0/system/imx6ul-14x14-evk.dtb /run/mmc1/imx6ul-14x14-evk.dtb
cp /run/mmc0/system/imx6ul-14x14-evk-7.dtb /run/mmc1/imx6ul-14x14-evk-7.dtb
cp /run/mmc0/system/imx6ul-14x14-evk-5.6-r.dtb /run/mmc1/imx6ul-14x14-evk-5.6-r.dtb
cp /run/mmc0/system/imx6ul-14x14-evk-10.4-r.dtb /run/mmc1/imx6ul-14x14-evk-10.4-r.dtb
cp /run/mmc0/system/imx6ul-14x14-evk-8-r.dtb /run/mmc1/imx6ul-14x14-evk-8-r.dtb
cp /run/mmc0/system/imx6ul-14x14-evk-4.3-r.dtb /run/mmc1/imx6ul-14x14-evk-4.3-r.dtb
umount /run/mmc1


echo "burn rootfs" > /dev/tty0
mkfs.ext3 -E nodiscard /dev/mmcblk1p2
mount -t ext3 /dev/mmcblk1p2 /run/mmc1
tar xvf /run/mmc0/system/rootfs.tar.bz2 -C /run/mmc1
umount /run/mmc1

umount /run/mmc0


echo "Update Complete!!!!!!!"  > /dev/tty0
echo "Update Complete!!!!!!!"


while true
do
        echo 1 > /sys/class/leds/led3/brightness
        sleep 1
        echo 1 > /sys/class/leds/led3/brightness
        sleep 1
done

就是这个是如何制作的,我好像没有找到ramdisk这个文件
点评回复 支持 反对

使用道具 举报

0

主题

178

回帖

321

积分

AM5718通行证AM335x通行证i.MX6UL通行证i.MX6Q通行证XX18通行证TCU通行证

Marss 发表于 2018-6-15 17:08:32 | 显示全部楼层
这个是我们做的一个没开源的程序。。。

点评

uboot 也没开源,这也没开源啊,只有个kernel  详情 回复 发表于 2018-6-19 08:48
点评回复 支持 反对

使用道具 举报

9

主题

48

回帖

56

积分

楼主| max-chen 发表于 2018-6-19 08:48:25 | 显示全部楼层
Marss 发表于 2018-6-15 17:08
这个是我们做的一个没开源的程序。。。

uboot 也没开源,这也没开源啊,只有个kernel
点评回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则