diff --git a/build.sh b/build.sh index dc9a61a..9281f3b 100755 --- a/build.sh +++ b/build.sh @@ -7,3 +7,4 @@ docker build -t basbl_zsh_raffler basbl-zsh docker build -t lucasvanlierop_cobol_raffler lucasvanlierop-cobol docker build -t rjkip_elixir_raffler rjkip-elixir docker build -t sgoettschkes_haskell_raffler sgoettschkes-haskell +docker build -t jaytaph_bootsector_asm_raffler jaytaph-bootsector-asm diff --git a/jaytaph-bootsector-asm/Dockerfile b/jaytaph-bootsector-asm/Dockerfile new file mode 100644 index 0000000..9016fd3 --- /dev/null +++ b/jaytaph-bootsector-asm/Dockerfile @@ -0,0 +1,17 @@ +FROM jencryzthers/vboxinsidedocker +MAINTAINER lucas@vanlierop.org + +ENV LANG C.UTF-8 +ENV DEBIAN_FRONTEND noninteractive + +# Create working dir +RUN mkdir -p /var/app +COPY . /var/app +WORKDIR /var/app + +# Install dependencies +RUN apt-get update +RUN apt-get install -yy dosfstools mtools nasm + +# Run raffler +CMD ["/var/app/vboxrun.sh"] diff --git a/jaytaph-bootsector-asm/install.sh b/jaytaph-bootsector-asm/install.sh deleted file mode 100644 index fb37916..0000000 --- a/jaytaph-bootsector-asm/install.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/sh - -# -# This stuff uses linux. Deal with it! -# - -sudo apt-get -yy install dosfstools mtools nasm - -# Creates an empty 1.44MB floppy image -dd if=/dev/zero of=mr_floppy.img bs=512 count=2880 - -# Format it -sudo mkfs.msdos mr_floppy.img - -mcopy -i mr_floppy.img ../example_names ::/NAMES.DAT -mdir -i mr_floppy.img - -nasm -o bootsector.img raffler.S - -# copy bootsector to the start of the floppy image -dd if=bootsector.img of=mr_floppy.img bs=512 count=1 conv=notrunc - -# Mr Floppy is finished, run vboxrun.sh or some other way to get it running diff --git a/jaytaph-bootsector-asm/vboxrun.sh b/jaytaph-bootsector-asm/vboxrun.sh old mode 100644 new mode 100755 index 1430619..e6f3cf5 --- a/jaytaph-bootsector-asm/vboxrun.sh +++ b/jaytaph-bootsector-asm/vboxrun.sh @@ -1,5 +1,18 @@ #!/bin/sh +# Creates an empty 1.44MB floppy image +dd if=/dev/zero of=mr_floppy.img bs=512 count=2880 + +# Format it +mkfs.msdos mr_floppy.img + +mcopy -i mr_floppy.img /var/names/current ::/NAMES.DAT +mdir -i mr_floppy.img +nasm -o bootsector.img raffler.S + +# copy bootsector to the start of the floppy image +dd if=bootsector.img of=mr_floppy.img bs=512 count=1 conv=notrunc + VBM=`which VBoxManage` TS=`date +"%s"` @@ -15,7 +28,7 @@ $VBM storagectl "$BOXNAME" --name "Mr Floppy Controller" --add floppy $VBM storageattach "$BOXNAME" --storagectl "Mr Floppy Controller" --port 0 --device 0 --type fdd --medium mr_floppy.img # Run the machine (you can reset the machine manually to raffle a new user!) -$VBM startvm "$BOXNAME" --type=gui +VBoxHeadless -s "$BOXNAME" diff --git a/raffle.sh b/raffle.sh index 9964e6c..a7dfdbc 100755 --- a/raffle.sh +++ b/raffle.sh @@ -11,12 +11,13 @@ NAMES_FILE=`realpath $WORKING_DIR/$1` cp $NAMES_FILE $NAMES_DIR/current # Raffle a raffler ;-) -declare -a RAFFLER_NAMES=('basbl_zsh' 'lucasvanlierop_cobol' 'rjkip_elixir' 'sgoettschkes_haskell' 'shawnmccool_scala' 'aochagavia_rust') +declare -a RAFFLER_NAMES=('basbl_zsh' 'lucasvanlierop_cobol' 'rjkip_elixir' 'sgoettschkes_haskell' 'shawnmccool_scala' 'aochagavia_rust' 'jaytaph_bootsector_asm' ) RANDOM_RAFFLER=${RAFFLER_NAMES[$RANDOM % ${#RAFFLER_NAMES[@]} ]} +RANDOM_RAFFLER="jaytaph_bootsector_asm" # run raffler in container with names dir mounted CONTAINER_NAME="${RANDOM_RAFFLER}_raffler" echo -e "Raffling using \033[91m$RANDOM_RAFFLER\e[0m" echo -e "\033[92mAnd the winner is: " -docker run -v $NAMES_DIR:/var/names $CONTAINER_NAME +docker run -v $NAMES_DIR:/var/names -v /dev/vboxdrv:/dev/vboxdrv $CONTAINER_NAME echo -e "\e[0m"