return $?
fi
- ./make_rootstrap.sh -C rs-config ./rs_resource --clean --emulator
+ ./make_rootstrap.sh -C rs-config ./rs_resource --clean --emulator -A i686
RET=$?
if [[ ${RET} -ne 0 ]]; then
echo "Failed to create rootstrap."
return $?
fi
- ./make_rootstrap_64.sh -C rs-config ./rs_resource --clean --emulator
+ ./make_rootstrap_64.sh -C rs-config ./rs_resource --clean --emulator -A x86_64
RET=$?
if [[ ${RET} -ne 0 ]]; then
echo "Failed to create rootstrap."
return $?
fi
- ./make_rootstrap.sh -C rs-config ./rs_resource --clean --target
+ ./make_rootstrap.sh -C rs-config ./rs_resource --clean --target -A arm
RET=$?
if [[ ${RET} -ne 0 ]]; then
echo "Failed to create rootstrap."
return $?
fi
- ./make_rootstrap_64.sh -C rs-config ./rs_resource --clean --target
+ ./make_rootstrap_64.sh -C rs-config ./rs_resource --clean --target -A aarch64
+ RET=$?
+ if [[ ${RET} -ne 0 ]]; then
+ echo "Failed to create rootstrap."
+ fi
+
+ return ${RET}
+}
+
+function generate_rootstrap_riscv64 {
+ ./script/convert64.sh
+ if [[ $? -ne 0 ]]; then
+ echo "Failed to convert .xml files into 64-bit"
+ return $?
+ fi
+
+ ./make_rootstrap_64.sh -C rs-config ./rs_resource --clean --target -A riscv64
RET=$?
if [[ ${RET} -ne 0 ]]; then
echo "Failed to create rootstrap."
generate_rootstrap_x86_64
return $?
;;
+ "riscv64")
+ generate_rootstrap_riscv64
+ return $?
+ ;;
*)
echo "Architecture not supported: ${arch}"
exit 1
if [[ -z ${3} ]]
then
- FULL_RS_CMD="${CMD_RS_GEN} -t ${1} -u ${2} -q ${BUILD_REQUIRED_INSTALLED_PATH} -r ${GBS_BUILDROOT} ${xmlList}"
+ FULL_RS_CMD="${CMD_RS_GEN} -t ${1} -u ${2} -q ${BUILD_REQUIRED_INSTALLED_PATH} -r ${GBS_BUILDROOT} -A ${OPT_ARCH} ${xmlList}"
else
- FULL_RS_CMD="${CMD_RS_GEN} -t ${1} -u ${2} -b ${3} -q ${BUILD_REQUIRED_INSTALLED_PATH} -r ${GBS_BUILDROOT} ${xmlList}"
+ FULL_RS_CMD="${CMD_RS_GEN} -t ${1} -u ${2} -b ${3} -q ${BUILD_REQUIRED_INSTALLED_PATH} -r ${GBS_BUILDROOT} -A ${OPT_ARCH} ${xmlList}"
fi
FULL_RS_INFO_CMD="${CMD_RS_INFO} -t $1 -l ${xmlList} -p $PLATFORM_PROFILE -v $PLATFORM_VERSION"
OPT_DOWNLOAD_RPM=false
OPT_CLEAN=true
OPT_CONF=""
+OPT_ARCH=""
INTERNAL=false
###############################################################################
echo " -e, --emulator : Make Rootstrap for Emulator"
echo " -t, --target : Make Rootstrap for Target"
echo " -c, --clean : Delete .rpm cache folder"
+ echo " -A, --arch : Architecture for building"
echo " -h, --help"
echo " -v, --version : Display script version information"
echo ""
###############################################################################
## Get Parameter
###############################################################################
-OPTS=`getopt -o -C:tedchv --long target,emulator,downloadrpm,clean,help,version,internal -- "$@"`
+OPTS=`getopt -o -A:C:tedchv --long target,emulator,downloadrpm,clean,help,version,internal -- "$@"`
if [ $? != 0 ] ; then echo "Failed parsing options." >&2 ; exit 1 ; fi
echo ""
while true; do
case "$1" in
+ -A )OPT_ARCH=$2;shift;shift;;
-C | --conf )OPT_CONF=$2;shift;shift;;
-t | --target )OPT_TARGET=true;shift;;
-e | --emulator )OPT_EMULATOR=true;shift;;
exit 1
fi
+if [[ -z ${OPT_ARCH} ]]; then
+ log "[Error] No architecture specified"
+ exit 1
+fi
+
if [[ -e ${OPT_CONF} ]]; then
log "source ${OPT_CONF}"
source "${OPT_CONF}"
if [[ -z ${3} ]]
then
- FULL_RS_CMD="${CMD_RS_GEN} -t ${1} -u ${2} -q ${BUILD_REQUIRED_INSTALLED_PATH} -r ${GBS_BUILDROOT} ${xmlList}"
+ FULL_RS_CMD="${CMD_RS_GEN} -t ${1} -u ${2} -q ${BUILD_REQUIRED_INSTALLED_PATH} -r ${GBS_BUILDROOT} -A ${OPT_ARCH} ${xmlList}"
else
- FULL_RS_CMD="${CMD_RS_GEN} -t ${1} -u ${2} -b ${3} -q ${BUILD_REQUIRED_INSTALLED_PATH} -r ${GBS_BUILDROOT} ${xmlList}"
+ FULL_RS_CMD="${CMD_RS_GEN} -t ${1} -u ${2} -b ${3} -q ${BUILD_REQUIRED_INSTALLED_PATH} -r ${GBS_BUILDROOT} -A ${OPT_ARCH} ${xmlList}"
fi
FULL_RS_INFO_CMD="${CMD_RS_INFO} -t $1 -l ${xmlList} -p $PLATFORM_PROFILE -v $PLATFORM_VERSION"
OPT_DOWNLOAD_RPM=false
OPT_CLEAN=true
OPT_CONF=""
+OPT_ARCH=""
INTERNAL=false
###############################################################################
echo " -e, --emulator : Make Rootstrap for Emulator"
echo " -t, --target : Make Rootstrap for Target"
echo " -c, --clean : Delete .rpm cache folder"
+ echo " -A, --arch : Architecture for building"
echo " -h, --help"
echo " -v, --version : Display script version information"
echo ""
###############################################################################
## Get Parameter
###############################################################################
-OPTS=`getopt -o -C:tedchv --long target,emulator,downloadrpm,clean,help,version,internal -- "$@"`
+OPTS=`getopt -o -A:C:tedchv --long target,emulator,downloadrpm,clean,help,version,internal -- "$@"`
if [ $? != 0 ] ; then echo "Failed parsing options." >&2 ; exit 1 ; fi
echo ""
while true; do
case "$1" in
+ -A )OPT_ARCH=$2;shift;shift;;
-C | --conf )OPT_CONF=$2;shift;shift;;
-t | --target )OPT_TARGET=true;shift;;
-e | --emulator )OPT_EMULATOR=true;shift;;
exit 1
fi
+if [[ -z ${OPT_ARCH} ]]; then
+ log "[Error] No architecture specified"
+ exit 1
+fi
+
if [[ -e ${OPT_CONF} ]]; then
log "source ${OPT_CONF}"
source "${OPT_CONF}"
<file>/usr/lib/Mcrt1.o</file>
<file>/usr/lib/Scrt1.o</file>
<file>/usr/include/gnu/*.h</file>
- <file>/usr/include/sys/debugreg.h</file>
- <file>/usr/include/sys/io.h</file>
- <file>/usr/include/sys/perm.h</file>
- <file>/usr/include/sys/reg.h</file>
- <file>/usr/include/sys/vm86.h</file>
- <file_32>/lib/ld-linux.so.*</file_32>
+ <file_arm>/lib/ld-linux.so.*</file_arm>
- <file_64>/lib64/ld-linux-*</file_64>
- <file_64>/lib/ld-linux-*</file_64>
- <file_64>/usr/include/sys/ifunc.h$</file_64>
+ <file_i686>/lib/ld-linux.so.*</file_i686>
+ <file_i686>/usr/include/sys/debugreg.h</file_i686>
+ <file_i686>/usr/include/sys/io.h</file_i686>
+ <file_i686>/usr/include/sys/perm.h</file_i686>
+ <file_i686>/usr/include/sys/reg.h</file_i686>
+ <file_i686>/usr/include/sys/vm86.h</file_i686>
+
+ <file_aarch64>/lib64/ld-linux-*</file_aarch64>
+ <file_aarch64>/lib/ld-linux-*</file_aarch64>
+ <file_aarch64>/usr/include/sys/ifunc.h</file_aarch64>
+
+ <file_x86_64>/lib64/ld-linux-*</file_x86_64>
+ <file_x86_64>/usr/include/sys/debugreg.h</file_x86_64>
+ <file_x86_64>/usr/include/sys/io.h</file_x86_64>
+ <file_x86_64>/usr/include/sys/perm.h</file_x86_64>
+ <file_x86_64>/usr/include/sys/reg.h</file_x86_64>
+ <file_x86_64>/usr/include/sys/vm86.h</file_x86_64>
</necessary>
<unnecessary>
<file>/usr/lib/libgthread-2.0.so.0</file>
<file>/usr/lib/libgthread-2.0.so.0.7800.4</file>
- <file_32>/usr/share/gdb/auto-load/usr/lib/libglib-2.0.so.0.7800.4-gdb.py</file_32>
- <file_32>/usr/share/gdb/auto-load/usr/lib/libgobject-2.0.so.0.7800.4-gdb.py</file_32>
+ <file_arm>/usr/share/gdb/auto-load/usr/lib/libglib-2.0.so.0.7800.4-gdb.py</file_arm>
+ <file_arm>/usr/share/gdb/auto-load/usr/lib/libgobject-2.0.so.0.7800.4-gdb.py</file_arm>
- <file_64>/usr/share/gdb/auto-load/usr/lib64/libglib-2.0.so.0.7800.4-gdb.py</file_64>
- <file_64>/usr/share/gdb/auto-load/usr/lib64/libgobject-2.0.so.0.7800.4-gdb.py</file_64>
+ <file_i686>/usr/share/gdb/auto-load/usr/lib/libglib-2.0.so.0.7800.4-gdb.py</file_i686>
+ <file_i686>/usr/share/gdb/auto-load/usr/lib/libgobject-2.0.so.0.7800.4-gdb.py</file_i686>
+
+ <file_aarch64>/usr/share/gdb/auto-load/usr/lib64/libglib-2.0.so.0.7800.4-gdb.py</file_aarch64>
+ <file_aarch64>/usr/share/gdb/auto-load/usr/lib64/libgobject-2.0.so.0.7800.4-gdb.py</file_aarch64>
+
+ <file_x86_64>/usr/share/gdb/auto-load/usr/lib64/libglib-2.0.so.0.7800.4-gdb.py</file_x86_64>
+ <file_x86_64>/usr/share/gdb/auto-load/usr/lib64/libgobject-2.0.so.0.7800.4-gdb.py</file_x86_64>
</necessary>
<include_path>/usr/include/gio-unix-2.0</include_path>
<file>/usr/include/libdrm/sis_drm.h</file>
<file>/usr/include/libdrm/tegra_drm.h</file>
<file>/usr/include/libdrm/vc4_drm.h</file>
- <file>/usr/include/libdrm/vc4_packet.h</file>
- <file>/usr/include/libdrm/vc4_qpu_defines.h</file>
<file>/usr/include/libdrm/via_drm.h</file>
<file>/usr/include/libdrm/vigs.h</file>
<file>/usr/include/libdrm/virtgpu_drm.h</file>
<file>/usr/lib/libdrm_vigs.so</file>
<file>/usr/lib/libdrm_vigs.so.10</file>
<file>/usr/lib/libdrm_vigs.so.10.0.0</file>
+
+ <file_armv7l>/usr/include/libdrm/vc4_packet.h</file_armv7l>
+ <file_armv7l>/usr/include/libdrm/vc4_qpu_defines.h</file_armv7l>
+
+ <file_aarch64>/usr/include/libdrm/vc4_packet.h</file_aarch64>
+ <file_aarch64>/usr/include/libdrm/vc4_qpu_defines.h</file_aarch64>
+
+ <file_i686>/usr/include/libdrm/intel_aub.h</file_i686>
+ <file_i686>/usr/include/libdrm/intel_bufmgr.h</file_i686>
+ <file_i686>/usr/include/libdrm/intel_debug.h</file_i686>
+ <file_i686>/usr/lib/libdrm_intel.so</file_i686>
+
+ <file_x86_64>/usr/include/libdrm/intel_aub.h</file_x86_64>
+ <file_x86_64>/usr/include/libdrm/intel_bufmgr.h</file_x86_64>
+ <file_x86_64>/usr/include/libdrm/intel_debug.h</file_x86_64>
+ <file_x86_64>/usr/lib64/libdrm_intel.so</file_x86_64>
</necessary>
</rootstrap>
local src_dir=$1
local dest_dir=$2
local xml_file=$3
+ local build_arch=$4
+ local file_tag="file_${build_arch}"
local copy_error=0
local dest_path=""
local -a files
else
log "+ copy necessary files .."
necessary_files=($(xmlstarlet sel -t -m "//necessary/file" -o "." -v "text()" -o " " -n ${xml_file}))
- necessary_files+=($(xmlstarlet sel -t -m "//necessary/file_32" -o "." -v "text()" -o " " -n ${xml_file}))
+ necessary_files+=($(xmlstarlet sel -t -m "//necessary/${file_tag}" -o "." -v "text()" -o " " -n ${xml_file}))
for i in ${necessary_files[@]}; do
cd ${src_dir}
log "+ copy file from [${i}]"
#script start
check_prerequisite
-OPTS=`getopt -o -t:u:b:l:i:p:whq:r: --long type:,url:,base:,list:,id:,pw:,withlogin,help,internal,log: -n 'rootstrap_gen_1.0' -- "$@"`
+OPTS=`getopt -o -A:t:u:b:l:i:p:whq:r: --long type:,url:,base:,list:,id:,pw:,withlogin,help,internal,log: -n 'rootstrap_gen_1.0' -- "$@"`
if [ $? != 0 ] ; then log "Failed parsing options." >&2 ; exit 1 ; fi
log ""
BASE_PKG_URL=""
XML_INPUT_LIST=""
INTERNAL=false
+BUILD_ARCH=""
while true; do
case "$1" in
-q ) BUILD_REQUIRED_INSTALLED_PATH="$2"; shift;shift ;;
-r ) GBS_BUILDROOT="$2"; shift;shift ;;
+ -A ) BUILD_ARCH="$2"; shift;shift ;;
-t | --type ) ROOTSTRAP_TYPE="$2"; shift;shift ;;
-u | --url ) RPM_PKG_URL="$2"; shift;shift ;;
-b | --base ) BASE_PKG_URL="$2"; shift;shift ;;
fi
#copy only header & so to dest
- copy_header_and_so ${BUILD_REQUIRED_INSTALLED_PATH} ${GBS_BUILDROOT} ${item}
+ copy_header_and_so ${BUILD_REQUIRED_INSTALLED_PATH} ${GBS_BUILDROOT} ${item} ${BUILD_ARCH}
if [[ $? -ne 0 ]]; then
echo "Failed to copy_header_and_so for ${item}, skip."
continue
local src_dir=$1
local dest_dir=$2
local xml_file=$3
+ local build_arch=$4
+ local file_tag="file_${build_arch}"
local copy_error=0
local dest_path=""
local -a files
else
log "+ copy necessary files .."
necessary_files=($(xmlstarlet sel -t -m "//necessary/file" -o "." -v "text()" -o " " -n ${xml_file}))
- necessary_files+=($(xmlstarlet sel -t -m "//necessary/file_64" -o "." -v "text()" -o " " -n ${xml_file}))
+ necessary_files+=($(xmlstarlet sel -t -m "//necessary/${file_tag}" -o "." -v "text()" -o " " -n ${xml_file}))
for i in ${necessary_files[@]}; do
cd ${src_dir}
log "+ copy file from [${i}]"
#script start
check_prerequisite
-OPTS=`getopt -o -t:u:b:l:i:p:whq:r: --long type:,url:,base:,list:,id:,pw:,withlogin,help,internal,log: -n 'rootstrap_gen_1.0_64' -- "$@"`
+OPTS=`getopt -o -A:t:u:b:l:i:p:whq:r: --long type:,url:,base:,list:,id:,pw:,withlogin,help,internal,log: -n 'rootstrap_gen_1.0_64' -- "$@"`
if [ $? != 0 ] ; then log "Failed parsing options." >&2 ; exit 1 ; fi
log ""
BASE_PKG_URL=""
XML_INPUT_LIST=""
INTERNAL=false
+BUILD_ARCH=""
while true; do
case "$1" in
-q ) BUILD_REQUIRED_INSTALLED_PATH="$2"; shift;shift ;;
-r ) GBS_BUILDROOT="$2"; shift;shift ;;
+ -A ) BUILD_ARCH="$2"; shift;shift ;;
-t | --type ) ROOTSTRAP_TYPE="$2"; shift;shift ;;
-u | --url ) RPM_PKG_URL="$2"; shift;shift ;;
-b | --base ) BASE_PKG_URL="$2"; shift;shift ;;
fi
#copy only header & so to dest
- copy_header_and_so ${BUILD_REQUIRED_INSTALLED_PATH} ${GBS_BUILDROOT} ${item}
+ copy_header_and_so ${BUILD_REQUIRED_INSTALLED_PATH} ${GBS_BUILDROOT} ${item} ${BUILD_ARCH}
if [[ $? -ne 0 ]]; then
echo "Failed to copy_header_and_so for ${item}, skip."
continue