Merge Offical Source
This commit is contained in:
commit
97be079408
9
Makefile
9
Makefile
@ -88,6 +88,14 @@ prereq: $(target/stamp-prereq) tmp/.prereq_packages
|
|||||||
exit 1; \
|
exit 1; \
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
$(BIN_DIR)/profiles.json: FORCE
|
||||||
|
$(if $(CONFIG_JSON_OVERVIEW_IMAGE_INFO), \
|
||||||
|
WORK_DIR=$(BUILD_DIR)/json_info_files \
|
||||||
|
$(SCRIPT_DIR)/json_overview_image_info.py $@ \
|
||||||
|
)
|
||||||
|
|
||||||
|
json_overview_image_info: $(BIN_DIR)/profiles.json
|
||||||
|
|
||||||
checksum: FORCE
|
checksum: FORCE
|
||||||
$(call sha256sums,$(BIN_DIR),$(CONFIG_BUILDBOT))
|
$(call sha256sums,$(BIN_DIR),$(CONFIG_BUILDBOT))
|
||||||
|
|
||||||
@ -109,6 +117,7 @@ prepare: .config $(tools/stamp-compile) $(toolchain/stamp-compile)
|
|||||||
|
|
||||||
world: prepare $(target/stamp-compile) $(package/stamp-compile) $(package/stamp-install) $(target/stamp-install) FORCE
|
world: prepare $(target/stamp-compile) $(package/stamp-compile) $(package/stamp-install) $(target/stamp-install) FORCE
|
||||||
$(_SINGLE)$(SUBMAKE) -r package/index
|
$(_SINGLE)$(SUBMAKE) -r package/index
|
||||||
|
$(_SINGLE)$(SUBMAKE) -r json_overview_image_info
|
||||||
$(_SINGLE)$(SUBMAKE) -r checksum
|
$(_SINGLE)$(SUBMAKE) -r checksum
|
||||||
|
|
||||||
.PHONY: clean dirclean prereq prepare world package/symlinks package/symlinks-install package/symlinks-clean
|
.PHONY: clean dirclean prereq prepare world package/symlinks package/symlinks-install package/symlinks-clean
|
||||||
|
|||||||
@ -7,12 +7,13 @@
|
|||||||
|
|
||||||
menu "Global build settings"
|
menu "Global build settings"
|
||||||
|
|
||||||
config JSON_ADD_IMAGE_INFO
|
config JSON_OVERVIEW_IMAGE_INFO
|
||||||
bool "Create JSON info files per build image"
|
bool "Create JSON info file overview per target"
|
||||||
default BUILDBOT
|
default BUILDBOT
|
||||||
help
|
help
|
||||||
The JSON info files contain information about the device and
|
Create a JSON info file called profiles.json in the target
|
||||||
build images, stored next to the firmware images.
|
directory containing machine readable list of built profiles
|
||||||
|
and resulting images.
|
||||||
|
|
||||||
config ALL_NONSHARED
|
config ALL_NONSHARED
|
||||||
bool "Select all target specific packages by default"
|
bool "Select all target specific packages by default"
|
||||||
|
|||||||
@ -545,8 +545,11 @@ endef
|
|||||||
|
|
||||||
define Device/Build/image
|
define Device/Build/image
|
||||||
GZ_SUFFIX := $(if $(filter %dtb %gz,$(2)),,$(if $(and $(findstring ext4,$(1)),$(CONFIG_TARGET_IMAGES_GZIP)),.gz))
|
GZ_SUFFIX := $(if $(filter %dtb %gz,$(2)),,$(if $(and $(findstring ext4,$(1)),$(CONFIG_TARGET_IMAGES_GZIP)),.gz))
|
||||||
$$(_TARGET): $(BIN_DIR)/$(call IMAGE_NAME,$(1),$(2))$$(GZ_SUFFIX)
|
$$(_TARGET): $(if $(CONFIG_JSON_OVERVIEW_IMAGE_INFO), \
|
||||||
|
$(BUILD_DIR)/json_info_files/$(call IMAGE_NAME,$(1),$(2)).json, \
|
||||||
|
$(BIN_DIR)/$(call IMAGE_NAME,$(1),$(2))$$(GZ_SUFFIX))
|
||||||
$(eval $(call Device/Export,$(KDIR)/tmp/$(call IMAGE_NAME,$(1),$(2)),$(1)))
|
$(eval $(call Device/Export,$(KDIR)/tmp/$(call IMAGE_NAME,$(1),$(2)),$(1)))
|
||||||
|
|
||||||
ROOTFS/$(1)/$(3) := \
|
ROOTFS/$(1)/$(3) := \
|
||||||
$(KDIR)/root.$(1)$$(strip \
|
$(KDIR)/root.$(1)$$(strip \
|
||||||
$$(if $$(FS_OPTIONS/$(1)),+fs=$$(call param_mangle,$$(FS_OPTIONS/$(1)))) \
|
$$(if $$(FS_OPTIONS/$(1)),+fs=$$(call param_mangle,$$(FS_OPTIONS/$(1)))) \
|
||||||
@ -568,32 +571,33 @@ define Device/Build/image
|
|||||||
|
|
||||||
$(BIN_DIR)/$(call IMAGE_NAME,$(1),$(2)): $(KDIR)/tmp/$(call IMAGE_NAME,$(1),$(2))
|
$(BIN_DIR)/$(call IMAGE_NAME,$(1),$(2)): $(KDIR)/tmp/$(call IMAGE_NAME,$(1),$(2))
|
||||||
cp $$^ $$@
|
cp $$^ $$@
|
||||||
$(if $(CONFIG_JSON_ADD_IMAGE_INFO), \
|
|
||||||
DEVICE_ID="$(DEVICE_NAME)" \
|
$(BUILD_DIR)/json_info_files/$(call IMAGE_NAME,$(1),$(2)).json: $(BIN_DIR)/$(call IMAGE_NAME,$(1),$(2))$$(GZ_SUFFIX)
|
||||||
BIN_DIR="$(BIN_DIR)" \
|
@mkdir -p $$(shell dirname $$@)
|
||||||
IMAGE_NAME="$(IMAGE_NAME)" \
|
DEVICE_ID="$(DEVICE_NAME)" \
|
||||||
IMAGE_TYPE=$(word 1,$(subst ., ,$(2))) \
|
BIN_DIR="$(BIN_DIR)" \
|
||||||
IMAGE_PREFIX="$(IMAGE_PREFIX)" \
|
IMAGE_NAME="$(IMAGE_NAME)" \
|
||||||
DEVICE_VENDOR="$(DEVICE_VENDOR)" \
|
IMAGE_TYPE=$(word 1,$(subst ., ,$(2))) \
|
||||||
DEVICE_MODEL="$(DEVICE_MODEL)" \
|
IMAGE_PREFIX="$(IMAGE_PREFIX)" \
|
||||||
DEVICE_VARIANT="$(DEVICE_VARIANT)" \
|
DEVICE_VENDOR="$(DEVICE_VENDOR)" \
|
||||||
DEVICE_ALT0_VENDOR="$(DEVICE_ALT0_VENDOR)" \
|
DEVICE_MODEL="$(DEVICE_MODEL)" \
|
||||||
DEVICE_ALT0_MODEL="$(DEVICE_ALT0_MODEL)" \
|
DEVICE_VARIANT="$(DEVICE_VARIANT)" \
|
||||||
DEVICE_ALT0_VARIANT="$(DEVICE_ALT0_VARIANT)" \
|
DEVICE_ALT0_VENDOR="$(DEVICE_ALT0_VENDOR)" \
|
||||||
DEVICE_ALT1_VENDOR="$(DEVICE_ALT1_VENDOR)" \
|
DEVICE_ALT0_MODEL="$(DEVICE_ALT0_MODEL)" \
|
||||||
DEVICE_ALT1_MODEL="$(DEVICE_ALT1_MODEL)" \
|
DEVICE_ALT0_VARIANT="$(DEVICE_ALT0_VARIANT)" \
|
||||||
DEVICE_ALT1_VARIANT="$(DEVICE_ALT1_VARIANT)" \
|
DEVICE_ALT1_VENDOR="$(DEVICE_ALT1_VENDOR)" \
|
||||||
DEVICE_ALT2_VENDOR="$(DEVICE_ALT2_VENDOR)" \
|
DEVICE_ALT1_MODEL="$(DEVICE_ALT1_MODEL)" \
|
||||||
DEVICE_ALT2_MODEL="$(DEVICE_ALT2_MODEL)" \
|
DEVICE_ALT1_VARIANT="$(DEVICE_ALT1_VARIANT)" \
|
||||||
DEVICE_ALT2_VARIANT="$(DEVICE_ALT2_VARIANT)" \
|
DEVICE_ALT2_VENDOR="$(DEVICE_ALT2_VENDOR)" \
|
||||||
DEVICE_TITLE="$(DEVICE_TITLE)" \
|
DEVICE_ALT2_MODEL="$(DEVICE_ALT2_MODEL)" \
|
||||||
TARGET="$(BOARD)" \
|
DEVICE_ALT2_VARIANT="$(DEVICE_ALT2_VARIANT)" \
|
||||||
SUBTARGET="$(if $(SUBTARGET),$(SUBTARGET),generic)" \
|
DEVICE_TITLE="$(DEVICE_TITLE)" \
|
||||||
VERSION_NUMBER="$(VERSION_NUMBER)" \
|
TARGET="$(BOARD)" \
|
||||||
VERSION_CODE="$(VERSION_CODE)" \
|
SUBTARGET="$(if $(SUBTARGET),$(SUBTARGET),generic)" \
|
||||||
SUPPORTED_DEVICES="$(SUPPORTED_DEVICES)" \
|
VERSION_NUMBER="$(VERSION_NUMBER)" \
|
||||||
$(TOPDIR)/scripts/json_add_image_info.py \
|
VERSION_CODE="$(VERSION_CODE)" \
|
||||||
)
|
SUPPORTED_DEVICES="$(SUPPORTED_DEVICES)" \
|
||||||
|
$(TOPDIR)/scripts/json_add_image_info.py $$@
|
||||||
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
@ -612,8 +616,6 @@ define Device/Build/artifact
|
|||||||
endef
|
endef
|
||||||
|
|
||||||
define Device/Build
|
define Device/Build
|
||||||
$(shell rm -f $(BIN_DIR)/$(IMG_PREFIX)-$(1).json)
|
|
||||||
|
|
||||||
$(if $(CONFIG_TARGET_ROOTFS_INITRAMFS),$(call Device/Build/initramfs,$(1)))
|
$(if $(CONFIG_TARGET_ROOTFS_INITRAMFS),$(call Device/Build/initramfs,$(1)))
|
||||||
$(call Device/Build/kernel,$(1))
|
$(call Device/Build/kernel,$(1))
|
||||||
|
|
||||||
@ -699,6 +701,7 @@ define BuildImage
|
|||||||
|
|
||||||
image_prepare: compile
|
image_prepare: compile
|
||||||
mkdir -p $(BIN_DIR) $(KDIR)/tmp
|
mkdir -p $(BIN_DIR) $(KDIR)/tmp
|
||||||
|
rm -rf $(BUILD_DIR)/json_info_files
|
||||||
$(call Image/Prepare)
|
$(call Image/Prepare)
|
||||||
|
|
||||||
legacy-images-prepare-make: image_prepare
|
legacy-images-prepare-make: image_prepare
|
||||||
|
|||||||
@ -1144,3 +1144,38 @@ define KernelPackage/sfc/description
|
|||||||
endef
|
endef
|
||||||
|
|
||||||
$(eval $(call KernelPackage,sfc))
|
$(eval $(call KernelPackage,sfc))
|
||||||
|
|
||||||
|
define KernelPackage/mlx4-core
|
||||||
|
SUBMENU:=$(NETWORK_DEVICES_MENU)
|
||||||
|
TITLE:=Mellanox ConnectX(R) mlx4 core Network Driver
|
||||||
|
DEPENDS:=@PCI_SUPPORT +kmod-ptp
|
||||||
|
FILES:=$(LINUX_DIR)/drivers/net/ethernet/mellanox/mlx4/mlx4_core.ko
|
||||||
|
KCONFIG:= CONFIG_MLX4_EN \
|
||||||
|
CONFIG_MLX4_CORE=y \
|
||||||
|
CONFIG_MLX4_CORE_GEN2=y \
|
||||||
|
CONFIG_MLX4_DEBUG=n
|
||||||
|
AUTOLOAD:=$(call AutoProbe,mlx4_core)
|
||||||
|
endef
|
||||||
|
|
||||||
|
define KernelPackage/mlx4-core/description
|
||||||
|
Supports Mellanox ConnectX-3 series and previous cards
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(eval $(call KernelPackage,mlx4-core))
|
||||||
|
|
||||||
|
define KernelPackage/mlx5-core
|
||||||
|
SUBMENU:=$(NETWORK_DEVICES_MENU)
|
||||||
|
TITLE:=Mellanox ConnectX(R) mlx5 core Network Driver
|
||||||
|
DEPENDS:=@PCI_SUPPORT +kmod-ptp
|
||||||
|
FILES:=$(LINUX_DIR)/drivers/net/ethernet/mellanox/mlx5/core/mlx5_core.ko
|
||||||
|
KCONFIG:= CONFIG_MLX5_CORE \
|
||||||
|
CONFIG_MLX5_CORE_EN=y \
|
||||||
|
CONFIG_MLX5_EN_RXNFC=y
|
||||||
|
AUTOLOAD:=$(call AutoProbe,mlx5_core)
|
||||||
|
endef
|
||||||
|
|
||||||
|
define KernelPackage/mlx5-core/description
|
||||||
|
Supports Mellanox Connect-IB/ConnectX-4 series and later cards
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(eval $(call KernelPackage,mlx5-core))
|
||||||
|
|||||||
@ -1,18 +1,22 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
import json
|
from os import getenv
|
||||||
import os
|
from pathlib import Path
|
||||||
|
from sys import argv
|
||||||
import hashlib
|
import hashlib
|
||||||
|
import json
|
||||||
|
|
||||||
|
if len(argv) != 2:
|
||||||
|
print("ERROR: JSON info script requires output arg")
|
||||||
|
exit(1)
|
||||||
|
|
||||||
def e(variable, default=None):
|
json_path = Path(argv[1])
|
||||||
return os.environ.get(variable, default)
|
bin_dir = Path(getenv("BIN_DIR"))
|
||||||
|
image_file = bin_dir / getenv("IMAGE_NAME")
|
||||||
|
|
||||||
|
if not image_file.is_file():
|
||||||
json_path = "{}{}{}.json".format(e("BIN_DIR"), os.sep, e("IMAGE_PREFIX"))
|
print("Skip JSON creation for non existing image ", image_file)
|
||||||
|
exit(0)
|
||||||
with open(os.path.join(e("BIN_DIR"), e("IMAGE_NAME")), "rb") as image_file:
|
|
||||||
image_hash = hashlib.sha256(image_file.read()).hexdigest()
|
|
||||||
|
|
||||||
|
|
||||||
def get_titles():
|
def get_titles():
|
||||||
@ -20,36 +24,40 @@ def get_titles():
|
|||||||
for prefix in ["", "ALT0_", "ALT1_", "ALT2_"]:
|
for prefix in ["", "ALT0_", "ALT1_", "ALT2_"]:
|
||||||
title = {}
|
title = {}
|
||||||
for var in ["vendor", "model", "variant"]:
|
for var in ["vendor", "model", "variant"]:
|
||||||
if e("DEVICE_{}{}".format(prefix, var.upper())):
|
if getenv("DEVICE_{}{}".format(prefix, var.upper())):
|
||||||
title[var] = e("DEVICE_{}{}".format(prefix, var.upper()))
|
title[var] = getenv("DEVICE_{}{}".format(prefix, var.upper()))
|
||||||
|
|
||||||
if title:
|
if title:
|
||||||
titles.append(title)
|
titles.append(title)
|
||||||
|
|
||||||
if not titles:
|
if not titles:
|
||||||
titles.append({"title": e("DEVICE_TITLE")})
|
titles.append({"title": getenv("DEVICE_TITLE")})
|
||||||
|
|
||||||
return titles
|
return titles
|
||||||
|
|
||||||
|
|
||||||
if not os.path.exists(json_path):
|
device_id = getenv("DEVICE_ID")
|
||||||
device_info = {
|
image_hash = hashlib.sha256(image_file.read_bytes()).hexdigest()
|
||||||
"id": e("DEVICE_ID"),
|
|
||||||
"image_prefix": e("IMAGE_PREFIX"),
|
|
||||||
"images": [],
|
|
||||||
"metadata_version": 1,
|
|
||||||
"supported_devices": e("SUPPORTED_DEVICES").split(),
|
|
||||||
"target": "{}/{}".format(e("TARGET"), e("SUBTARGET", "generic")),
|
|
||||||
"titles": get_titles(),
|
|
||||||
"version_commit": e("VERSION_CODE"),
|
|
||||||
"version_number": e("VERSION_NUMBER"),
|
|
||||||
}
|
|
||||||
else:
|
|
||||||
with open(json_path, "r") as json_file:
|
|
||||||
device_info = json.load(json_file)
|
|
||||||
|
|
||||||
image_info = {"type": e("IMAGE_TYPE"), "name": e("IMAGE_NAME"), "sha256": image_hash}
|
image_info = {
|
||||||
device_info["images"].append(image_info)
|
"metadata_version": 1,
|
||||||
|
"target": "{}/{}".format(getenv("TARGET"), getenv("SUBTARGET")),
|
||||||
|
"version_code": getenv("VERSION_CODE"),
|
||||||
|
"version_number": getenv("VERSION_NUMBER"),
|
||||||
|
"profiles": {
|
||||||
|
device_id: {
|
||||||
|
"image_prefix": getenv("IMAGE_PREFIX"),
|
||||||
|
"images": [
|
||||||
|
{
|
||||||
|
"type": getenv("IMAGE_TYPE"),
|
||||||
|
"name": getenv("IMAGE_NAME"),
|
||||||
|
"sha256": image_hash,
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"supported_devices": getenv("SUPPORTED_DEVICES").split(),
|
||||||
|
"titles": get_titles(),
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
with open(json_path, "w") as json_file:
|
json_path.write_text(json.dumps(image_info, separators=(",", ":")))
|
||||||
json.dump(device_info, json_file, sort_keys=True, indent=" ")
|
|
||||||
|
|||||||
39
scripts/json_overview_image_info.py
Executable file
39
scripts/json_overview_image_info.py
Executable file
@ -0,0 +1,39 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
import json
|
||||||
|
from pathlib import Path
|
||||||
|
from os import getenv
|
||||||
|
from sys import argv
|
||||||
|
|
||||||
|
if len(argv) != 2:
|
||||||
|
print("JSON info files script requires ouput file as argument")
|
||||||
|
exit(1)
|
||||||
|
|
||||||
|
output_path = Path(argv[1])
|
||||||
|
|
||||||
|
assert getenv("WORK_DIR"), "$WORK_DIR required"
|
||||||
|
|
||||||
|
work_dir = Path(getenv("WORK_DIR"))
|
||||||
|
|
||||||
|
assert work_dir.is_dir(), "$WORK_DIR not a directory"
|
||||||
|
|
||||||
|
output = {}
|
||||||
|
|
||||||
|
for json_file in work_dir.glob("*.json"):
|
||||||
|
image_info = json.loads(json_file.read_text())
|
||||||
|
if not output:
|
||||||
|
output.update(image_info)
|
||||||
|
else:
|
||||||
|
# get first (and only) profile in json file
|
||||||
|
device_id = next(iter(image_info["profiles"].keys()))
|
||||||
|
if device_id not in output["profiles"]:
|
||||||
|
output["profiles"].update(image_info["profiles"])
|
||||||
|
else:
|
||||||
|
output["profiles"][device_id]["images"].append(
|
||||||
|
image_info["profiles"][device_id]["images"][0]
|
||||||
|
)
|
||||||
|
|
||||||
|
if output:
|
||||||
|
output_path.write_text(json.dumps(output, sort_keys=True, separators=(",", ":")))
|
||||||
|
else:
|
||||||
|
print("JSON info file script could not find any JSON files for target")
|
||||||
@ -118,6 +118,7 @@ _call_image: staging_dir/host/.prereq-build
|
|||||||
$(MAKE) package_install
|
$(MAKE) package_install
|
||||||
$(MAKE) -s prepare_rootfs
|
$(MAKE) -s prepare_rootfs
|
||||||
$(MAKE) -s build_image
|
$(MAKE) -s build_image
|
||||||
|
$(MAKE) -s json_overview_image_info
|
||||||
$(MAKE) -s checksum
|
$(MAKE) -s checksum
|
||||||
|
|
||||||
_call_manifest: FORCE
|
_call_manifest: FORCE
|
||||||
@ -163,12 +164,21 @@ prepare_rootfs: FORCE
|
|||||||
$(CP) $(TARGET_DIR) $(TARGET_DIR_ORIG)
|
$(CP) $(TARGET_DIR) $(TARGET_DIR_ORIG)
|
||||||
$(call prepare_rootfs,$(TARGET_DIR),$(USER_FILES),$(DISABLED_SERVICES))
|
$(call prepare_rootfs,$(TARGET_DIR),$(USER_FILES),$(DISABLED_SERVICES))
|
||||||
|
|
||||||
|
|
||||||
build_image: FORCE
|
build_image: FORCE
|
||||||
@echo
|
@echo
|
||||||
@echo Building images...
|
@echo Building images...
|
||||||
$(NO_TRACE_MAKE) -C target/linux/$(BOARD)/image install TARGET_BUILD=1 IB=1 EXTRA_IMAGE_NAME="$(EXTRA_IMAGE_NAME)" \
|
$(NO_TRACE_MAKE) -C target/linux/$(BOARD)/image install TARGET_BUILD=1 IB=1 EXTRA_IMAGE_NAME="$(EXTRA_IMAGE_NAME)" \
|
||||||
$(if $(USER_PROFILE),PROFILE="$(USER_PROFILE)")
|
$(if $(USER_PROFILE),PROFILE="$(USER_PROFILE)")
|
||||||
|
|
||||||
|
$(BIN_DIR)/profiles.json: FORCE
|
||||||
|
$(if $(CONFIG_JSON_OVERVIEW_IMAGE_INFO), \
|
||||||
|
WORK_DIR=$(BUILD_DIR)/json_info_files \
|
||||||
|
$(SCRIPT_DIR)/json_overview_image_info.py $@ \
|
||||||
|
)
|
||||||
|
|
||||||
|
json_overview_image_info: $(BIN_DIR)/profiles.json
|
||||||
|
|
||||||
checksum: FORCE
|
checksum: FORCE
|
||||||
@echo
|
@echo
|
||||||
@echo Calculating checksums...
|
@echo Calculating checksums...
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
echo "Gateworks Ventana OpenWrt Boot script v1.01"
|
echo "Gateworks Ventana OpenWrt Boot script v1.02"
|
||||||
|
|
||||||
# set some defaults
|
# set some defaults
|
||||||
# set some defaults
|
# set some defaults
|
||||||
@ -9,7 +9,7 @@ setenv bootargs console=${console},${baudrate}
|
|||||||
setenv loadaddr 10800000
|
setenv loadaddr 10800000
|
||||||
setenv fdt_addr 18000000
|
setenv fdt_addr 18000000
|
||||||
|
|
||||||
# detect dtype and bootdev by looking for kernel on media the bootloader
|
# detect dtype by looking for kernel on media the bootloader
|
||||||
# has mounted (in order of preference: usb/mmc/sata)
|
# has mounted (in order of preference: usb/mmc/sata)
|
||||||
#
|
#
|
||||||
# This assumes the bootloader has already started the respective subsystem
|
# This assumes the bootloader has already started the respective subsystem
|
||||||
@ -31,18 +31,9 @@ else
|
|||||||
fi
|
fi
|
||||||
echo "detected dtype:$dtype"
|
echo "detected dtype:$dtype"
|
||||||
fi
|
fi
|
||||||
if test -n "$bootdev" ; then
|
|
||||||
echo "Using bootdev from env: $bootdev"
|
|
||||||
else
|
|
||||||
if itest.s "x${dtype}" == "xmmc" ; then
|
|
||||||
bootdev=mmcblk0p1
|
|
||||||
else
|
|
||||||
bootdev=sda1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
echo "Booting from ${dtype}..."
|
||||||
if itest.s "x${dtype}" == "xnand" ; then
|
if itest.s "x${dtype}" == "xnand" ; then
|
||||||
echo "Booting from NAND..."
|
|
||||||
# fix partition name
|
# fix partition name
|
||||||
# OpenWrt kernel bug prevents partition name of 'rootfs' from booting
|
# OpenWrt kernel bug prevents partition name of 'rootfs' from booting
|
||||||
# instead name the partition ubi which is what is looked for by
|
# instead name the partition ubi which is what is looked for by
|
||||||
@ -52,9 +43,24 @@ if itest.s "x${dtype}" == "xnand" ; then
|
|||||||
setenv fsload ubifsload
|
setenv fsload ubifsload
|
||||||
setenv root "ubi0:ubi ubi.mtd=2 rootfstype=squashfs,ubifs"
|
setenv root "ubi0:ubi ubi.mtd=2 rootfstype=squashfs,ubifs"
|
||||||
else
|
else
|
||||||
echo "Booting from block device ${bootdev}..."
|
|
||||||
setenv fsload "${fs}load ${dtype} ${disk}:1"
|
setenv fsload "${fs}load ${dtype} ${disk}:1"
|
||||||
setenv root "root=/dev/${bootdev} rootfstype=${fs} rootwait rw"
|
part uuid ${dtype} ${disk}:1 uuid
|
||||||
|
if test -z "${uuid}"; then
|
||||||
|
# fallback to bootdev
|
||||||
|
if test -n "$bootdev" ; then
|
||||||
|
echo "Using bootdev from env: $bootdev"
|
||||||
|
else
|
||||||
|
if itest.s "x${dtype}" == "xmmc" ; then
|
||||||
|
bootdev=mmcblk0p1
|
||||||
|
else
|
||||||
|
bootdev=sda1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
setenv root "root=/dev/${bootdev}"
|
||||||
|
else
|
||||||
|
setenv root "root=PARTUUID=${uuid}"
|
||||||
|
fi
|
||||||
|
setenv root "$root rootfstype=${fs} rootwait rw"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
setenv bootargs "${bootargs}" "${root}" "${video}" "${extra}"
|
setenv bootargs "${bootargs}" "${root}" "${video}" "${extra}"
|
||||||
|
|||||||
@ -11,8 +11,7 @@ BOARD:=octeontx
|
|||||||
BOARDNAME:=Octeon-TX
|
BOARDNAME:=Octeon-TX
|
||||||
FEATURES:=targz pcie gpio rtc usb fpu
|
FEATURES:=targz pcie gpio rtc usb fpu
|
||||||
|
|
||||||
KERNEL_PATCHVER:=4.14
|
KERNEL_PATCHVER:=5.4
|
||||||
KERNEL_TESTING_PATCHVER:=5.4
|
|
||||||
|
|
||||||
define Target/Description
|
define Target/Description
|
||||||
Build images for Octeon-TX CN80XX/CN81XX based boards
|
Build images for Octeon-TX CN80XX/CN81XX based boards
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user