Update how to run Debian in custom_vm.md
Bug: 348362660
Test: follow the instructions
Change-Id: I42afdaa8936f66877006766b2fc0cb31b796ea27
diff --git a/docs/custom_vm.md b/docs/custom_vm.md
index cdeddf5..e10799a 100644
--- a/docs/custom_vm.md
+++ b/docs/custom_vm.md
@@ -25,19 +25,21 @@
The `vm` command also has other subcommands for debugging; run
`/apex/com.android.virt/bin/vm help` for details.
-### Running Debian with u-boot
-1. Prepare u-boot binary from `u-boot_crosvm_aarch64` in https://ci.android.com/builds/branches/aosp_u-boot-mainline/grid
-or build it by https://source.android.com/docs/devices/cuttlefish/bootloader-dev#develop-bootloader
-2. Prepare Debian image from https://cloud.debian.org/images/cloud/ (We tested nocloud image)
-3. Copy `u-boot.bin`, Debian image file(like `debian-12-nocloud-arm64.raw`) and `vm_config.json` to `/data/local/tmp`
+### Running Debian
+1. Prepare Debian image from https://cloud.debian.org/images/cloud/ (We tested nocloud image)
+2. (Optional) Resize the image if necessary
+```
+truncate -s 20G ./debian.img
+virt-resize --expand /dev/sda1 ./debian-12-nocloud-arm64.raw ./debian.img
+```
+3. Copy Debian image file(like `debian-12-nocloud-arm64.raw`) and `vm_config.json` to `/data/local/tmp`
```shell
cat > vm_config.json <<EOF
{
"name": "debian",
- "bootloader": "/data/local/tmp/u-boot.bin",
"disks": [
{
- "image": "/data/local/tmp/debian-12-nocloud-arm64.raw",
+ "image": "/data/local/tmp/debian-12-nocloud-arm64.raw", # or debian.img if you resized the image.
"partitions": [],
"writable": true
}
@@ -45,14 +47,49 @@
"protected": false,
"cpu_topology": "match_host",
"platform_version": "~1.0",
- "memory_mib" : 8096
+ "memory_mib": 8096,
+ "debuggable": true,
+ "console_out": true,
+ "connect_console": true,
+ "console_input_device": "ttyS0",
+ "network": true,
+ "input": {
+ "touchscreen": true,
+ "keyboard": true,
+ "mouse": true,
+ "trackpad": true,
+ "switches": true
+ },
+ "audio": {
+ "speaker": true,
+ "microphone": true
+ },
+ "gpu": {
+ "backend": "virglrenderer",
+ "context_types": ["virgl2"]
+ },
+ "display": {
+ "refresh_rate": "30"
+ }
}
EOF
-adb push `u-boot.bin` /data/local/tmp
-adb push `debian-12-nocloud-arm64.raw` /data/local/tmp
+adb push debian-12-nocloud-arm64.raw /data/local/tmp # or debian.img
adb push vm_config.json /data/local/tmp/vm_config.json
```
4. Launch VmLauncherApp(the detail will be explain below)
+5. For console, we can refer to `Debugging` section below. (id: root)
+5. For graphical shell, you need to install xfce(for now, only xfce is tested)
+```
+apt install task-xfce-desktop
+dpkg --configure -a (if necessary)
+systemctl set-default graphical.target
+
+# need non-root user for graphical shell
+adduser linux
+# optional
+adduser linux sudo
+reboot
+```
## Graphical VMs