os-k/boot/grub/create_disk.sh

67 lines
2.9 KiB
Bash
Executable File
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#=----------------------------------------------------------------------------=#
# GNU GPL OS/K #
# #
# Desc: OS/K image maker script #
# #
# #
# Copyright © 2018-2019 The OS/K Team #
# #
# This file is part of OS/K. #
# #
# OS/K is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
# the Free Software Foundation, either version 3 of the License, or #
# any later version. #
# #
# OS/K is distributed in the hope that it will be useful, #
# but WITHOUT ANY WARRANTY# without even the implied warranty of #
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
# GNU General Public License for more details. #
# #
# You should have received a copy of the GNU General Public License #
# along with OS/K. If not, see <https://www.gnu.org/licenses/>. #
#=----------------------------------------------------------------------------=#
#Color codes
CL='\033[0;32m'
CL2='\033[1;36m'
CL3='\033[0m'
NC='\033[1;37m'
set -e #exit if error
## Create the image
echo ${CL2}[create_disk.sh]${NC} Creating image... \(dd\)${CL3}
dd if=/dev/zero of=$1 bs=512 count=131072 status=progress
echo ${CL2}[create_disk.sh]${NC} Partitionning image... \(fdisk\)${CL3}
## Partition the image
# WARNING, DO NOT DELETE SPACES !
/sbin/fdisk $1 > /dev/null <<EEOF
n
p
1
a
w
EEOF
# WARNING, YOU CAN NOW DELETE SPACES
## Map
echo ${CL2}[create_disk.sh]${NC} Mouting image... \(udisksctl\)${CL3}
ret=$(udisksctl loop-setup --no-user-interaction -f $1 -o 1048576) #mounting the logical partition
set -- $ret
echo "Mounted at ${5%?}"
MOUNTPOINT=${5%?}
## Format
echo ${CL2}[create_disk.sh]${NC} Formatting image AS ROOT... \(mkdosfs\)${CL3}
sudo mkdosfs -F32 -f 2 ${MOUNTPOINT}
echo ${CL2}[create_disk.sh]${NC} Sync image... \(sync\)${CL3}
sync
sync
echo ${CL2}[create_disk.sh]${NC} Unmounting... \(udisksctl\)${CL3}
udisksctl unmount --no-user-interaction -f -b ${MOUNTPOINT}
echo ${CL2}[create_disk.sh]${CL} Terminated without error.${CL3}