mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-07-05 11:36:50 +00:00
DM: VMcfg: mrb-env-setup.sh
Script that setup envriment on MRB platform, for UOS with build-in configuration For example, you need to run mrb-env-setup.sh once, to prepare images, networks and pci-stubs, etc,. Tracked-On: #1528 Acked-by: Yin Fengwei <fengwei.yin@intel.com> Signed-off-by: Tao Yuhong <yuhong.tao@intel.com>
This commit is contained in:
parent
d2ed9955fd
commit
321021ebaf
@ -202,7 +202,7 @@ $(DM_OBJDIR)/%.o: %.c $(HEADERS)
|
||||
[ ! -e $@ ] && mkdir -p $(dir $@); \
|
||||
$(CC) $(CFLAGS) -c $< -o $@
|
||||
|
||||
install: $(DM_OBJDIR)/$(PROGRAM) install-samples-nuc install-samples-mrb install-bios
|
||||
install: $(DM_OBJDIR)/$(PROGRAM) install-samples-nuc install-samples-mrb install-bios install-vmcfg
|
||||
install -D --mode=0755 $(DM_OBJDIR)/$(PROGRAM) $(DESTDIR)/usr/bin/$(PROGRAM)
|
||||
|
||||
install-samples-nuc: $(SAMPLES_NUC)
|
||||
@ -216,3 +216,6 @@ install-samples-mrb: $(SAMPLES_MRB)
|
||||
install-bios: $(BIOS_BIN)
|
||||
install -d $(DESTDIR)/usr/share/acrn/bios
|
||||
install -D --mode=0664 -t $(DESTDIR)/usr/share/acrn/bios $^
|
||||
|
||||
install-vmcfg:
|
||||
make -C $(BASEDIR)/vmcfg install DESTDIR=$(DESTDIR) BASEDIR=$(BASEDIR)
|
||||
|
@ -1,3 +1,9 @@
|
||||
BASEDIR ?= ..
|
||||
|
||||
include $(BASEDIR)/vmcfg/scripts/kconfig/kconfig.mk
|
||||
|
||||
all:
|
||||
|
||||
install:
|
||||
install -d $(DESTDIR)/usr/share/acrn/samples/apl-mrb
|
||||
install -t $(DESTDIR)/usr/share/acrn/samples/apl-mrb $(BASEDIR)/vmcfg/apl-mrb/mrb-env-setup.sh
|
||||
|
45
devicemodel/vmcfg/apl-mrb/mrb-env-setup.sh
Executable file
45
devicemodel/vmcfg/apl-mrb/mrb-env-setup.sh
Executable file
@ -0,0 +1,45 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ ! -b "/dev/mmcblk1p3" ]; then
|
||||
echo "no /dev/mmcblk1p3 data partition, exit"
|
||||
exit
|
||||
fi
|
||||
|
||||
mkdir -p /data
|
||||
mount /dev/mmcblk1p3 /data
|
||||
|
||||
if [ ! -f "/data/android/android.img" ]; then
|
||||
echo "no /data/android/android.img, exit"
|
||||
exit
|
||||
fi
|
||||
|
||||
# create a unique tap device for each VM
|
||||
tap=tap_AaaG
|
||||
tap_exist=$(ip a | grep acrn_"$tap" | awk '{print $1}')
|
||||
if [ "$tap_exist"x != "x" ]; then
|
||||
echo "tap device existed, reuse acrn_$tap"
|
||||
else
|
||||
ip tuntap add dev acrn_$tap mode tap
|
||||
fi
|
||||
|
||||
# if acrn-br0 exists, add VM's unique tap device under it
|
||||
br_exist=$(ip a | grep acrn-br0 | awk '{print $1}')
|
||||
if [ "$br_exist"x != "x" -a "$tap_exist"x = "x" ]; then
|
||||
echo "acrn-br0 bridge aleady exists, adding new tap device to it..."
|
||||
ip link set acrn_"$tap" master acrn-br0
|
||||
ip link set dev acrn_"$tap" down
|
||||
ip link set dev acrn_"$tap" up
|
||||
fi
|
||||
|
||||
modprobe pci_stub
|
||||
|
||||
# offline SOS CPUs except BSP before launch UOS
|
||||
for i in `ls -d /sys/devices/system/cpu/cpu[1-99]`; do
|
||||
online=`cat $i/online`
|
||||
idx=`echo $i | tr -cd "[1-99]"`
|
||||
echo cpu$idx online=$online
|
||||
if [ "$online" = "1" ]; then
|
||||
echo 0 > $i/online
|
||||
echo $idx > /sys/class/vhm/acrn_vhm/offline_cpu
|
||||
fi
|
||||
done
|
Loading…
Reference in New Issue
Block a user