aboutsummaryrefslogtreecommitdiff
path: root/vm.sh
blob: f77642fe4c67c80b9ec3f0e01b80dfb00d7e4e02 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/bin/sh

function run
{
    qemu-system-x86_64 \
		-kernel "$BIND/$KERNEL_NAME" \
		-initrd "$BIND/$INITFS_NAME" \
		-append "console=ttyS0" -nographic
}

function initramfs
{
    IMG="$(pwd)/$1"
    DIR="${IMG%.*}"
    mkdir -p $DIR

    # get busybox things
    install -D $(which busybox) $DIR/bin/busybox
    ln -sf busybox $DIR/bin/sh
    ln -sf busybox $DIR/bin/dmesg

    # copy the compiled binaries
    mkdir -p $DIR/usr/bin
    cp $BIND/*.ko $DIR/usr/bin

    # copy the script and the bin
    cp $2 $DIR/init
    chmod +x $DIR/init

    # make image and delete folder
    (cd $DIR; find . | cpio -H newc -o | gzip > $IMG)

    rm -rf $DIR
}

function kernel
{
    sudo cp /boot/vmlinuz-linux-lts $1
}

$1 $2 $3