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...") |
|||
(4 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | dd if=/dev/zero of= | + | Calculate count size: |
− | sfdisk -d | + | 1024x1500 = 1.5Gb img file |
− | fdisk -l | + | |
− | kpartx -av | + | Create 1.5GB ramdisk file: |
− | kpartx -av | + | dd if=/dev/zero of=target.img bs=1k count=1536000 |
− | dd bs= | + | Clone partition table from source to target: |
− | dd bs= | + | sfdisk -d source.img | sfdisk target.img |
− | dd bs= | + | Check partition table: |
− | mount /dev/mapper/loop1p4 /mnt/ | + | 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=4M if=/dev/mapper/loop1p1 of=/dev/mapper/loop2p1 | ||
+ | dd bs=4M if=/dev/mapper/loop1p2 of=/dev/mapper/loop2p2 | ||
+ | dd bs=4M 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 | 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 |
Latest revision as of 21:40, 21 March 2019
Calculate count size:
1024x1500 = 1.5Gb img file
Create 1.5GB ramdisk file:
dd if=/dev/zero of=target.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=4M if=/dev/mapper/loop1p1 of=/dev/mapper/loop2p1 dd bs=4M if=/dev/mapper/loop1p2 of=/dev/mapper/loop2p2 dd bs=4M 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