> For the complete documentation index, see [llms.txt](https://sandbox-docs.verifone.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sandbox-docs.verifone.com/s-adk-5.1-programmers-guide/readme/pg_vos_autoupd_and_resc_menu_configs.md).

# VOS-auto-update and Rescue Menu User Configuration (VOS2)

Starting from ADK 5.1, we have added a possibility to enable/disable USB VOS-auto-update and Rescue Menu features by adding a user configuration package on the device.

This possibility was added as an additional level of security for the customers who want to have more control over the device and don't want to allow unauthorized package installation under any circumstances.

This user configuration package is designed to be created/signed and installed by the customer, and should contain the following configuration files:

| Feature Name    | Configuration File  |
| --------------- | ------------------- |
| VOS-auto-update | disable\_autoupdate |
| Rescue Menu     | disable\_rescuemenu |

To create a needed dl-file, please, use either Package Manager following instructions from [Package Manager](/s-adk-5.1-programmers-guide/readme/developing_applications/pg_package_manager.md), or Packman Tool, using the guidelines from [Packman Tool](/s-adk-5.1-programmers-guide/readme/developing_applications/packman_users_guide.md).

The dl-file should be **user-signed**. And the package type should be **"Config Package"** - an app signer package that is intended to be used to download global configuration files.

Each configuration package should have the following contents:

```fragment
               Sample configuration package structure
|-- extract
|  `-- bndl.disable_feature
|      `-- CONTROL/
|      |  `-- control
|      `-- pkg.disable_feature
|         `-- CONTROL/
|         |  `-- control
|         `-- disable_configfile

 *where "disable_configfile" should be replaced by a required Configuration File name from the table above.
```

#### Attention

These config files' presence is checked by their names, thus, please, be careful naming those exactly as mentioned in the table above.

To create the required dl-package (referencing sample package from above) using packman, please, run the following command:

```cpp
packman.py build -t vos2 -s dev -r -i extract -d dl.disable_feature.tgz
```

This will create a dev-signed dl-package, ready for re-signing by user. To verify that the package was created correctly, please, run:

```cpp
packman.py validate -t vos2 -d dl.disable_feature.tgz
```

Presence of the aforementioned configuration files on the device will disable the corresponding features on the device, and absence of these files will keep the features enabled (meaning features are enabled by default). The contents of the files are not relevant, only their presence/absence is checked by the system.

To remove the configuration files from the device, the customer can simply create and install a corresponding removal package.

The current status of these feature availability on the device can be checked in the Sysmode menu on the device under the "Information" -> "User Sec Config" section, where you can find the "VOS auto update" and "Rescue menu" fields with "Enabled"/"Disabled" values.

Additionally, the presence of these configuration files on the device will also be reflected in the Sysmode Remote Tool, where you can find the same "VOS auto update" and "Rescue menu" fields in the "System info" menu.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://sandbox-docs.verifone.com/s-adk-5.1-programmers-guide/readme/pg_vos_autoupd_and_resc_menu_configs.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
