pull/1101/head
Maxim Devaev 9 months ago
parent 903ec95390
commit 6ca0ab3f97

@ -5,6 +5,9 @@ It allows PiKVM to emulate a virtual CD-ROM or Flash Drive for the target host
which will be available even in BIOS/UEFI when you need live disk to revive the OS
or even reinstall it.
!!! warning "Legacy note"
This document is relevant for `KVMD >= 3.249`. If you are using an older version, please update the PiKVM OS.
| Take a look at the `Drive` menu in the Web UI |
|-----------------------------------------------|
| <img src="drive_menu.png" width="400" /> |
@ -17,6 +20,14 @@ The following actions are available here:
* Downloading an image from the PiKVM storage.
* Drive connection management and much more.
!!! warning
Never turn off the power of the PiKVM while the image is being uploaded
or while the image is connected to the target host in write mode.
This may cause file corruption.
The rest of the time, power off is safe because the PiKVM filesystem
will be in read-only mode.
!!! info "The max CD-ROM image size is 2.2 GB"
This is a Linux kernel [limitation](https://github.com/pikvm/pikvm/issues/322) on PiKVM,
which currently cannot emulate a DVD drive.
@ -31,9 +42,6 @@ The following actions are available here:
The switch affects the settings of the future connection. For non-V3/V4 devices,
you need to either reboot your target host or otherwise reinitialize the drive.
!!! warning "Legacy note"
This document is relevant for `KVMD >= 3.249`. If you are using an older version, please update the PiKVM OS.
-----
## Image uploading without Web UI
@ -64,6 +72,73 @@ This protects the data from damage in the event of a sudden loss of power.
An HTTP API for Mass Storage management is also [available](api.md#mass-storage-drive) for advanced use.
-----
## Writable Flash Drive
When emulating Flash Drive on PiKVM, you can allow the target host to write files to the image.
After stopping the drive, this image can be downloaded and opened on the local host.
This is useful if you need to get some files from the target host.
The file system image for the virtual Flash Drive must be prepared in advance.
This can be done either on the local host or in the PiKVM console.
Here some options:
??? example "Step by step: Creating simple FAT32 image on PiKVM"
1. Remount internal storage to read-write mode manually:
```
[root@pikvm ~]# kvmd-helper-otgmsd-remount rw
```
2. Create an empty image file in `/var/lib/kvmd/msd` (this is the internal storage of PiKVM images)
of desired size (512MB in this example) and format it to FAT32:
```
[root@pikvm ~]# dd if=/dev/zero of=/var/lib/kvmd/flash.img bs=1M count=512 status=progress
[root@pikvm ~]# loop=$(losetup -f)
[root@pikvm ~]# echo -e 'o\nn\np\n1\n\n\nt\nc\nw\n' | fdisk /var/lib/kvmd/flash.img
[root@pikvm ~]# losetup -P $loop /var/lib/kvmd/flash.img
[root@pikvm ~]# mkfs.vfat ${loop}p1
[root@pikvm ~]# losetup -d $loop
```
3. Remount internal storage back to safe read-only mode:
```
[root@pikvm ~]# kvmd-helper-otgmsd-remount ro
```
??? example "Step by step: Creating DMG image for target macOS on a local macOS"
1. Open `Disk Utility`.
2. Click menu `File -> New Image -> Blank Image`.
3. Set some options:
| `Format` and `Partitions` are very important |
|----------------------------------------------|
| <img src="macos_flash_dmg.png" width="400"> |
4. Click `Save`. The drive will automatically be mounted.
5. Copy files (such as BIOS updates) onto the new image (via terminal or drag and drop in Finder).
6. Eject image.
7. Rename the image file from `.dmg` to `.img`.
8. Upload the image to PiKVM.
The image `flash.img` now should be available in the `Drive` menu in Web UI.
Change drive mode to the `Flash` position and enable `Writable` switch.
Connect the image, do whatever is necessary, with files, and disconnect it.
The modified image containing your files can be downloaded to a local host
by selecting it from the menu and clicking the floppy disk icon.
-----
## NFS storage
@ -162,7 +237,7 @@ So, to add a second virtual drive, follow this:
-----
## Second writable flash drive
## Manual drives management
The `kvmd-otgmsd` console utility is used to manage additional (and the first main one) drives.
The full list of options can be found by running `kvmd-otgmsd --help`.
@ -187,11 +262,12 @@ The full list of options can be found by running `kvmd-otgmsd --help`.
[root@pikvm ~]# kvmd-otgmsd -i 1 --set-rw=1 --set-cdrom=0 --set-image=/root/flash.img
```
4. On this step, you will be able to access the flash drive from the target host.
!!! note
Index `0` represents the main drive that is controlled via the Web UI and API.
4. On this step, you will be able to access the flash drive from the target host
and format the it in the usual way.
5. View the drive state:
```
@ -333,23 +409,6 @@ Boot the server and select boot device like you normally would.
E.g. in a AMI BIOS the boot device is called "Linux File-CD Gadget 0504".
-----
## Create a drive image on macOS
1. Open Disk Utility.
2. `File > New Image > Blank Image`.
3. Save As: `pikvm-image.dmg`. Name: `pikvm-image`. Size: 100 MB (or whatever size you want). Format: `MS-DOS (FAT)`. Partitions: `Single partition - GUID Partition Map`. Image Format: `read/write disk image`.
4. Click Save.
5. The drive will automatically be mounted.
6. Copy files (such as BIOS updates) onto the new image (via terminal or drag and drop in Finder).
7. Eject image.
8. Rename file to .img
9. Upload image to PiKVM interface under "Drive".
10. Select Drive Mode: `Flash` and then `Connect drive to Server`.
You should be able to then mount it locally on the server, or reboot the device to do things like BIOS updates.
-----
## An alternative to making a Windows boot image that does not require a physical usb flash drive

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Loading…
Cancel
Save