Building UOS from Clear Linux OS¶
This document builds on the Try using ACRN, and explains how to build UOS from Clear Linux OS.
Build UOS image in Clear Linux OS¶
Follow these steps to build a UOS image from Clear Linux OS:
- In Clear Linux OS, install - ister(a template-based installer for Linux) included in the Clear Linux OS bundle- os-installer. For more information about- ister, please visit https://github.com/bryteise/ister.- $ sudo swupd bundle-add os-installer 
- After installation is complete, use - ister.pyto generate the image for UOS with the configuration in- uos-image.json:- $ cd ~ $ sudo ister.py -t uos-image.json - An example of the configuration file - uos-image.json:- { "DestinationType" : "virtual", "PartitionLayout" : [ { "disk" : "uos.img", "partition" : 1, "size" : "512M", "type" : "EFI" }, { "disk" : "uos.img", "partition" : 2, "size" : "1G", "type" : "swap" }, { "disk" : "uos.img", "partition" : 3, "size" : "8G", "type" : "linux" } ], "FilesystemTypes" : [ { "disk" : "uos.img", "partition" : 1, "type" : "vfat" }, { "disk" : "uos.img", "partition" : 2, "type" : "swap" }, { "disk" : "uos.img", "partition" : 3, "type" : "ext4" } ], "PartitionMountPoints" : [ { "disk" : "uos.img", "partition" : 1, "mount" : "/boot" }, { "disk" : "uos.img", "partition" : 3, "mount" : "/" } ], "Version": "latest", "Bundles": ["bootloader", "editors", "kernel-iot-lts2018", "network-basic", "os-core-update", "os-core", "openssh-server", "sysadmin-basic"] }- Note - To generate the image with a specified version, please modify the - "Version"argument, and we can set- "Version": 26550instead of- "Version": "latest"for example.- Here we will use - "Version": 26550for example, and the UOS image called- uos.imgwill be generated after successful installation. An example output log is:- Reading configuration Validating configuration Creating virtual disk Creating partitions Mapping loop device Creating file systems Setting up mount points Starting swupd. May take several minutes Installing 9 bundles (and dependencies)... Verifying version 26550 Downloading packs... Extracting emacs pack for version 26550 Extracting vim pack for version 26550 ... Cleaning up Successful installation 
- On your target device, boot the system and select “The ACRN Service OS”, as shown below: - => The ACRN Service OS Clear Linux OS for Intel Architecture (Clear-linux-iot-lts2018-4.19.0-19) Clear Linux OS for Intel Architecture (Clear-linux-iot-lts2018-sos-4.19.0-19) Clear Linux OS for Intel Architecture (Clear-linux-native.4.19.1-654) EFI Default Loader Reboot Into Firmware Interface 
Start the User OS (UOS)¶
- Mount the UOS image and check the UOS kernel: - # losetup -r -f -P --show ~/uos.img # mount /dev/loop0p3 /mnt # ls -l /mnt/usr/lib/kernel/ cmdline-4.19.0-26.iot-lts2018 config-4.19.0-26.iot-lts2018 default-iot-lts2018 -> org.clearlinux.iot-lts2018.4.19.0-26 install.d org.clearlinux.iot-lts2018.4.19.0-26 
- Adjust the - /usr/share/acrn/samples/nuc/launch_uos.shscript to match your installation. These are the couple of lines you need to modify:- -s 3,virtio-blk,~/uos.img \ -k /mnt/usr/lib/kernel/default-iot-lts2018 \ - Note - UOS image - uos.imgis in the directory- ~/and UOS kernel- default-iot-lts2018is in- /mnt/usr/lib/kernel/.
- You are now all set to start the User OS (UOS): - $ sudo /usr/share/acrn/samples/nuc/launch_uos.sh - You are now watching the User OS booting up!