Virtual machine operating system configuration system

By introducing DTB providers in the configuration system of the virtual machine operating system, the problem of difficulty modifying DTB in the production stage was solved, and the flexibility of design flexibility and large -scale production was improved, and the safety and consistency of DTB were ensured.

CN119376850APending Publication Date: 2025-01-28MEDIATEK INC
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202411015723.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2024-07-21
Filing Date
2024-07-26
Publication Date
2025-01-28

AI Technical Summary

Technical Problem

The prior art is difficult to modify dtb at the production stage when ensuring the security of the device tree descriptor (dtb), resulting in manufacturers facing design flexibility and difficulties in mass production.

Method used

By providing a virtual machine operating system (VM OS) configuration system, the system includes a processor, a host VM, a management program, a descriptor provider, and a customer VM. The system allows DTB to be provided directly by DTB providers and can be built in the firmware or dynamically loaded in advance, independent of the update of management programs.

Benefits of technology

The solution improves design flexibility, allows DTB to modify during the production stage, solve the problem of update dependence in large -scale production, and ensure the safety and consistency of DTB.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119376850A_ABST
    Figure CN119376850A_ABST
Patent Text Reader

Abstract

A virtual machine operating system configuration system includes a processor arranged to execute a host virtual machine, a hypervisor, a descriptor provider, and a guest virtual machine. The host virtual machine is arranged to generate a drive signal to drive startup of a guest virtual machine. The hypervisor is arranged to generate a first trigger signal according to the drive signal to trigger the installation of the descriptor. The descriptor provider includes the descriptor and is arranged to install the descriptor into the protected memory according to the first trigger signal, in which an operating system of the guest virtual machine is configured according to the descriptor.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application is a continuation-in-part of U.S. Application No. 18 / 239,133, filed on August 29, 2023, which claims the benefit of U.S. Provisional Application No. 63 / 439,276, filed on January 17, 2023. In addition, this application claims the benefit of U.S. Provisional Application No. 63 / 529,150, filed on July 27, 2023. The contents of these applications are incorporated herein by reference. Technical Field

[0003] The present invention relates to a virtualization technology, and more particularly, to a virtual machine (VM) operating system (OS) configuration system and related non-volatile machine-readable media. Background Art

[0004] For edge devices (e.g., mobile phones or tablets) running the Linux kernel, a virtualization framework is provided for edge devices based on security considerations. The virtualization framework uses a hypervisor to generate multiple VMs, where the VMs are protected by the hardware in the edge device, each VM can run its own OS, and the Linux therein will use descriptors (e.g., device tree blob (dtb)) to describe the platform of the edge device (e.g., the hardware resources of the edge device, such as the size and location of the central processing unit (CPU) or memory). However, the edge device may be vulnerable to attacks by attackers through the dtb (e.g., the original hardware device in the edge device may be replaced by a fake hardware device).

[0005] To ensure the security of the DTB, the DTB can be pre-integrated into the secure boot so that it can be verified, loaded, and protected by the secure boot, and can be stored in the protected memory from the secure boot. When needed, the customer VM can be dynamically generated by the hypervisor, and the hypervisor can obtain the DTB from the protected memory to configure the OS of the customer VM. However, some problems may arise. Under the condition that the DTB needs to be pre-integrated into the secure boot, the DTB cannot be modified during the production stage of the edge device, which may cause inconvenience to the manufacturer. Summary of the invention

[0006] An object of the present invention is to provide a virtual machine operating system (VM OS) configuration system and related non-volatile machine-readable medium to solve the above problems.

[0007] According to one embodiment of the present invention, a VM OS configuration system is provided. The VM OS configuration system includes a processor, wherein the processor is arranged to execute a host VM, a hypervisor, a descriptor provider and a client VM. The host VM is arranged to generate a drive signal to drive the startup of a client VM. The hypervisor is arranged to generate a first trigger signal according to the drive signal to trigger the installation of a descriptor. The descriptor provider includes the descriptor and is arranged to install the descriptor into a protected memory according to the first trigger signal, wherein the OS of the client VM is configured according to the descriptor.

[0008] One benefit of the present invention is that, through the VM OS configuration system of the present invention, a secure dtb is directly provided by a dtb provider, wherein the dtb provider can be pre-built into the firmware of the VM OS configuration system, or can be dynamically loaded into the VM OS configuration system by downloading an APP, which can improve the design flexibility problem. In addition, since the update of the dtb provider can be independent of the update of the hypervisor, the large-scale production problem can be solved.

[0009] These and other objects of the present invention will no doubt become apparent to those skilled in the art by reading the following detailed description of the preferred embodiment and referring to the various figures and drawings. The embodiments are described in detail below with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0010] The present invention may be more fully understood by reading the following detailed description and examples with reference to the accompanying drawings, in which:

[0011] Figure 1 is a diagram of an electronic device according to an embodiment of the present invention.

[0012] Figure 2 The invention is a diagram of a virtual machine operating system configuration system according to an embodiment of the present invention.

[0013] Figure 3 The present invention is a diagram of a virtual machine operating system configuration system according to another embodiment of the present invention.

[0014] Figure 4 The present invention is a diagram of a virtual machine operating system configuration system according to another embodiment of the present invention.

[0015] Figure 5 The present invention is a diagram of a virtual machine operating system configuration system according to another embodiment of the present invention. DETAILED DESCRIPTION

[0016] The following description is intended to illustrate the general principles of the invention and is not to be construed in a limiting sense. The scope of the invention is best determined by reference to the appended claims.

[0017] Figure 1 1 is a schematic diagram of an electronic device 10 according to an embodiment of the present invention. For example, but not limited to, the electronic device 10 may be a portable device such as a smart phone or a tablet computer. The electronic device 10 may include a processor 12, a storage device 14 and a hardware circuit 16. The processor 12 may be a single-core processor or a multi-core processor. The storage device 14 is a computer-readable medium and is arranged to store a computer program code PROG. The processor 12 is equipped with software execution capabilities. The computer program code PROG may include a plurality of software modules. Therefore, when loaded and executed by the processor 12, the computer program code PROG instructs the processor 12 to perform the specified functions of the software modules. The electronic device 10 may be regarded as a computer system using a computer program product of a computer-readable medium containing computer program code. The hardware circuit 16 is pure hardware, may only consist of logic gates, and does not perform the specified functions performed by software. With regard to the virtual machine (VM) operating system (OS) configuration system proposed by the present invention, it may be embodied on the electronic device 10. For example, the VM OS configuration system may include software-based functions implemented by the computer program code PROG running on the processor 12 and / or hardware-based functions implemented by the hardware circuit 16.

[0018] Figure 2 2 is a schematic diagram of a VM OS configuration system 20 according to an embodiment of the present invention. The VM OS configuration system 20 may include a processor (eg, Figure 1 ), a host VM memory 204, a guest VM memory 208, and a protected memory 210. The processor may be arranged to execute software modules, including a host VM 200 and a hypervisor 202. When necessary, at least one guest VM may be dynamically generated by the hypervisor 202. In the present embodiment, the processor may be arranged to execute a guest VM 206 generated by the hypervisor 202. This is for illustration only, and the present invention is not limited thereto. In some embodiments, more than one guest VM may be executed by the processor according to design requirements. In addition, the processor may be further arranged to execute a root module, which is a software module generated by the hypervisor 202. For example, the root module may be a root VM 212, however, the present invention is not limited thereto. In some embodiments, the root module may be implemented by an application program (APP) generated by the hypervisor 212. In some embodiments, the root module may be a hardware component executed on the processor.

[0019] like Figure 2As shown, the host VM 200 may include a VM monitor 214 and an OS driver 216 (e.g., a Linux driver), wherein the VM monitor 214 may be arranged to generate a monitoring signal MS when the guest VM 206 needs to be generated, and the OS driver 216 may be arranged to generate a driving signal DS according to the monitoring signal MS to drive the startup of the guest VM 206 (e.g., drive the OS 226 of the guest VM 206, such as the Linux of the guest VM 206). In addition, the host VM 200 (more specifically, the VM monitor 214) may be further arranged to store a descriptor (e.g., a device tree blob, dtb) in the host VM memory 204 for describing the platform (e.g., hardware resources) of the electronic device 10 embodied by the VM OS configuration system 20, such as the size and location of the processor or memory (e.g., the host VM memory 204, the guest VM memory 208, and the protected memory 210). It should be noted that in some embodiments, the dtb stored in the host VM memory 204 may be provided by a network or other APP running on the processor.

[0020] The hypervisor 202 may include a pre-boot manager 218 and a boot manager 220. The pre-boot manager 218 may be arranged to receive a drive signal DS from the OS driver 216, and generate and output a first trigger signal FTS to the root VM 212 according to the drive signal DS to trigger the verification of the dtb. The root VM 212 may include a verifier 222, wherein the verifier 222 may be arranged to obtain the dtb from the host VM memory 204, verify the dtb according to the first trigger signal FTS to generate a verified dtb (denoted as "dtb'"), and store the dtb' in the protected memory 210. After completing the verification of the dtb (for example, after storing the dtb' in the protected memory 210), the pre-boot manager 218 may be further arranged to generate and output a second trigger signal STS to the boot manager 220 to trigger the booting of the client VM 206.

[0021] The boot manager 220 may be arranged to execute the boot of the client VM 206 according to the second trigger signal STS. Specifically, the boot manager 220 may obtain dtb' from the protected memory 210, copy dtb' to the client VM memory 208, and generate and output a third trigger signal TTS to the client VM 206 to trigger subsequent processing. The client VM 206 may include a boot loader 224. After receiving the third trigger signal TTS, the boot loader 224 may be arranged to obtain dtb' from the client VM memory 208, and perform a check operation on dtb' to generate a checked dtb (expressed as "dtb"") for storage in the client VM memory 208. For example, under the condition that there is no error in the dtb, some security-related nodes may be added to the dtb to generate dtb". The OS of the client VM 206 may be configured by the dtb" stored in the client VM memory 208.

[0022] Figure 3 is a schematic diagram of a virtual machine operating system configuration system 30 according to another embodiment of the present invention. The virtual machine operating system configuration system 30 may include a processor (e.g. Figure 1 ), a host VM memory 304, a guest VM memory 308, and a protected memory 310. The processor may be arranged to execute software modules, including a host VM 300 and a hypervisor 302, wherein the host VM 300 may include a VM monitor 314 and an OS driver 316, and the hypervisor 302 may include a pre-boot manager 318 and a boot manager 320. When necessary, at least one guest VM may be dynamically generated by the hypervisor 302. In this embodiment, the processor may be arranged to execute a guest VM 306 generated by the hypervisor 302, wherein the guest VM 306 may include a boot loader 324. In addition, the virtual machine operating system configuration system 30 may also include a root module, which is a hardware component (e.g., a root device 312) executed on the processor. For example, the root device 312 may be Figure 1 310. The root device 312 may include a validator 322, wherein the validator 322 may be arranged to obtain a dtb from the host VM memory 304, verify the dtb according to the first trigger signal FTS to generate a verified dtb (denoted as "dtb'"), and store the dtb' in the protected memory 310. The operation of the root device 312 is similar to Figure 2 The operation of the root VM 212 shown in FIG. 1 is similar to that of the root VM 212, that is, the dtb verification mechanism of the virtual machine operating system configuration system 30 is implemented by hardware. Figure 2The operation of the virtual machine operating system configuration system 20 shown in is similar. For the sake of brevity, similar descriptions of this embodiment will not be repeated in detail here.

[0023] for Figure 2 In the virtual machine operating system configuration system 20 shown in FIG. 2 , the operating system may need to be run on the root VM 212, which may increase costs. To solve this problem, an APP generated by the hypervisor can be run on the processor to verify the dtb. Figure 4 is a schematic diagram of a virtual machine operating system configuration system 40 according to another embodiment of the present invention. The virtual machine operating system configuration system 40 may include a processor (e.g. Figure 1 ), a host VM memory 404, a guest VM memory 408, and a protected memory 410. The processor may be arranged to execute software modules, including a host VM 400 and a hypervisor 402, wherein the host VM 400 may include a VM monitor 414 and an OS driver 416, and the hypervisor 402 may include a pre-boot manager 418 and a boot manager 420. When necessary, at least one guest VM may be dynamically generated by the hypervisor 402. In this embodiment, the processor may be arranged to execute a guest VM 406 generated by the hypervisor 402, wherein the guest VM 406 may include a boot loader 424. In addition, the processor may be further arranged to execute a root module generated by the hypervisor 202, which is a software module. For example, the root module can be implemented by an APP 412 generated by the hypervisor 402. APP 412 may include a verifier 422, wherein the verifier 422 may be arranged to obtain a dtb from the host VM memory 404, verify the dtb according to the first trigger signal FTS to generate a verified dtb (denoted as "dtb'"), and store the dtb' in the protected memory 410. The operation of APP 412 is similar to Figure 2 The operation of the root VM 212 shown in FIG. 4 is similar, that is, the dtb verification mechanism of the virtual machine operating system configuration system 40 is implemented by software. Figure 2 The operation of the virtual machine operating system configuration system 20 shown in is similar. For the sake of brevity, similar descriptions of this embodiment will not be repeated in detail here.

[0024] for Figure 4In the virtual machine operating system configuration system 40 shown in FIG. 4 , in the process of providing the dtb from the VM monitor 414 to the host VM memory 404, the dtb may be tampered with, so that the virtual machine operating system configuration system 40 may have security issues. In addition, some products with the virtual machine operating system configuration system 40 may not support the APP 412 generated by the hypervisor 402, which may encounter design flexibility issues. In addition, the update of the APP 412 may depend on the update of the hypervisor 402, which may cause difficulties in large-scale production. To solve these problems, a dtb provider can be run on the processor to install the dtb.

[0025] Figure 5 FIG. 5 is a schematic diagram of a virtual machine operating system configuration system 50 according to another embodiment of the present invention. Figure 5 As shown, the virtual machine operating system configuration system 50 may include a processor (eg Figure 1 ), a host VM memory 504, a guest VM memory 508, and a protected memory 510. The processor may be arranged to execute software modules, including a host VM 500 and a hypervisor 502, wherein the host VM 500 may include a VM monitor 514 and an OS driver 516, and the hypervisor 502 may include a pre-boot manager 518 and a boot manager 520. When necessary, at least one guest VM may be dynamically generated by the hypervisor 502. In this embodiment, the processor may be arranged to execute a guest VM 506 generated by the hypervisor 502, wherein the guest VM 506 may include a boot loader 524. In addition, the processor may be further arranged to execute a dtb provider 512, wherein the dtb provider 512 may be pre-built into the virtual machine operating system configuration system 50, with the firmware of the virtual machine operating system configuration system 50, or may be dynamically loaded into the virtual machine operating system configuration system 50 by downloading an APP, which can solve the above-mentioned design flexibility problem. Since the update of the dtb provider 512 can be independent of the update of the hypervisor 502, the large-scale production problem can be solved.

[0026] In response to the client VM 506 needing to be generated, the VM monitor 514 may be arranged to generate and output a monitoring signal MS to the OS driver 516, and the OS driver 516 may be arranged to generate a driving signal DS based on the monitoring signal MS for driving the booting of the client VM 506 (e.g., driving the operating system OS 526 of the client VM 506, such as Linux of the client VM 506). The dtb provider 512 may include a secure dtb (denoted as "s_dtb"), and may include an installer 522, wherein the installer 522 may be arranged to perform the installation of the s_dtb. In addition, the VM monitor 514 may be further arranged to generate and output a control signal CS to the dtb provider 512 to control the dtb provider 512 to inject the s_dtb into the installer 522. The pre-boot manager 518 may be arranged to receive the driving signal DS from the OS driver 516, and to generate and output a trigger signal FTS' to the dtb provider 512 based on the driving signal DS to trigger the installation of the s_dtb. The installer 522 may be arranged to install (e.g., store) s_dtb in the protected memory 510 according to the trigger signal FTS′. After the installation of s_dtb is completed (e.g., after s_dtb is stored in the protected memory 510), the pre-boot manager 518 may be further arranged to generate and output a second trigger signal STS to the boot manager 520 to trigger the booting of the client VM 506.

[0027] The boot manager 520 may be arranged to perform the boot of the client VM 506 according to the second trigger signal STS. Specifically, the boot manager 520 may obtain s_dtb from the protected memory 510, copy s_dtb to the client VM memory 508, and generate and output a third trigger signal TTS to the client VM 506 to trigger subsequent processing. The client VM 506 may include a boot loader 524. After receiving the third trigger signal TTS, the boot loader 524 may be arranged to obtain s_dtb from the client VM memory 508, and perform a check operation on s_dtb to generate a checked dtb (expressed as "s_dtb'") for storage in the client VM memory 508. For example, under the condition that there is no error in the s_dtb, some security-related nodes may be added to the s_dtb to generate s_dtb'. The operating system OS 526 of the client VM 506 may be configured according to the s_dtb' stored in the client VM memory 508.

[0028] In summary, through the VM OS configuration system 50 of the present invention, a secure dtb is directly provided by the dtb provider 512, wherein the dtb provider 512 can be pre-built into the firmware of the VM OS configuration system 50, or can be dynamically loaded into the VM OS configuration system 50 by downloading an application, which can improve the design flexibility problem. In addition, since the update of the dtb provider 512 can be independent of the update of the hypervisor 502, the large-scale production problem can be solved.

[0029] Although the present invention has been described by way of example and preferred embodiments, it should be understood that the present invention is not limited to the disclosed embodiments. On the contrary, the present invention is intended to cover various modifications and similar arrangements (which are obvious to those skilled in the art). Therefore, the scope of the appended claims should be interpreted in the broadest manner so as to cover all such modifications and similar arrangements.

Claims

1. A virtual machine operating system configuration system, characterized in that: include: A processor that executes: A host virtual machine, used to generate a driving signal to drive the startup of a client virtual machine; a management program, for generating a first trigger signal according to the driving signal to trigger the installation of the descriptor; a descriptor provider including the descriptor and arranged to install the descriptor into protected memory in response to the first trigger signal; as well as The client virtual machine, wherein the operating system of the client virtual machine is configured according to the descriptor.

2. The virtual machine operating system configuration system according to claim 1, characterized in that: The descriptor provider is pre-built into the firmware of the virtual machine operating system configuration system.

3. The virtual machine operating system configuration system according to claim 1, characterized in that: The descriptor provider is dynamically loaded into the virtual machine operating system configuration system by downloading the application program.

4. The virtual machine operating system configuration system according to claim 1, characterized in that: The host virtual machine includes: a virtual machine monitor for generating a monitoring signal in response to the client virtual machine needing to be generated; and An operating system driver is used to generate the driving signal according to the monitoring signal.

5. The virtual machine operating system configuration system according to claim 4, characterized in that: The descriptor provider comprises an installer arranged to perform installation of the descriptor, and the virtual machine monitor is further arranged to generate and output a control signal to the descriptor provider to control the descriptor provider to inject the descriptor into the installer.

6. The virtual machine operating system configuration system according to claim 1, characterized in that: The management program includes: A pre-boot manager arranged to: Generate the first trigger signal according to the driving signal; and After the installation of the descriptor is completed, generating a second trigger signal to trigger the startup of the client virtual machine; and A startup manager is arranged to execute startup of the client virtual machine according to the second trigger signal.

7. The virtual machine operating system configuration system according to claim 1, characterized in that: The client virtual machine includes: a boot loader arranged to perform a check operation on the descriptor to generate a checked descriptor; The operating system of the client virtual machine is configured according to the checked descriptor.

8. A non-volatile machine-readable medium, characterized in that: For storing program code, wherein when loaded and executed by a processor, the program code instructs the processor to perform: A host virtual machine, used to generate a driving signal to drive the startup of a client virtual machine; a management program, for generating a first trigger signal according to the driving signal to trigger the installation of the descriptor; a descriptor provider including the descriptor and arranged to install the descriptor into protected memory in response to the first trigger signal; as well as The client virtual machine, wherein the operating system of the client virtual machine is configured according to the descriptor.

9. The non-volatile machine-readable medium of claim 8, wherein: The descriptor provider is pre-built into the firmware of the virtual machine operating system configuration system.

10. The non-volatile machine-readable medium of claim 8, wherein: The descriptor provider is dynamically loaded into the virtual machine operating system configuration system by downloading the application program.

11. The non-volatile machine-readable medium of claim 8, wherein: The host virtual machine includes: a virtual machine monitor for generating a monitoring signal in response to the client virtual machine needing to be generated; and An operating system driver is used to generate the driving signal according to the monitoring signal.

12. The non-volatile machine-readable medium of claim 11, wherein: The descriptor provider comprises an installer arranged to perform installation of the descriptor, and the virtual machine monitor is further arranged to generate and output a control signal to the descriptor provider to control the descriptor provider to inject the descriptor into the installer.

13. The non-volatile machine-readable medium of claim 8, wherein: The management program includes: A pre-boot manager arranged to: Generate the first trigger signal according to the driving signal; and After the installation of the descriptor is completed, generating a second trigger signal to trigger the startup of the client virtual machine; and A startup manager is arranged to execute startup of the client virtual machine according to the second trigger signal.

14. The non-volatile machine-readable medium of claim 8, wherein: The client virtual machine includes: a boot loader arranged to perform a check operation on the descriptor to generate a checked descriptor; The operating system of the client virtual machine is configured according to the checked descriptor.

Citation Information

Patent Citations

  • Virtual machine operating system configuration system

    US20240241744A1