diff options
| author | dario-loi <77234595+dario-loi@users.noreply.github.com> | 2024-11-26 22:39:43 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-11-26 22:39:43 +0100 |
| commit | 19ae0e7c82275831531429c3cfabd6810c311185 (patch) | |
| tree | 487fd817ccc0e1ac6c6c5112366553bb53ee2096 /fbgl_qemu_test_env.sh | |
| parent | 7016d298ed1a5faf274ea5d300d7aea9dbc68b56 (diff) | |
| parent | 449ea58099de8fac62aae389b4ea2808a6ef66f3 (diff) | |
Merge branch 'lvntky:master' into master
Diffstat (limited to 'fbgl_qemu_test_env.sh')
| -rwxr-xr-x | fbgl_qemu_test_env.sh | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/fbgl_qemu_test_env.sh b/fbgl_qemu_test_env.sh deleted file mode 100755 index e085b4d..0000000 --- a/fbgl_qemu_test_env.sh +++ /dev/null @@ -1,74 +0,0 @@ -#!/bin/bash - -# Variables -TINYCORE_URL="http://tinycorelinux.net/14.x/x86_64/release/CorePure64-current.iso" # 64-bit TinyCore Linux ISO -ISO_FILE="CorePure64.iso" # TinyCore Linux ISO file -DISK_IMAGE="tinycore_disk.img" # Writable disk image for TinyCore -DISK_SIZE="64M" # Size of the writable disk -MOUNT_DIR="mnt_tinycore" # Temporary mount point for ISO -KERNEL_FILE="vmlinuz64" # Kernel extracted from ISO -INITRD_FILE="core.gz" # Initrd extracted from ISO -BINARY="$1" # Precompiled binary passed as argument - -# Check if a binary is provided -if [ -z "$BINARY" ]; then - echo "Usage: $0 <path_to_precompiled_binary>" - exit 1 -fi - -# Ensure the binary exists -if [ ! -f "$BINARY" ]; then - echo "Error: Binary file '$BINARY' not found." - exit 1 -fi - -# Ensure required tools are installed -REQUIRED_TOOLS=("wget" "qemu-system-x86_64" "dd" "mkfs.ext4" "mount" "losetup") -for tool in "${REQUIRED_TOOLS[@]}"; do - if ! command -v $tool &>/dev/null; then - echo "Error: $tool is required but not installed. Please install it first." - exit 1 - fi -done - -# Step 1: Download 64-bit TinyCore Linux ISO if not already present -if [ ! -f "$ISO_FILE" ]; then - echo "Downloading 64-bit TinyCore Linux ISO..." - wget -O $ISO_FILE $TINYCORE_URL -fi - -# Step 2: Extract Kernel and Initrd from ISO -if [ ! -f "$KERNEL_FILE" ] || [ ! -f "$INITRD_FILE" ]; then - echo "Extracting kernel and initrd from TinyCore ISO..." - mkdir -p $MOUNT_DIR - sudo mount -o loop $ISO_FILE $MOUNT_DIR - cp $MOUNT_DIR/boot/vmlinuz64 $KERNEL_FILE - cp $MOUNT_DIR/boot/corepure64.gz $INITRD_FILE - sudo umount $MOUNT_DIR - rmdir $MOUNT_DIR -fi - -# Step 3: Create a writable disk image -echo "Creating writable disk image..." -dd if=/dev/zero of=$DISK_IMAGE bs=1M count=${DISK_SIZE/M/} status=progress -mkfs.ext4 $DISK_IMAGE - -# Step 4: Mount the disk image and add the binary -echo "Mounting disk image and adding binary..." -mkdir -p $MOUNT_DIR -sudo mount -o loop $DISK_IMAGE $MOUNT_DIR -sudo cp "$BINARY" $MOUNT_DIR/ -sudo umount $MOUNT_DIR -rmdir $MOUNT_DIR - -# Step 5: Run TinyCore Linux in QEMU with extracted kernel and initrd -echo "Running TinyCore Linux in terminal mode with QEMU..." -qemu-system-x86_64 \ - -kernel $KERNEL_FILE \ - -initrd $INITRD_FILE \ - -append "loglevel=3 tce=sda1 init=/init" \ - -hda $DISK_IMAGE \ - -m 512M \ - -nographic - -echo "QEMU exited. Check above for errors or results." |
