mirror of
https://github.com/vdsm/virtual-dsm.git
synced 2025-02-24 13:30:02 +08:00
Serial emulator
This commit is contained in:
parent
00fa5cc61f
commit
c168c3fb4c
12
Dockerfile
12
Dockerfile
@ -1,9 +1,9 @@
|
|||||||
FROM golang:1.16 AS builder
|
FROM golang:1.16 AS builder
|
||||||
|
|
||||||
COPY vdsm-serial/ /src/vdsm-serial/
|
COPY serial/ /src/serial/
|
||||||
WORKDIR /src/vdsm-serial
|
WORKDIR /src/serial
|
||||||
RUN go get -d -v golang.org/x/net/html
|
RUN go get -d -v golang.org/x/net/html
|
||||||
RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o /src/vdsm-serial/main .
|
RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o /src/serial/main .
|
||||||
|
|
||||||
FROM debian:bullseye-20230109-slim
|
FROM debian:bullseye-20230109-slim
|
||||||
|
|
||||||
@ -28,7 +28,7 @@ COPY qemu-ifdown /run/
|
|||||||
COPY qemu-ifup /run/
|
COPY qemu-ifup /run/
|
||||||
COPY run.sh /run/
|
COPY run.sh /run/
|
||||||
COPY server.sh /run/
|
COPY server.sh /run/
|
||||||
COPY --from=builder /src/vdsm-serial/main /run/serial.bin
|
COPY --from=builder /src/serial/main /run/serial.bin
|
||||||
|
|
||||||
RUN ["chmod", "+x", "/run/generate-dhcpd-conf"]
|
RUN ["chmod", "+x", "/run/generate-dhcpd-conf"]
|
||||||
RUN ["chmod", "+x", "/run/qemu-ifdown"]
|
RUN ["chmod", "+x", "/run/qemu-ifdown"]
|
||||||
@ -48,6 +48,7 @@ VOLUME /images
|
|||||||
EXPOSE 5000
|
EXPOSE 5000
|
||||||
EXPOSE 5001
|
EXPOSE 5001
|
||||||
|
|
||||||
|
ENV RAM_SIZE 512M
|
||||||
ENV DISK_SIZE 16G
|
ENV DISK_SIZE 16G
|
||||||
ENV URL https://global.synologydownload.com/download/DSM/release/7.0.1/42218/DSM_VirtualDSM_42218.pat
|
ENV URL https://global.synologydownload.com/download/DSM/release/7.0.1/42218/DSM_VirtualDSM_42218.pat
|
||||||
|
|
||||||
@ -57,6 +58,3 @@ ENV URL https://global.synologydownload.com/download/DSM/release/7.0.1/42218/DSM
|
|||||||
|
|
||||||
ENTRYPOINT ["/run/run.sh"]
|
ENTRYPOINT ["/run/run.sh"]
|
||||||
|
|
||||||
# Mostly users will probably want to configure memory usage.
|
|
||||||
CMD ["-m", "512M"]
|
|
||||||
|
|
||||||
|
2
run.sh
2
run.sh
@ -176,7 +176,7 @@ echo "Booting OS..."
|
|||||||
# -enable-kvm: Use KVM for this VM (much faster for our case).
|
# -enable-kvm: Use KVM for this VM (much faster for our case).
|
||||||
# -nographic: disable SDL graphics.
|
# -nographic: disable SDL graphics.
|
||||||
# -serial mon:stdio: use "monitored stdio" as our serial output.
|
# -serial mon:stdio: use "monitored stdio" as our serial output.
|
||||||
exec qemu-system-x86_64 -name Synology -enable-kvm -nographic -serial mon:stdio \
|
exec qemu-system-x86_64 -name Synology -m $RAM_SIZE -enable-kvm -nographic -serial mon:stdio \
|
||||||
"$@" \
|
"$@" \
|
||||||
-device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x3 -chardev pty,id=charserial0 \
|
-device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x3 -chardev pty,id=charserial0 \
|
||||||
-device isa-serial,chardev=charserial0,id=serial0 -chardev socket,id=charchannel0,host=127.0.0.1,port=12345,reconnect=10 \
|
-device isa-serial,chardev=charserial0,id=serial0 -chardev socket,id=charchannel0,host=127.0.0.1,port=12345,reconnect=10 \
|
||||||
|
@ -29,10 +29,10 @@ var GuestSN = flag.String("guestsn", "0000000000000", "Guest SN, 13 bytes")
|
|||||||
var GuestUUID = flag.String("guestuuid", "ba13a19a-c0c1-4fef-9346-915ed3b98341", "Guest UUID")
|
var GuestUUID = flag.String("guestuuid", "ba13a19a-c0c1-4fef-9346-915ed3b98341", "Guest UUID")
|
||||||
var GuestCPUs = flag.Int("cpu", 1, "Num of Guest cpu")
|
var GuestCPUs = flag.Int("cpu", 1, "Num of Guest cpu")
|
||||||
var GuestCPU_ARCH = flag.String("cpu_arch", "QEMU, Virtual CPU, X86_64", "CPU arch")
|
var GuestCPU_ARCH = flag.String("cpu_arch", "QEMU, Virtual CPU, X86_64", "CPU arch")
|
||||||
var HostDSMBuildNumber = flag.Int("buildnumber", 42218, "Build Number of Host")
|
var HostDSMBuildNumber = flag.Int("buildnumber", 42962, "Build Number of Host")
|
||||||
var HostDSMfixNumber = flag.Int("fixNumber", 0, "Fix Number of Host")
|
var HostDSMfixNumber = flag.Int("fixNumber", 0, "Fix Number of Host")
|
||||||
var VMMVersion = flag.String("vmmversion", "2.5.5-11487", "VMM version")
|
var VMMVersion = flag.String("vmmversion", "2.6.1-12139", "VMM version")
|
||||||
var VMMTimestamp = flag.Int("vmmts", 1650802981032, "VMM Timestamp")
|
var VMMTimestamp = flag.Int("vmmts", 1679863686, "VMM Timestamp")
|
||||||
|
|
||||||
// synowebapi --exec api=SYNO.Core.Package method=get id=Virtualization
|
// synowebapi --exec api=SYNO.Core.Package method=get id=Virtualization
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user