Skip to content

Commit 2a3d54a

Browse files
committed
Modified img package to work on my system
1 parent 63c0bd9 commit 2a3d54a

5 files changed

Lines changed: 34 additions & 4 deletions

File tree

Makefile

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -103,11 +103,12 @@ $(ELF_KMULTIBOOT):
103103
$(OBJCOPY) --remove-section=.comment --remove-section=.note -O binary $< $@
104104
@echo `du -h $@`
105105

106+
$(IMG): LOOP = $(shell sudo $(TOOLS_DIR)/getnextloop.sh)
106107
$(IMG): all
107-
sudo $(TOOLS_DIR)/partitioning.sh /dev/loop0 -o $@ $(BIN_STAGE0) $(BIN_STAGE1)
108-
sudo $(TOOLS_DIR)/formatting.sh /dev/loop0 $@
109-
sudo $(TOOLS_DIR)/fcopytofs.sh /dev/loop0 $@ $(KMULTIBOOT_ROOT_FS_DIR)
110-
sudo chown matt:matt $@
108+
sudo $(TOOLS_DIR)/partitioning.sh $(LOOP) -o $@ $(BIN_STAGE0) $(BIN_STAGE1)
109+
sudo $(TOOLS_DIR)/formatting.sh $(LOOP) $@
110+
sudo $(TOOLS_DIR)/fcopytofs.sh $(LOOP) $@ $(KMULTIBOOT_ROOT_FS_DIR)
111+
sudo chown $(USER):$(USER) $@
111112

112113

113114
##############

tools/fcopytofs.sh

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,16 +126,20 @@ mkdir -p ${mount_point}
126126
# mount the FAT partition and copy files
127127
########################################
128128
losetup ${loopback_device} ${disk_image}
129+
sudo partx -v --add ${loopback_device}
129130

130131
echo "Mount partition ${device_partition} (begin=${device_partition_sector_start}, end=${device_partition_sector_end}), size=${device_partition_size} bytes"
131132
mount -t vfat ${device_partition} ${mount_point}
132133
echo "Copy files to ${device_partition}"
133134
cp ${fs_root_path}/* ${mount_point}
134135
ls ${mount_point}
136+
137+
sleep 1
135138
sync
136139
umount ${mount_point}
137140
echo "Unmount partition ${device_partition}"
138141

142+
sudo partx -v --delete ${loopback_device}
139143
losetup -d ${loopback_device}
140144

141145
exit 0

tools/formatting.sh

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,9 +134,15 @@ if [ $? -ne 0 ]; then
134134
losetup ${loopback_device} ${disk_image}
135135
fi
136136

137+
sudo partx -v --add ${loopback_device}
138+
137139
format_FAT_partitions
138140
format_MinixV1_partitions
139141

142+
sync
143+
144+
sudo partx -v --delete ${loopback_device}
145+
140146
losetup -d ${loopback_device}
141147

142148
exit 0

tools/getnextloop.sh

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#!/bin/bash
2+
3+
TMP_FILE=/tmp/dummy_image
4+
DISKSIZE=512
5+
6+
# Make sure only root can run the script
7+
if [ "$(id -u)" != "0" ]; then
8+
echo "This script must be run as root" 1>&2
9+
exit 1
10+
fi
11+
12+
cat /dev/zero | dd of=${TMP_FILE} count=${DISKSIZE} 2> /dev/null
13+
14+
loopback_device=$(sudo losetup --show -f $TMP_FILE)
15+
sudo losetup -d $loopback_device
16+
17+
echo $loopback_device

tools/partitioning.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,8 @@ ${fdisk_cmd_print_partition_table}
190190
${fdisk_cmd_write_table_and_exit}
191191
EOF
192192

193+
sync
194+
193195
losetup -d ${loopback_device}
194196

195197
exit 0

0 commit comments

Comments
 (0)