The debian_guest
package provides a more substantial Linux environment than that provided by the linux_guest
package.
These steps will walk through building a the package with the root filesystem bundled as a package resource. The root filesystem will appear writable but all writes are volatile and will disappear when the guest shuts down.
$ cd $FUCHSIA_DIR $ ./src/virtualization/packages/debian_guest/build-image.sh x64 $ fx set core.x64 --with-base "//src/virtualization,//src/virtualization/packages/debian_guest" $ fx build $ fx pave
To boot on a VIM2, replace x64
with arm64
.
debian_guest
Once booted:
guest launch debian_guest
The Debian system exposes a simple telnet interface over vsock port 23. You can use the guest
CLI to connect to this socket to open a shell. First we need to identify the environment ID and the guest context ID (CID) to use:
$ guest list env:0 debian_guest guest:3 debian_guest
The above indicates the debian guest is CID 3 in environment 0. Open a shell with:
$ guest socat 0 3 23
All of the images constructed by build.sh
(see above) are available on CIPD. To update and upload those images run the following. The scripts will prompt for a CIPD auth token and for sudo access.
$ cd $FUCHSIA_DIR $ ./src/virtualization/packages/debian_guest/mkcipd.sh x64 $ ./src/virtualization/packages/debian_guest/mkcipd.sh arm64