diff --git a/misc/sample_application/image_builder/create_image.sh b/misc/sample_application/image_builder/create_image.sh index d72cec643..e4d1bdc5d 100755 --- a/misc/sample_application/image_builder/create_image.sh +++ b/misc/sample_application/image_builder/create_image.sh @@ -110,7 +110,6 @@ function dump_proxy() { sudo mv ${temp_file} proxy.conf echo "$(env | grep -Ei _proxy | sed -e 's/^/export /')" > bashrc - } function resizing_guest_root() { @@ -204,9 +203,11 @@ function cleanup() { sudo umount ${mount_point} sudo rmdir ${mount_point} - echo ${mount_point} sudo kpartx -vd /dev/${loop_dev} sudo losetup -vd /dev/${loop_dev} + if [[ ${has_error} != 0 ]]; then + sudo rm ${target_image} + fi true } @@ -250,3 +251,4 @@ fi do_step "Cleaning up" cleanup ${mount_point} ${loop_dev} print_info "VM image created at ${target_image}." + diff --git a/misc/sample_application/image_builder/setup_hmi_vm.sh b/misc/sample_application/image_builder/setup_hmi_vm.sh index d5aab1196..4d78fd091 100644 --- a/misc/sample_application/image_builder/setup_hmi_vm.sh +++ b/misc/sample_application/image_builder/setup_hmi_vm.sh @@ -15,24 +15,40 @@ function update_package_info() { apt update -y && apt install python3 python3-pip \ net-tools python3-matplotlib \ linux-modules-extra-$(uname -r) \ - openssh-server -y + openssh-server \ + isc-dhcp-server -y pip3 install flask 'numpy==1.18.5' pandas posix_ipc } function install_desktop() { - apt install ubuntu-gnome-desktop + apt install ubuntu-gnome-desktop -y } function change_root_password() { passwd root } +function enable_root_login() { + sed -i -e '3 s/^/#/' /etc/pam.d/gdm-password + sed -i 's/\[daemon\]/& \n AllowRoot=true /' /etc/gdm3/custom.conf +} + function add_normal_user() { useradd -s /bin/bash -d /home/acrn/ -m -G sudo acrn && \ passwd acrn } +function enable_services() { + services=(ssh.service isc-dhcp-server) + sudo ssh-keygen -A + for service in ${services[*]} + do + systemctl enable ${service} + systemctl unmask ${service} + done +} + # Change current working directory to the root to avoid "target is busy" errors # on unmounting. cd / @@ -42,4 +58,5 @@ try_step "Unmounting /home" umount_directory /home try_step "Updating package information" update_package_info try_step "Installing GNOME desktop" install_desktop try_step "Changing the password of the root user" change_root_password +try_step "Enable root user login" enable_root_login try_step "Adding the normal user acrn" add_normal_user diff --git a/misc/sample_application/image_builder/setup_rt_vm.sh b/misc/sample_application/image_builder/setup_rt_vm.sh index fdfeb2ab7..6d86ffa75 100644 --- a/misc/sample_application/image_builder/setup_rt_vm.sh +++ b/misc/sample_application/image_builder/setup_rt_vm.sh @@ -17,11 +17,11 @@ function disable_os_prober() { } function update_package_info() { - apt update + apt update -y } function install_tools() { - apt install rt-tests + apt install rt-tests -y } function update_kernel_cmdline() { @@ -35,7 +35,7 @@ function install_rt_kernel() { search_dir=$1 for file in $(ls -r ${search_dir}/*acrn-kernel-*.deb) do - sudo apt install ${file} + sudo apt install ${file} -y done } @@ -45,15 +45,12 @@ function change_root_password() { function disable_services() { services=(systemd-timesyncd.service \ - systemd-journald.service \ systemd-journal-flush.service \ - serial-getty@ttyS2.service \ apt-daily.service \ apt-daily-upgrade.service \ snapd.autoimport.service \ - snapd.seeded.service \ - snapd.service \ - snapd.socket) + snapd.seeded.service) + for service in ${services[*]} do systemctl disable ${service} @@ -64,7 +61,7 @@ function disable_services() { systemctl disable ${timer} done - apt-get remove unattended-upgrades + apt-get remove unattended-upgrades -y } # Change current working directory to the root to avoid "target is busy" errors