Attention

You are viewing an older version of the documentation. The latest version is v3.3.

Set Windriver® VxWorks® 7 RTH privileged-mode (pos-vx)

A rts-buster image can extend Real-Time Hypervisor (RTH) commercial-license to boot Windriver® VxWorks® 7 SR0620 (IA 32-bits or 64-bits) ramdisk image .

Preconditions RTH Windriver® VxWorks®

Windriver® VxWorks® 7 commercial runtime components:

  • Windriver® VxWorks® Workbench

    • Windriver® VxWorks® version 6.9 or 7

    • BSP for Intel architecture

    • user-generated built VxWorks Image ()

  • Windriver® VxWorks® 7 IA 64-bit BSP binary Stitch RTH blobs as ramdisk image vxWorks_x86_64_096 into /boot/rth/pos-vx folder

  • Hypervisor binary (rthx86)

  • Hypervisor license file (license.txt) for Windriver® VxWorks®

  • grub entries template /etc/grub.d/45-rth-pos-vx-linux file.

  • pos-vx Hypervisor Configuration File (/boot/rth/pos-vx/Linux_VxWorks64.txt or /boot/rth/pos-vx/WindowsEFI_VxWorks64.txt) to set specific Privileged-mode RTH boot options

booting Debian GNU/Linux LXDE Desktop GPOS w/ Windriver® VxWorks®

Out-of-box installed rts-buster image make generic assumptions about the desired Debian GNU/Linux LXDE desktop default Grub menu.

  1. Select a desired RTH pre-canned GPOS + POS configurations Advanced options for ECI-R ...:

../../_images/Grub_04.jpg
  1. Select subsequent grub multiboot configuration ECI-R (RTS Hypervisor) GPOS GNU/Debian Desktop and POS VxWorks 7 SR0650

../../_images/sub-grub_04.jpg
  1. Successfully RTH boot log are displayed

../../_images/RTH_init1.png
  1. Successfully GPOS kernel boot log are displayed

../../_images/GPOS_init1.png
  1. Enter Login in LXDE Lightdm UI menu eci-user (passwd=eci-user) or as root

../../_images/Desktop_021.jpg

using Debian pos-vx package update

rts-buster provide the build environment for ECI-R to create and maintain pos-vx Debian packaging and runtime dependencies.

$ dpkg -c rth-pos-vx_5.4.01.27752_amd64.deb
drwxr-xr-x root/root         0 2021-09-21 08:17 ./
drwxr-xr-x root/root         0 2021-09-17 17:11 ./boot/
drwxr-xr-x root/root         0 2021-09-17 17:11 ./boot/rth/
drwxr-xr-x root/root         0 2021-09-17 17:11 ./boot/rth/pos-vx/
-rw-r--r-- root/root      2843 2021-09-21 08:17 ./boot/rth/pos-vx/Linux_VxWorks64.txt
-rw-r--r-- root/root      2688 2021-09-21 08:17 ./boot/rth/pos-vx/WindowsEFI_VxWorks64.txt
-rw-r--r-- root/root   5373452 2021-09-21 08:17 ./boot/rth/pos-vx/vxWorks_x86_64
drwxr-xr-x root/root         0 2021-09-21 08:17 ./etc/
drwxr-xr-x root/root         0 2021-09-21 08:17 ./etc/grub.d/
-rwxr-xr-x root/root      1254 2021-09-21 08:17 ./etc/grub.d/45-rth-pos-vx-linux
drwxr-xr-x root/root         0 2021-09-21 08:17 ./root/
-rwxr-xr-x root/root        29 2021-09-21 08:17 ./root/hello-rth-pos-vx.sh
drwxr-xr-x root/root         0 2021-09-21 08:17 ./usr/
drwxr-xr-x root/root         0 2021-09-21 08:17 ./usr/share/
drwxr-xr-x root/root         0 2021-09-21 08:17 ./usr/share/doc/
drwxr-xr-x root/root         0 2021-09-21 08:17 ./usr/share/doc/rth-pos-vx/
-rw-r--r-- root/root       128 2021-09-21 08:17 ./usr/share/doc/rth-pos-vx/changelog.gz

When Default Debian GNU/Linux LXDE Desktop GPOS is used upgrading your Windriver® VxWorks® RTH privileged-mode pos-vx images can be done as followed :

$ dpkg -i rth-pos-vx_5.4.01.27752_amd64.deb
(Reading database ... 51507 files and directories currently installed.)
Preparing to unpack rth-pos-vx_5.4.01.27752_amd64.deb ...
Unpacking rth-pos-vx (5.4.01.27752) over (5.4.01.27752) ...
Setting up rth-pos-vx (5.4.01.27752) ...
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.4.115-intel-pk-standard+
Found initrd image: /boot/initrd.img-5.4.115-intel-pk-standard+
done

Edit pos-vx RTH settings manually

  1. Edit /etc/grub.d/45-rth-pos-vx-linux and add the new boot menu entry like this:

    $ vi /etc/grub.d/45-rth-pos-vx-linux
    ...
    menuentry "ECI-R (RTS Hypervisor) GPOS GNU/Debian Desktop and POS QNX Neutrino 7.1 [demo-image]" {
        search --no-floppy --fs-uuid --set=root ae1a66a5-ee9c-4573-9249-dd207ffa6248
        multiboot2 /boot/rth/rthx86
        module2 /boot/rth/license.txt
        module2 /boot/rth/pos-qn/Linux_QNX64.txt
        echo "Loading POS multi-boot QNX Neutrino bootable [RAMFS] images..."
        module2 /boot/rth/pos-qn/pcrth_x86_64.ifs pcrth_096_x86_64.ifs
        echo "Loading [ROOTFS] GPOS GNU/Debian Desktop bootable images ..."
        module2 /vmlinuz vmlinuz.lnk
        module2 /initrd.img initramfs.lnk
    }
    
  2. Edit ECI-R template RTH configuration file /boot/rth/pos-vx/Linux_VxWorks64.txt or /boot/rth/pos-vx/WindowsEFI_VxWorks64.txt should look similar to the following reference.

    # RTH CONFIG
    ################################################################################
    # System
    #
    [/SYSTEM]
        "IOMMU"          = uint32: 0    # set to 1 to restrict device memory access
        "security_level" = uint32: 0    # set to 1 to restrict API permissions
        "GPU_resource_partitioning" = uint32: 1     # set to 1 to optimize
                                                    # CPU resource usage
    ################################################################################
    # OS
    #
    [/OS/0]
    
        "name"          = "GPOS"
        "boot_priority" = uint32: 2     # start after VxWorks
        "virtualized"   = uint32: 1
        "cores_percent" = uint32: 50    # assign half of the CPUs
    
        "trace_partition_number" = uint32: 0    # write log to /SHM/0
    
        [/OS/0/RUNTIME/0]
    
            "bootline" = "ro root=LABEL=/ debug=all verbose=all console=tty0 console=ttyS0,115200n8 ip=192.168.2.1:::::vnet0"
            "image_0"  = "vmlinuz.lnk"
            "image_1"  = "initramfs.lnk"
    
    [/OS/1]
    
    
        "name"          = "VxWorks"
        "boot_priority" = uint32: 3             # start third
        "memory_size"   = uint64: 0x08000000    # 128 MB
        "virtual_MMU"   = uint32: 1             # set to 0 to disable restricted memory access
        "restricted_IO" = uint32: 0             # set to 1 to restrict I/O access
        "L3_cache_1_segments" = bytelist: 4,5,6
    
        "trace_partition_number" = uint32: 2    # write log to /SHM/2
        "CPU"           = bytelist: 4         # e.g. single CPU: bytelist: 4
    
        [/OS/2/RUNTIME/0]
    
            "bootline" = "vnet(0,0) e=192.168.2.3"
            "image_0"  = "vxWorks_x86_64_096"
    
    [/IRQ]
    
        "default" = uint32: 0   # default is GPOS
    
    ################################################################################
    # PCI
    #
    [/PCI]
        "default" = uint32: 0   # default is GPOS
    
        "auto_interrupt_mode" = uint32: 1   # automatically use MSI to avoid conflicts
    
    # i225 Device assignment with vendor ID / device ID and MSI Mode
    [/PCI/0]
        "OS"         = uint32: 1
        "vendor_ID"  = uint32: 0x8086
        "device_ID"  = uint32: 0x15f2
        "interrupt_mode" = uint32: 2
    
    # i210 Device assignment with vendor ID / device ID and MSI Mode to Yocto linux-rt
    [/PCI/1]
        "OS"         = uint32: 1
        "vendor_ID"  = uint32: 0x8086
        "device_ID"  = uint32: 0x1533
        "interrupt_mode" = uint32: 2
    
    # mGBE Device assignment with vendor ID / device ID and MSI Mode (not supoported yet by VxWorks BSP)
    
    ################################################################################
    # Shared Memory
    #
    
    [/SHM/0]
    
        "name" = "trace_0"
        "size" = uint64: 0xF000
    
    [/SHM/1]
    
        "name" = "trace_vxworks"
        "size" = uint64: 0x4000
    
  3. Reboot with rth -sysreboot && reboot commands