1#!/bin/bash
2#* Copyright (c) 2020-2022 Intel Corporation SPDX-License-Identifier: BSD-3-Clause
3# postinst script for acrn-board-inspector
4
5pip3 install xmlschema
6
7set -e
8
9filename='/etc/default/grub'
10sed -i '/GRUB_DEFAULT/d' ${filename}
11sed -i '/GRUB_TIMEOUT/d' ${filename}
12sed -i '/GRUB_HIDDEN_TIMEOUT/d' ${filename}
13sed -i '/GRUB_CMDLINE_LINUX_DEFAULT/d' ${filename}
14
15#this is the kernel cmdline we are appending to the GRUB_CMDLINE_LINUX_DEFAULT
16add_cmdline="quiet splash iomem=relaxed intel_idle.max_cstate=0 intel_pstate=disable"
17
18origin_cmdline=`sed -n 's/GRUB_CMDLINE_LINUX_DEFAULT*=//'p ${filename} | xargs echo | sed -n 's/ /\n/g'p`
19add_cmdline=`echo ${add_cmdline} | sed -n 's/ /\n/g'p`
20
21#remove the duplicated args after appending, while keep the args in origin order
22cmdline=''
23for line in $add_cmdline
24do
25	duplicated_word=0
26	for line1 in ${origin_cmdline}
27	do
28		if [ ${line} = ${line1} ];then
29			duplicated_word=1
30		fi
31	done
32
33	if [ ${duplicated_word} = 0 ];then
34		cmdline+=${line}' '
35	fi
36done
37
38cmdline=${origin_cmdline}' '${cmdline}
39
40echo \''$a GRUB_CMDLINE_LINUX_DEFAULT="'${cmdline}'"'\' ${filename} | xargs sed -i
41
42sed -i '$a GRUB_TIMEOUT=20' ${filename}
43
44sync
45update-grub
46
47exit 0
48