Skip to content

runcontainerjs: support QEMU mode#377

Merged
ktock merged 1 commit intomainfrom
imagemounter-qemu
Jan 8, 2025
Merged

runcontainerjs: support QEMU mode#377
ktock merged 1 commit intomainfrom
imagemounter-qemu

Conversation

@ktock
Copy link
Collaborator

@ktock ktock commented Jan 8, 2025

This enables runcontainer.js to start containers using QEMU Wasm via a function createContainerQEMUWasm. This PR also adds examples .

const vmImage = location.origin + "/img";
const mounterImage = location.origin + "/imagemounter.wasm.gzip";
const stackWorkerFile = location.origin + "/dist/stack-worker.js";
const containerImageAddress = getImageParam();
const moduleP = RunContainer.createContainerQEMUWasm(vmImage, containerImageAddress, stackWorkerFile, mounterImage, Module);
moduleP.then((Module) => {
    Module.pty = slave;
    var oldPoll = Module['TTY'].stream_ops.poll;
    var pty = Module['pty'];
    Module['TTY'].stream_ops.poll = function(stream, timeout){
        if (!pty.readable) {
            return (pty.readable ? 1 : 0) | (pty.writable ? 4 : 0);
        }
        return oldPoll.call(stream, timeout);
    }
})

Signed-off-by: Kohei Tokunaga <ktokunaga.mail@gmail.com>
@ktock ktock merged commit 4d9f15a into main Jan 8, 2025
@ktock ktock deleted the imagemounter-qemu branch January 8, 2025 03:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant