| # Debian Guest |
| |
| The `debian_guest` package provides a basic Linux environment based on the |
| Debian Linux distribution. |
| |
| ## Building |
| |
| 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`. |
| |
| ## Running `debian_guest` |
| |
| Once booted: |
| |
| ``` |
| guest launch debian_guest |
| ``` |
| |
| ## Telnet shell |
| |
| 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 |
| ``` |
| |
| ## CIPD (Googlers only) |
| |
| 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 |
| ``` |