max-chen 发表于 2018-6-15 09:45:29

Marss 发表于 2018-6-14 16:03
nand 的U盘更新正在整合方法,您是 emmc的单步更新文件系统用U盘的方法,这个没有试过,更新内核是可以的。 ...

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

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      这个还真没有现成的方法提供给你,只是觉得可行,我们没这么做过抱歉。

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 这个在哪里? 没看到啊

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修改才能增加分区啊

Marss 发表于 2018-6-15 14:26:55

这个文件是我们没开源的文件,我这里不能提供给你,后边是此ramdisk.img.u文件实现的代码你可以参考这个来做

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

max-chen 发表于 2018-6-15 14:45:57

Marss 发表于 2018-6-15 14:28
增加分区需要修改烧写工具中的mksdcard.sh来实现,路径: mfgtools\Profiles\Linux\OS Firmware
emmc增加 ...

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

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" > /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这个文件

Marss 发表于 2018-6-15 17:08:32

这个是我们做的一个没开源的程序。。。

max-chen 发表于 2018-6-19 08:48:25

Marss 发表于 2018-6-15 17:08
这个是我们做的一个没开源的程序。。。

uboot 也没开源,这也没开源啊,只有个kernel
页: 1 [2]
查看完整版本: 请问这个单步更新能不能支持更新文件系统呢?更新机制再哪里?