Make test cases buildable on FreeBSD
This commit is contained in:
parent
e7669cadae
commit
6d5efbdc15
102
Makefile
102
Makefile
|
@ -1,4 +1,6 @@
|
||||||
.PHONY: all clean echfs-test ext2-test
|
OS := $(shell uname)
|
||||||
|
|
||||||
|
.PHONY: all clean echfs-test ext2-test test.img
|
||||||
|
|
||||||
all:
|
all:
|
||||||
$(MAKE) -C src all
|
$(MAKE) -C src all
|
||||||
|
@ -7,31 +9,35 @@ all:
|
||||||
clean:
|
clean:
|
||||||
$(MAKE) -C src clean
|
$(MAKE) -C src clean
|
||||||
|
|
||||||
echfs-test: all
|
test.img:
|
||||||
$(MAKE) -C test
|
|
||||||
rm -f test.img
|
rm -f test.img
|
||||||
dd if=/dev/zero bs=1M count=0 seek=64 of=test.img
|
dd if=/dev/zero bs=1M count=0 seek=4096 of=test.img
|
||||||
parted -s test.img mklabel gpt
|
ifeq ($(OS), Linux)
|
||||||
parted -s test.img mkpart primary 2048s 6143s
|
parted -s test.img mklabel msdos
|
||||||
parted -s test.img mkpart primary 6144s 131038s
|
parted -s test.img mkpart primary 100%
|
||||||
echfs-utils -g -p1 test.img quick-format 512
|
else ifeq ($(OS), FreeBSD)
|
||||||
echfs-utils -g -p1 test.img import test/test.elf boot/test.elf
|
sudo mdconfig -a -t vnode -f test.img -u md9
|
||||||
echfs-utils -g -p1 test.img import test/qloader2.cfg qloader2.cfg
|
sudo gpart create -s mbr md9
|
||||||
./qloader2-install src/qloader2.bin test.img 2048
|
sudo gpart add -a 4k -t '!14' md9
|
||||||
|
sudo mdconfig -d -u md9
|
||||||
|
endif
|
||||||
|
|
||||||
|
echfs-test: test.img all
|
||||||
|
$(MAKE) -C test
|
||||||
|
echfs-utils -m -p0 test.img quick-format 32768
|
||||||
|
echfs-utils -m -p0 test.img import test/test.elf boot/test.elf
|
||||||
|
echfs-utils -m -p0 test.img import test/qloader2.cfg qloader2.cfg
|
||||||
|
./qloader2-install src/qloader2.bin test.img
|
||||||
qemu-system-x86_64 -hda test.img -debugcon stdio
|
qemu-system-x86_64 -hda test.img -debugcon stdio
|
||||||
|
|
||||||
ext2-test: all
|
ext2-test: test.img all
|
||||||
$(MAKE) -C test
|
$(MAKE) -C test
|
||||||
rm -rf test.img test_image/
|
rm -rf test_image/
|
||||||
mkdir test_image
|
mkdir test_image
|
||||||
dd if=/dev/zero bs=1M count=0 seek=64 of=test.img
|
|
||||||
parted -s test.img mklabel gpt
|
|
||||||
parted -s test.img mkpart primary 2048s 6143s
|
|
||||||
parted -s test.img mkpart primary 6144s 131038s
|
|
||||||
sudo losetup -Pf --show test.img > loopback_dev
|
sudo losetup -Pf --show test.img > loopback_dev
|
||||||
sudo partprobe `cat loopback_dev`
|
sudo partprobe `cat loopback_dev`
|
||||||
sudo mkfs.ext2 `cat loopback_dev`p2
|
sudo mkfs.ext2 `cat loopback_dev`p1
|
||||||
sudo mount `cat loopback_dev`p2 test_image
|
sudo mount `cat loopback_dev`p1 test_image
|
||||||
sudo mkdir test_image/boot
|
sudo mkdir test_image/boot
|
||||||
sudo cp test/test.elf test_image/boot/
|
sudo cp test/test.elf test_image/boot/
|
||||||
sudo cp test/qloader2.cfg test_image/
|
sudo cp test/qloader2.cfg test_image/
|
||||||
|
@ -39,59 +45,33 @@ ext2-test: all
|
||||||
sudo umount test_image/
|
sudo umount test_image/
|
||||||
sudo losetup -d `cat loopback_dev`
|
sudo losetup -d `cat loopback_dev`
|
||||||
rm -rf test_image loopback_dev
|
rm -rf test_image loopback_dev
|
||||||
./qloader2-install src/qloader2.bin test.img 2048
|
./qloader2-install src/qloader2.bin test.img
|
||||||
qemu-system-x86_64 -hda test.img -debugcon stdio
|
qemu-system-x86_64 -hda test.img -debugcon stdio
|
||||||
|
|
||||||
fat32-test: all
|
fat32-test: test.img all
|
||||||
$(MAKE) -C test
|
$(MAKE) -C test
|
||||||
rm -rf test.img test_image/
|
rm -rf test_image/
|
||||||
mkdir test_image
|
mkdir test_image
|
||||||
dd if=/dev/zero bs=1M count=0 seek=64 of=test.img
|
ifeq ($(OS), Linux)
|
||||||
parted -s test.img mklabel gpt
|
|
||||||
parted -s test.img mkpart primary 2048s 6143s
|
|
||||||
parted -s test.img mkpart primary 6144s 131038s
|
|
||||||
sudo losetup -Pf --show test.img > loopback_dev
|
sudo losetup -Pf --show test.img > loopback_dev
|
||||||
sudo partprobe `cat loopback_dev`
|
sudo partprobe `cat loopback_dev`
|
||||||
sudo mkfs.fat -F 32 `cat loopback_dev`p2
|
sudo mkfs.fat -F 32 `cat loopback_dev`p1
|
||||||
sudo mount `cat loopback_dev`p2 test_image
|
sudo mount `cat loopback_dev`p1 test_image
|
||||||
|
else ifeq ($(OS), FreeBSD)
|
||||||
|
sudo mdconfig -a -t vnode -f test.img -u md9
|
||||||
|
sudo newfs_msdos -F 32 /dev/md9s1
|
||||||
|
sudo mount -t msdosfs /dev/md9s1 test_image
|
||||||
|
endif
|
||||||
sudo mkdir test_image/boot
|
sudo mkdir test_image/boot
|
||||||
sudo cp test/test.elf test_image/boot/
|
sudo cp test/test.elf test_image/boot/
|
||||||
sudo cp test/qloader2.cfg test_image/
|
sudo cp test/qloader2.cfg test_image/
|
||||||
sync
|
sync
|
||||||
sudo umount test_image/
|
sudo umount test_image/
|
||||||
|
ifeq ($(OS), Linux)
|
||||||
sudo losetup -d `cat loopback_dev`
|
sudo losetup -d `cat loopback_dev`
|
||||||
|
else ifeq ($(OS), FreeBSD)
|
||||||
|
sudo mdconfig -d -u md9
|
||||||
|
endif
|
||||||
rm -rf test_image loopback_dev
|
rm -rf test_image loopback_dev
|
||||||
./qloader2-install src/qloader2.bin test.img 2048
|
./qloader2-install src/qloader2.bin test.img
|
||||||
qemu-system-x86_64 -hda test.img -debugcon stdio
|
|
||||||
|
|
||||||
fat32-test-big-clusters: all
|
|
||||||
$(MAKE) -C test
|
|
||||||
rm -rf test.img test_image/
|
|
||||||
mkdir test_image
|
|
||||||
|
|
||||||
# Setup partitions
|
|
||||||
dd if=/dev/zero bs=1M count=0 seek=512 of=test.img
|
|
||||||
parted -s test.img mklabel gpt
|
|
||||||
parted -s test.img mkpart primary 2048s 6143s
|
|
||||||
parted -s test.img mkpart primary 6144s 1042432s
|
|
||||||
|
|
||||||
sudo losetup -Pf --show test.img > loopback_dev
|
|
||||||
sudo partprobe `cat loopback_dev`
|
|
||||||
sudo mkfs.fat -s 8 -F 32 `cat loopback_dev`p2
|
|
||||||
sudo mount `cat loopback_dev`p2 test_image
|
|
||||||
sudo mkdir test_image/boot
|
|
||||||
|
|
||||||
# Copy some random files to fill up the fats to span multiple clusters.
|
|
||||||
# This will make the test more credible.
|
|
||||||
sudo find ./src -type f -exec cp -n {} test_image/ \;
|
|
||||||
sudo find ./src -type f -exec cp -n {} test_image/boot/ \;
|
|
||||||
|
|
||||||
# Copy the actual important files
|
|
||||||
sudo cp test/test.elf test_image/boot/
|
|
||||||
sudo cp test/qloader2.cfg test_image/
|
|
||||||
sync
|
|
||||||
sudo umount test_image/
|
|
||||||
sudo losetup -d `cat loopback_dev`
|
|
||||||
rm -rf test_image loopback_dev
|
|
||||||
./qloader2-install src/qloader2.bin test.img 2048
|
|
||||||
qemu-system-x86_64 -hda test.img -debugcon stdio
|
qemu-system-x86_64 -hda test.img -debugcon stdio
|
||||||
|
|
|
@ -4,21 +4,21 @@ TIMEOUT=3
|
||||||
|
|
||||||
PROTOCOL=stivale
|
PROTOCOL=stivale
|
||||||
|
|
||||||
KERNEL_PARTITION=1
|
KERNEL_PARTITION=0
|
||||||
KERNEL_PATH=boot/test.elf
|
KERNEL_PATH=boot/test.elf
|
||||||
KERNEL_CMDLINE=something
|
KERNEL_CMDLINE=something
|
||||||
|
|
||||||
MODULE_PARTITION=1
|
MODULE_PARTITION=0
|
||||||
MODULE_PATH=qloader2.cfg
|
MODULE_PATH=qloader2.cfg
|
||||||
MODULE_STRING=something here
|
MODULE_STRING=something here
|
||||||
|
|
||||||
:Test 2
|
:Test 2
|
||||||
|
|
||||||
KERNEL_PARTITION=1
|
KERNEL_PARTITION=0
|
||||||
KERNEL_PATH=/boot/test.elf
|
KERNEL_PATH=/boot/test.elf
|
||||||
KERNEL_PROTO=stivale
|
KERNEL_PROTO=stivale
|
||||||
KERNEL_CMDLINE=none
|
KERNEL_CMDLINE=none
|
||||||
|
|
||||||
MODULE_PARTITION=1
|
MODULE_PARTITION=0
|
||||||
MODULE_PATH=qloader2.cfg
|
MODULE_PATH=qloader2.cfg
|
||||||
MODULE_STRING=something here
|
MODULE_STRING=something here
|
||||||
|
|
Loading…
Reference in New Issue