github.com/google/osv-scalibr@v0.4.1/extractor/filesystem/embeddedfs/vmdk/testdata/gentestdata.sh (about)

     1  #!/usr/bin/env bash
     2  
     3  dd if=/dev/zero of=valid.img bs=1M count=256
     4  parted -s --align optimal valid.img --script mklabel gpt
     5  parted -s --align optimal valid.img --script mkpart primary ext4 0% 25%
     6  parted -s --align optimal valid.img --script mkpart primary ntfs 25% 50%
     7  parted -s --align optimal valid.img --script set 2 msftdata on
     8  parted -s --align optimal valid.img --script mkpart primary ntfs 50% 75%
     9  parted -s --align optimal valid.img --script set 3 msftdata on
    10  parted -s --align optimal valid.img --script mkpart primary ntfs 75% 100%
    11  parted -s --align optimal valid.img --script set 3 msftdata on
    12  sudo losetup -fP valid.img
    13  LOOPDEV=$(losetup -j valid.img | cut -d: -f1)
    14  PARTITION1="${LOOPDEV}p1"
    15  PARTITION2="${LOOPDEV}p2"
    16  PARTITION3="${LOOPDEV}p3"
    17  PARTITION4="${LOOPDEV}p4"
    18  sudo mkfs.ext4 $PARTITION1
    19  sudo mkfs.exfat $PARTITION2
    20  sudo mkfs.vfat -F 32 $PARTITION3
    21  sudo mkfs.ntfs $PARTITION4
    22  sudo rm -rf /mnt/valid*
    23  sudo mkdir /mnt/valid1
    24  sudo mkdir /mnt/valid2
    25  sudo mkdir /mnt/valid3
    26  sudo mkdir /mnt/valid4
    27  sudo mount ${PARTITION1} /mnt/valid1
    28  sudo mount ${PARTITION2} /mnt/valid2
    29  sudo mount ${PARTITION3} /mnt/valid3
    30  sudo mount ${PARTITION4} /mnt/valid4
    31  openssl genrsa -out private-key.pem 4096
    32  sudo cp private-key.pem /mnt/valid1/private-key1.pem
    33  sudo cp private-key.pem /mnt/valid2/private-key2.pem
    34  sudo cp private-key.pem /mnt/valid3/private-key3.pem
    35  sudo cp private-key.pem /mnt/valid4/private-key4.pem
    36  sudo umount /mnt/valid1
    37  sudo umount /mnt/valid2
    38  sudo umount /mnt/valid3
    39  sudo umount /mnt/valid4
    40  sudo losetup -d ${LOOPDEV}
    41  sudo rm -rf /mnt/valid*
    42  qemu-img convert valid.img -O vmdk valid-ext-exfat-fat32-ntfs.vmdk
    43  rm private-key.pem valid.img
    44  
    45  echo "Yuvraj Saxena <ysaxenax@gmail.com>" > invalid.vmdk