os-k/boot/grub/create_disk.sh

66 lines
2.8 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 !
sudo fdisk $1 > /dev/null <<EEOF
n
p
1
a
w
EEOF
# WARNING, YOU CAN NOW DELETE SPACES
echo ${CL2}[create_disk.sh]${NC} Mouting image... \(losetup\)${CL3}
## Map
sudo losetup -D > /dev/null
sudo losetup /dev/loop0 $1 -o 1048576 > /dev/null #mounting the logical partition
echo ${CL2}[create_disk.sh]${NC} Formatting image... \(mkdosfs\)${CL3}
## Format
sudo mkdosfs -F32 -f 2 /dev/loop0 > /dev/null
echo ${CL2}[create_disk.sh]${NC} Sync image... \(sync\)${CL3}
sync
echo ${CL2}[create_disk.sh]${NC} Unmounting... \(losetup\)${CL3}
sudo losetup -D > /dev/null
echo ${CL2}[create_disk.sh]${CL} Terminated without error.${CL3}