Skip to content

Getting started on Linux

Set up your development environment with the prerequisite tools and repositories you need to quickly start building AutoSD images.

Building AutoSD images

To build an AutoSD image, you need the automotive-image-builder tool and a compatible Automotive Image Builder manifest. You can find several sample manifests in the images directory in the sample-images repository.

Prerequisites

Procedure

  1. Copy or modify one of the sample manifests from the sample-images/images directory:

    $ git clone https://gitlab.com/CentOS/automotive/sample-images.git
    
  2. Build a disk image with automotive-image-builder:

    $ aib-dev build \
        --target qemu \
        sample-images/images/simple-developer.aib.yml \
        my-image.qcow2
    

    The simple-developer.aib.yml manifest contains several RPM packages for development purposes. The build command options are described in detail in Automotive Image Builder tool.

Booting prebuilt AutoSD images in a QEMU VM

A virtualized AutoSD development environment, or virtual machine (VM), is a convenient place to build and test applications. The image built from simple-developer.aib.yml, for example, includes many tools useful for developing AutoSD images. After you create an AutoSD image file, use the air (automotive-image-runner) tool, included with the automotive-image-builder, to start a VM.

Prerequisites

Procedure

  1. Start a VM using air:

    $ air --nographics <path>/image.qcow2
    
  2. Log in as the root user with the default password password.

    Note

    Setting the PasswordAuthentication option to yes in sshd_config in the auth: section of your Automotive Image Builder manifest enables ssh access. With ssh enabled, you can access the VM by running ssh -p 2222 -o "UserKnownHostsFile=/dev/null" guest@localhost.

Building customized AutoSD images in a QEMU VM

Whether you download a sample image or build your own, a pre-configured AutoSD platform is the ideal VM environment for creating customized AutoSD images. The AutoSD image disk size is small, however, so you must enlarge the disk size before using the VM to build customized images. After you resize the disk, launch a VM, install the required build tools, and build a customized AutoSD image.

Prerequisites

Procedure

  1. Resize the virtual disk of your .qcow2 image so you have enough space to build and develop custom AutoSD images:

    $ sudo qemu-img resize <image>.qcow2 30G
    
  2. Start a VM:

    $ air --nographics <path>/<image>.qcow2
    
  3. Log in with the guest user and the default password password.

    Note

    Setting the PasswordAuthentication option to yes in sshd_config in the auth: section of your Automotive Image Builder manifest enables ssh access. With ssh enabled, you can access the VM by running ssh -p 2222 -o "UserKnownHostsFile=/dev/null" guest@localhost.

  4. Change to the root user. The root user password is also password:

    $ su -
    
  5. Install the tools needed to resize the disk image:

    # dnf -y install parted e2fsprogs
    
  6. Run parted to extend the size of /dev/vda:

    # parted /dev/vda
    
  7. Resize the /dev/vda3 partition to fill the space available to that partition:

    (parted) resizepart 3 100%
    
  8. Exit the parted tool:

    (parted) quit
    
  9. Enlarge the file system:

    # resize2fs /dev/vda3
    
  10. Install copr:

    # dnf install 'dnf-command(copr)'
    
  11. Install automotive-image-builder in the VM.

    1. Enable the automotive-image-builder and osbuild-auto copr repository:

      # dnf copr enable @centos-automotive-sig/automotive-image-builder
      # dnf copr enable @centos-automotive-sig/osbuild-auto
      
    2. Install the automotive-image-builder and osbuild-auto packages:

      # dnf install automotive-image-builder osbuild-auto
      
  12. From the VM, create a custom Automotive Image Builder manifest file and configure it according to your requirements:

    # vim my-manifest.aib.yml
    

    Note

    The Automotive SIG provides several sample manifest files in sample-images/images/ you can reference. For more information about available sample images, see AutoSD sample images. To view an example customized manifest, see Sample Automotive Image Builder manifest. For more details about how to build and customize images, see Building an image from a custom manifest and Embedding RPM packages from local storage into the AutoSD image.

  13. Build a disk image from your custom my-manifest.aib.yml:

    $ aib-dev build \
        --target qemu \
        my-manifest.aib.yml \
        my-image.qcow2
    

    Note

    For more information about the build options that automotive-image-builder supports, see Automotive Image Builder tool.

    For more information about image naming conventions, see AutoSD sample images.

  14. Exit the VM and export the image file to the host:

    $ scp -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -P 2222 root@localhost:/root/my-image.qcow2 .
    
  15. From the host, launch a VM using your new image:

    $ air --nographics my-image.qcow2
    
  16. Log in to the VM as the root user with the default password password.

Additional resources


© Red Hat