Welcome to the Linux Foundation Forum!
Mount image file to partitions
abp
Posts: 1
Hi
I downloaded a device firmware.
Like this:
zetnu.xilinx-201907311618-autofreq-user-Update2UBI-NF-sig.tar.gz
I extract above file and file content is these files:
- BOOT.bin
- devicetree.dtb
- rootfs.jffs2
- uImage
Next to this files, was a file yo install.
This file:
runme.sh
This file content is this:
`
#!/bin/sh -e
path=$(pwd)
cp_config="all"
if [ ! -d /mnt/upgrade ];
then
mkdir /mnt/upgrade
fi
if [ -e /usr/bin/ctrl_bd ]; then
ret=`cat /usr/bin/ctrl_bd | grep "XILINX" | wc -l`
else
ret=0
fi
if [ $ret -eq 1 ];then
cd ./xilinx
if [ -e /dev/ubi_ctrl ];then
if [ ! -d /mnt/config ];then
mkdir /mnt/config
fi
ubiattach /dev/ubi_ctrl -m 2
mount -t ubifs ubi1:rootfs /mnt/config
if [ ! -d /mnt/config/home/usr_config ];then
mkdir /mnt/config/home/usr_config
fi
if [ `ls /mnt/config/home/usr_config | wc -l` -gt 1 ];then
cp_config="all" #cp -r /config/* /mnt/config/home/usr_config/
else
cp_config="mac" #cp -r /config/mac /mnt/config/home/usr_config/
fi
umount /mnt/config
ubidetach -d 1 /dev/ubi_ctrl
fi
if [ -e BOOT.bin ]; then
flash_erase /dev/mtd0 0x0 0x80 >/dev/null 2>&1
nandwrite -p -s 0x0 /dev/mtd0 ./BOOT.bin >/dev/null 2>&1
rm -rf BOOT.bin
fi
if [ -e devicetree.dtb ]; then
flash_erase /dev/mtd0 0x1020000 0x1 >/dev/null 2>&1
nandwrite -p -s 0x1020000 /dev/mtd0 ./devicetree.dtb >/dev/null 2>&1
rm devicetree.dtb
fi
if [ -e uImage ]; then
flash_erase /dev/mtd0 0x1100000 0x40 >/dev/null 2>&1
nandwrite -p -s 0x1100000 /dev/mtd0 ./uImage >/dev/null 2>&1
rm uImage
fi
if [ -e rootfs.jffs2 ]; then
if [ -f /dev/mtd3 ];then
flash_erase /dev/mtd2 0x0 0x1E0 >/dev/null 2>&1
else
flash_erase /dev/mtd2 0x0 0x280 >/dev/null 2>&1
fi
nandwrite -p -s 0x0 /dev/mtd2 ./rootfs.jffs2 >/dev/null 2>&1
rm rootfs.jffs2
fi
if [ -e /dev/ubi_ctrl ];then
if [ ! -d /mnt/config ];then
mkdir /mnt/config
fi
ubiattach /dev/ubi_ctrl -m 2
mount -t ubifs ubi1:rootfs /mnt/config
if [ ! -d /mnt/config/home/usr_config ];then
mkdir /mnt/config/home/usr_config
fi
if [ $cp_config == "all" ];then
cp -r /config/* /mnt/config/home/usr_config/
if [ -e ../lighttpd-htdigest.user ]; then
line1=`cat ../lighttpd-htdigest.user | wc -c`
if [ $line1 != "0" ]; then
cp -r ../lighttpd-htdigest.user /mnt/config/home/usr_config/lighttpd-htdigest.user
if [ -e ../shadow ]; then
line2=`cat ../shadow | wc -c`
if [ $line2 != "0" ]; then
cp /etc/shadow /mnt/config/home/usr_config/shadow
old_shd=`sed -n '1p' /mnt/config/home/usr_config/shadow`
o1=`echo ${old_shd:5}`
o2=${o1#*:}
new_shd=`cat ../shadow`
n1=$new_shd":"$o2
sed -i '1d' /mnt/config/home/usr_config/shadow
sed -i "1i $(echo $n1)" /mnt/config/home/usr_config/shadow
fi
fi
fi
fi
else
cp -r /config/mac /mnt/config/home/usr_config/
fi
sync
umount /mnt/config
ubidetach -d 1 /dev/ubi_ctrl
fi
if [ -e /dev/ubi_ctrl ];then
ubiattach /dev/ubi_ctrl -m 2
mount -t ubifs ubi1:rootfs /mnt/upgrade
cd /mnt/upgrade/upgrade
rm -rf /mnt/upgrade/upgrade/*
cd $path
if [ -e ./xilinx/angstrom_rootfs.jffs2 ];then
cp -rf ./xilinx/angstrom_rootfs.jffs2 /mnt/upgrade/upgrade
if [ -f /dev/mtd3 ];then
flash_erase /dev/mtd3 0 0xa0 >/dev/null 2>&1
fi
fi
flash_erase /dev/mtd0 0x1040000 0x1 >/dev/null 2>&1
nandwrite -p -s 0x1040000 /dev/mtd0 ./xilinx/upgrade-marker.bin >/dev/null 2>&1
sync
umount /mnt/upgrade
ubidetach -d 1 /dev/ubi_ctrl
fi
else
echo "this is not for c5"
fi
rm -rf *.tar.gz
#/sbin/reboot -f &
`
Above code used nandwrite to write in a device.
Now, I want to mount these images to a directory or partitions. and add or change somethings to these images. next write again to images.
How can I do it?
Step 1, I just want to mount and read file and directories.
Please help me.
Thanks
0
Categories
- All Categories
- 158 LFX Mentorship
- 158 LFX Mentorship: Linux Kernel
- 864 Linux Foundation IT Professional Programs
- 392 Cloud Engineer IT Professional Program
- 189 Advanced Cloud Engineer IT Professional Program
- 92 DevOps IT Professional Program
- DevOps & GitOps IT Professional Program
- 160 Cloud Native Developer IT Professional Program
- 153 Express Training Courses & Microlearning
- 150 Express Courses - Discussion Forum
- 3 Microlearning - Discussion Forum
- 7.2K Training Courses
- 50 LFC110 Class Forum - Discontinued
- 74 LFC131 Class Forum - DISCONTINUED
- 57 LFD102 Class Forum
- 259 LFD103 Class Forum
- LFD103-JP クラス フォーラム
- 27 LFD110 Class Forum
- 50 LFD121 Class Forum
- 3 LFD123 Class Forum
- 1 LFD125 Class Forum
- 19 LFD133 Class Forum
- 10 LFD134 Class Forum
- 19 LFD137 Class Forum
- 1 LFD140 Class Forum
- 73 LFD201 Class Forum
- 8 LFD210 Class Forum
- 6 LFD210-CN Class Forum
- 2 LFD213 Class Forum - Discontinued
- LFD221 Class Forum
- 128 LFD232 Class Forum - Discontinued
- 3 LFD233 Class Forum - Discontinued
- 5 LFD237 Class Forum
- 25 LFD254 Class Forum
- 753 LFD259 Class Forum
- 111 LFD272 Class Forum - Discontinued
- 4 LFD272-JP クラス フォーラム - Discontinued
- 20 LFD273 Class Forum
- 491 LFS101 Class Forum
- 4 LFS111 Class Forum
- 4 LFS112 Class Forum
- LFS114 Class Forum
- 5 LFS116 Class Forum
- 9 LFS118 Class Forum
- 2 LFS120 Class Forum
- LFS140 Class Forum
- 12 LFS142 Class Forum
- 9 LFS144 Class Forum
- 6 LFS145 Class Forum
- 6 LFS146 Class Forum
- 7 LFS147 Class Forum
- 22 LFS148 Class Forum
- 18 LFS151 Class Forum
- 6 LFS157 Class Forum
- 91 LFS158 Class Forum
- 1 LFS158-JP クラス フォーラム
- 14 LFS162 Class Forum
- 2 LFS166 Class Forum - Discontinued
- 9 LFS167 Class Forum
- 5 LFS170 Class Forum
- 2 LFS171 Class Forum - Discontinued
- 4 LFS178 Class Forum - Discontinued
- 4 LFS180 Class Forum
- 3 LFS182 Class Forum
- 7 LFS183 Class Forum
- 2 LFS184 Class Forum
- 41 LFS200 Class Forum
- 737 LFS201 Class Forum - Discontinued
- 3 LFS201-JP クラス フォーラム - Discontinued
- 23 LFS203 Class Forum
- 142 LFS207 Class Forum
- 3 LFS207-DE-Klassenforum
- 3 LFS207-JP クラス フォーラム
- 302 LFS211 Class Forum - Discontinued
- 56 LFS216 Class Forum - Discontinued
- 60 LFS241 Class Forum
- 51 LFS242 Class Forum
- 41 LFS243 Class Forum
- 17 LFS244 Class Forum
- 8 LFS245 Class Forum
- 1 LFS246 Class Forum
- 1 LFS248 Class Forum
- 125 LFS250 Class Forum
- 3 LFS250-JP クラス フォーラム
- 2 LFS251 Class Forum - Discontinued
- 164 LFS253 Class Forum
- 1 LFS254 Class Forum - Discontinued
- 3 LFS255 Class Forum
- 16 LFS256 Class Forum
- 2 LFS257 Class Forum
- 1.4K LFS258 Class Forum
- 12 LFS258-JP クラス フォーラム
- 142 LFS260 Class Forum
- 165 LFS261 Class Forum
- 45 LFS262 Class Forum
- 82 LFS263 Class Forum - Discontinued
- 15 LFS264 Class Forum - Discontinued
- 11 LFS266 Class Forum - Discontinued
- 25 LFS267 Class Forum
- 27 LFS268 Class Forum
- 38 LFS269 Class Forum
- 11 LFS270 Class Forum
- 202 LFS272 Class Forum - Discontinued
- 2 LFS272-JP クラス フォーラム - Discontinued
- 2 LFS274 Class Forum - Discontinued
- 4 LFS281 Class Forum - Discontinued
- 31 LFW111 Class Forum
- 265 LFW211 Class Forum
- 190 LFW212 Class Forum
- 17 SKF100 Class Forum
- 2 SKF200 Class Forum
- 3 SKF201 Class Forum
- 800 Hardware
- 200 Drivers
- 68 I/O Devices
- 37 Monitors
- 104 Multimedia
- 175 Networking
- 92 Printers & Scanners
- 85 Storage
- 765 Linux Distributions
- 82 Debian
- 67 Fedora
- 20 Linux Mint
- 13 Mageia
- 23 openSUSE
- 149 Red Hat Enterprise
- 31 Slackware
- 13 SUSE Enterprise
- 356 Ubuntu
- 472 Linux System Administration
- 39 Cloud Computing
- 71 Command Line/Scripting
- Github systems admin projects
- 96 Linux Security
- 78 Network Management
- 102 System Management
- 48 Web Management
- 74 Mobile Computing
- 19 Android
- 42 Development
- 1.2K New to Linux
- 1K Getting Started with Linux
- 390 Off Topic
- 121 Introductions
- 180 Small Talk
- 28 Study Material
- 895 Programming and Development
- 312 Kernel Development
- 565 Software Development
- 1.8K Software
- 272 Applications
- 183 Command Line
- 5 Compiling/Installing
- 988 Games
- 320 Installation
- 110 All In Program
- 110 All In Forum
Upcoming Training
-
August 20, 2018
Kubernetes Administration (LFS458)
-
August 20, 2018
Linux System Administration (LFS301)
-
August 27, 2018
Open Source Virtualization (LFS462)
-
August 27, 2018
Linux Kernel Debugging and Security (LFD440)