Ubuntu Pastebin

Paste from smoser at Mon, 19 Oct 2015 16:59:52 +0000

Download as text
 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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#!/bin/bash
logical=512     # queue/logical_block_size
physical=4096   # queue/physical_block_size
min=4096        # queue/optimal_io_size
opt=4096        # queue/minimum_io_size
boot_disk=${1:-wily-server-cloudimg-amd64-disk1.raw}

TEMP_D=""
fail() { echo "$@" 1>&2; exit 1; }
cleanup() { 
   [ ! -d "$TEMP_D" ] || rm -Rf "$TEMP_D"
}

TEMP_D="$(mktemp -d)" || exit
trap cleanup EXIT
seed_img="${TEMP_D}/seed.img"
disk_img="${TEMP_D}/disk.img"
ud_file="$TEMP_D/user-data"
if [ ! -f "${boot_disk}" ]; then
    fmt=qcow2
    out=$(qemu-img create -f raw "$disk_img" 1G 2>&1) ||
       fail "failed: $out"
else
    fullpath=$(readlink -f "$boot_disk") || fail "failed readlink $boot_disk"
    out=$(qemu-img create -f qcow2 -b "$fullpath" "$disk_img" 2>&1) ||
       fail "failed: $out"
    fmt=qcow2
fi

extra_img="${TEMP_D}/extra.img"
out=$(qemu-img create -f raw "$extra_img" 8G 2>&1) ||
   fail "failed: $out"

cat > "$ud_file" <<"EOF"
#!/bin/sh
pre=/sys/class/block/vda

echo =========================================
for f in size queue/logical_block_size queue/physical_block_size \
  queue/optimal_io_size queue/minimum_io_size; do
  read val < "$pre/$f"
  echo "${f}: $val"
done

sfdisk --list /dev/sda

echo =========================================

read cmdline < /proc/cmdline
if [ "${cmdline#*stop}" != "${cmdline}" ]; then
    /sbin/poweroff
fi

echo "ubuntu:ubuntu" | chpasswd
EOF

cloud-localds $seed_img $ud_file || fail

disk_args=( )
opts="${physical:+physical_block_size=$physical,}${logical:+logical_block_size=${logical},}${min:+min_io_size=$min,}${opt:+opt_io_size=${opt},}"
index=1
for disk in "${disk_img}" "${seed_img}" "${extra_img}"; do
    fmt=$(qemu-img info "$disk" | awk '$0 ~ /file format:/ { print $3 }')
    disk_args=( "${disk_args[@]}"
       -drive "file=${disk},if=none,id=disk_img_${index},format=$fmt"
       -device virtio-blk-pci,bootindex=$index,scsi=off,drive=disk_img_${index},id=virtio-disk-${index},${opts}
    )
    index=$(($index+1))
done

cmd=(
  qemu-system-x86_64 -enable-kvm
    "${disk_args[@]}" 
    -device virtio-net-pci,netdev=net00 -netdev type=user,id=net00
#    -kernel cirros-d150923-x86_64-kernel
#    -initrd cirros-d150923-x86_64-initramfs
#    -append "rdroot=1 console=ttyS0"
    -m 768
    -echr 0x05 
#    -nographic
)


echo "${cmd[@]}"
"${cmd[@]}"


#qemu-system-x86_64 \
  #-drive file=disk.img,if=none,id=drive-virtio-disk,format=raw,cache=none,aio=native,werror=stop,rerror=stop,media=disk,snapshot=off,bus=1,unit=1 \
  #-device virtio-blk-pci,scsi=off,drive=drive-virtio-disk,id=virtio-disk,bus=pci.0,addr=0x7,bootindex=1,physical_block_size=512,logical_block_size=512,multifunction=on,scsi=on,event_idx=on,indirect_desc=on,vectors=32,x-data-plane=off,ioeventfd=on,serial=fuxc,discard_granularity=1,min_io_size=4096,opt_io_size=4096
Download as text