#!/bin/dash set -x IMG_NAME=xos_image_arm64 LOOP_NUM=0 LOOP=/dev/mapper/loop${LOOP_NUM} dd if=/dev/zero of=${IMG_NAME}.img bs=1048576 count=256 #parted --script ${IMG_NAME}.img mklabel msdos mkpart p ext2 1 128 mkpart p ext4 128 256 set 1 boot on parted --script ${IMG_NAME}.img mklabel msdos mkpart p ext4 1 256 set 1 boot on kpartx -a ${IMG_NAME}.img ls /dev/mapper/loop* mkfs.ext4 -F ${LOOP}p1 #mkfs.ext4 -F ${LOOP}p2 mkdir -p /mnt/disk0 mount ${LOOP}p1 /mnt/disk0/ #grub-install --target=i386-pc --recheck --no-floppy --root-directory=/mnt/disk0 --modules="biosdisk part_msdos ext2 configfile normal multiboot" /dev/loop${LOOP_NUM} mkdir -p /mnt/disk0/bin #cp bootfs-arm64/bin/sh /mnt/disk0/bin/ #cp bootfs-arm64/bin/init /mnt/disk0/bin/ #cp bootfs-arm64/vmlinux /mnt/disk0/ ls /mnt/disk0/bin #mkdir -p /mnt/disk1 #mount ${LOOP}p2 /mnt/disk1/ cp -r rootfs-arm64/* /mnt/disk0/ ls /mnt/disk1/bin/ #nano /mnt/disk0/boot/grub/grub.cfg #cp bootfs/grub.cfg /mnt/disk0/boot/grub/grub.cfg umount /mnt/disk0 #umount /mnt/disk1 kpartx -d ${IMG_NAME}.img chown fam ${IMG_NAME}.img chgrp fam ${IMG_NAME}.img