The debian_guest
package provides a basic Linux environment based on the Debian Linux distribution.
These steps will walk through building a 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 prebuilt/virtualization/packages/debian_guest/images/x64 x64 $ fx set core.x64 --with-base "//src/virtualization,//src/virtualization/packages/debian_guest" $ fx build $ fx pave
To boot on an ARM64 device, 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-image.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