123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 |
- /*++
- Copyright (c) 2013 Minoca Corp. All Rights Reserved
- Module Name:
- Images
- Abstract:
- This module builds the final OS images.
- Author:
- Evan Green 26-Oct-2015
- Environment:
- Build
- --*/
- function build_image(name, msetup_flags) {
- install_deps = [
- "//apps:all_apps",
- "//apps/posix:skel",
- "//kernel:kernel",
- "//kernel:devmap.set",
- "//kernel:dev2drv.set",
- "//kernel:init.set",
- "//kernel:init.sh",
- "//boot:boot_apps",
- "//debug:debug",
- "//drivers:drivers",
- "//uefi:platfw",
- "//tzcomp:tz_files",
- "//apps/setup:build_msetup"
- ];
- entry = {
- "type": "target",
- "tool": "msetup_image",
- "label": name,
- "output": binroot + "/" + name,
- "implicit": install_deps,
- "config": {"MSETUP_FLAGS": msetup_flags}
- };
- if (name != "install.img") {
- entry["inputs"] = [":install.img"];
- }
- return [entry];
- }
- function build() {
- image_size = "-G512M";
- tiny_image_size = "-G30M";
- common_image_flags = [
- "-q"
- ];
- if (debug == "dbg") {
- common_image_flags += ["-D"];
- }
- install_flags = common_image_flags + [
- "-linstall-" + arch,
- "-i$" + outroot,
- image_size,
- ];
- common_image_flags += [
- "-i$" + binroot + "/install.img"
- ];
- entries = build_image("install.img", install_flags);
- if (arch == "x86") {
- if (variant == "q") {
- flags = common_image_flags + [
- "-lgalileo",
- image_size
- ];
- entries += build_image("galileo.img", flags);
- } else {
- flags = common_image_flags + [
- "-lpc",
- image_size
- ];
- entries += build_image("pc.img", flags);
- flags = common_image_flags + [
- "-lpcefi",
- image_size
- ];
- entries += build_image("pcefi.img", flags);
- flags = common_image_flags + [
- "-lpc-tiny",
- tiny_image_size
- ];
- entries += build_image("pctiny.img", flags);
- }
- } else if (arch == "armv7") {
- flags = common_image_flags + [image_size];
- entries += build_image("bbone.img", flags + ["-lbeagleboneblack"]);
- entries += build_image("panda.img", flags + ["-lpanda"]);
- entries += build_image("rpi2.img", flags + ["-lraspberrypi2"]);
- entries += build_image("veyron.img", flags + ["-lveyron"]);
- ramdisk_images = [
- "//uefi/plat/integcp:integ.img",
- "//uefi/plat/panda:pandausb.img"
- ];
- entries += group("ramdisk_images", ramdisk_images);
- } else if (arch == "armv6") {
- flags = common_image_flags + [
- image_size,
- "-lraspberrypi"
- ];
- entries += build_image("rpi.img", flags + ["-lraspberrypi"]);
- }
- return entries;
- }
- return build();
|