blob: aba72657994b398cb49ba6c56dd25c48b7968407 [file] [log] [blame] [view]
# 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
```