build_image: Add support for building mips
Provide mips arch definitions wherever needed. For now,
all arch specific cases are handled the same as arm.
BUG=chromium:365867
TEST=build_image --board=mipsel-o32-generic base
CQ-DEPEND=CL:201010
Change-Id: I462ef38c05c9d6f440e8ec1331c995f69f781fe8
Reviewed-on: https://chromium-review.googlesource.com/199995
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Tested-by: Gaurav Shah <gauravsh@chromium.org>
Commit-Queue: Gaurav Shah <gauravsh@chromium.org>
diff --git a/build_kernel_image.sh b/build_kernel_image.sh
index 6178ed9..179a9b5 100755
--- a/build_kernel_image.sh
+++ b/build_kernel_image.sh
@@ -295,7 +295,7 @@
bootloader_path="/lib64/bootstub/bootstub.efi"
kernel_image="${FLAGS_vmlinuz}"
-elif [[ "${FLAGS_arch}" = "arm" ]]; then
+elif [[ "${FLAGS_arch}" = "arm" || "${FLAGS_arch}" = "mips" ]]; then
WORK="${WORK} ${FLAGS_working_dir}/config.txt"
# arm does not need/have a bootloader in kernel partition
diff --git a/build_library/board_options.sh b/build_library/board_options.sh
index 6281018..af3c125 100644
--- a/build_library/board_options.sh
+++ b/build_library/board_options.sh
@@ -26,6 +26,9 @@
*x86_64)
ARCH="amd64"
;;
+ mips*)
+ ARCH="mips"
+ ;;
*)
error "Unable to determine ARCH from toolchain: ${CHOST}"
exit 1
diff --git a/build_library/build_image_util.sh b/build_library/build_image_util.sh
index a91015e..8f42bf1 100755
--- a/build_library/build_image_util.sh
+++ b/build_library/build_image_util.sh
@@ -239,6 +239,8 @@
case ${ARCH} in
arm)
sudo qemu-arm "${root_fs_dir}"/sbin/ldconfig -r "${root_fs_dir}";;
+ mips)
+ sudo qemu-mipsel "${root_fs_dir}"/sbin/ldconfig -r "${root_fs_dir}";;
x86|amd64)
sudo ldconfig -r "${root_fs_dir}";;
*)
diff --git a/build_library/disk_layout_util.sh b/build_library/disk_layout_util.sh
index b8c4552..d2c5771 100644
--- a/build_library/disk_layout_util.sh
+++ b/build_library/disk_layout_util.sh
@@ -53,15 +53,11 @@
local pmbr_img
case ${ARCH} in
- arm)
- pmbr_img=/dev/zero
- ;;
amd64|x86)
pmbr_img=$(readlink -f /usr/share/syslinux/gptmbr.bin)
;;
*)
- error "Unknown architecture: $ARCH"
- return 1
+ pmbr_img=/dev/zero
;;
esac