Difference between revisions of "How to create and modify ramdisk img"
|  (Created page with " dd if=/dev/zero of=TS7350SD_IsacDhcpBootShrunk.img bs=1k count=1536000  sfdisk -d TS7350SD_IsacDhcpBoot.img | sfdisk TS7350SD_IsacDhcpBootShrunk.img  fdisk -l TS7350SD_IsacDh...") | |||
| Line 1: | Line 1: | ||
| + | Create 1.5GB ramdisk file: | ||
|   dd if=/dev/zero of=TS7350SD_IsacDhcpBootShrunk.img bs=1k count=1536000 |   dd if=/dev/zero of=TS7350SD_IsacDhcpBootShrunk.img bs=1k count=1536000 | ||
| − |   sfdisk -d  | + | Clone partition table from source to target: | 
| − |   fdisk -l  | + |   sfdisk -d source.img | sfdisk target.img | 
| − |   kpartx -av  | + | Check partition table: | 
| − |   kpartx -av  | + |   fdisk -l target.img | 
| + | Automatically add partition mappings(s) from source partition table: | ||
| + |   kpartx -av source.img | ||
| + | Automatically add partition mappings(s) from target partition table: | ||
| + |   kpartx -av target.img | ||
| + | DD partitions from source to target | ||
|   dd bs=1k if=/dev/mapper/loop1p1 of=/dev/mapper/loop2p1 |   dd bs=1k if=/dev/mapper/loop1p1 of=/dev/mapper/loop2p1 | ||
|   dd bs=1k if=/dev/mapper/loop1p2 of=/dev/mapper/loop2p2 |   dd bs=1k if=/dev/mapper/loop1p2 of=/dev/mapper/loop2p2 | ||
|   dd bs=1k if=/dev/mapper/loop1p3 of=/dev/mapper/loop2p3 |   dd bs=1k if=/dev/mapper/loop1p3 of=/dev/mapper/loop2p3 | ||
| − |   mount /dev/mapper/loop1p4 /mnt/ | + | Mount source partition: | 
| + |   mount /dev/mapper/loop1p4 /mnt/source | ||
| + | Create file system on target partition to be resized: | ||
|   mkfs.ext4 /dev/mapper/loop2p4 |   mkfs.ext4 /dev/mapper/loop2p4 | ||
| − |   mount /dev/mapper/loop2p4 /mnt/ | + | Mount empty target partition | 
| − | + |   mount /dev/mapper/loop2p4 /mnt/target | |
| − | + | Copy files and folders from source to target: | |
| − | + |   cp -pR /mnt/source/* /mnt/target/ | |
| − | + | Unmount source: | |
| − |   umount  | + |   umount /mnt/source/ | 
| − |   umount  | + | Unmount target: | 
| − | + |   umount /mnt/target/ | |
| − |   kpartx -d  | + | Delete partition mappings of source: | 
| − |   kpartx -d  | + |   kpartx -d source.img | 
| + | Delete partition mappings of source: | ||
| + |   kpartx -d target.img | ||
Revision as of 03:21, 14 November 2018
Create 1.5GB ramdisk file:
dd if=/dev/zero of=TS7350SD_IsacDhcpBootShrunk.img bs=1k count=1536000
Clone partition table from source to target:
sfdisk -d source.img | sfdisk target.img
Check partition table:
fdisk -l target.img
Automatically add partition mappings(s) from source partition table:
kpartx -av source.img
Automatically add partition mappings(s) from target partition table:
kpartx -av target.img
DD partitions from source to target
dd bs=1k if=/dev/mapper/loop1p1 of=/dev/mapper/loop2p1 dd bs=1k if=/dev/mapper/loop1p2 of=/dev/mapper/loop2p2 dd bs=1k if=/dev/mapper/loop1p3 of=/dev/mapper/loop2p3
Mount source partition:
mount /dev/mapper/loop1p4 /mnt/source
Create file system on target partition to be resized:
mkfs.ext4 /dev/mapper/loop2p4
Mount empty target partition
mount /dev/mapper/loop2p4 /mnt/target
Copy files and folders from source to target:
cp -pR /mnt/source/* /mnt/target/
Unmount source:
umount /mnt/source/
Unmount target:
umount /mnt/target/
Delete partition mappings of source:
kpartx -d source.img
Delete partition mappings of source:
kpartx -d target.img
