Use .config instead of envs
This commit is contained in:
@@ -630,11 +630,11 @@ fromSource() {
|
|||||||
|
|
||||||
# Grab the release seed config
|
# Grab the release seed config
|
||||||
if ! curl -so "$SEED_FILE" "$SEED_URL"; then
|
if ! curl -so "$SEED_FILE" "$SEED_URL"; then
|
||||||
echo "Could not obtain seed config"
|
echo "Could not obtain .config seed from $SEED_FILE"
|
||||||
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
make defconfig # normalize .config and remove dupes
|
# Add custom packages
|
||||||
|
|
||||||
for pkg in ${P_ARR[packages]:+}; do
|
for pkg in ${P_ARR[packages]:+}; do
|
||||||
if [[ $pkg == -* ]]; then
|
if [[ $pkg == -* ]]; then
|
||||||
make_opts+=("CONFIG_PACKAGE_${pkg#-}=n") # remove package
|
make_opts+=("CONFIG_PACKAGE_${pkg#-}=n") # remove package
|
||||||
@@ -643,49 +643,31 @@ fromSource() {
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# Add kopts from profile
|
||||||
for kopt in ${P_ARR[kopts]:+}; do
|
for kopt in ${P_ARR[kopts]:+}; do
|
||||||
make_opts+=("$kopt")
|
make_opts+=("$kopt")
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# Only compile this target
|
||||||
|
sed -i '/CONFIG_TARGET_DEVICE_/d' "$SEED_FILE"
|
||||||
make_opts+=("CONFIG_TARGET_MULTI_PROFILE=n")
|
make_opts+=("CONFIG_TARGET_MULTI_PROFILE=n")
|
||||||
make_opts+=("CONFIG_TARGET_ALL_PROFILES=n")
|
make_opts+=("CONFIG_TARGET_ALL_PROFILES=n")
|
||||||
make_opts+=("CONFIG_SDK=n")
|
make_opts+=("CONFIG_SDK=n")
|
||||||
make_opts+=("CONFIG_SDK_LLVM_BPF=n")
|
make_opts+=("CONFIG_SDK_LLVM_BPF=n")
|
||||||
make_opts+=("CONFIG_TARGET_PROFILE=DEVICE_${P_ARR[profile]}")
|
|
||||||
make_opts+=("CONFIG_TARGET_DEVICE_${P_ARR[target]//\//_}_DEVICE_${P_ARR[profile]}=y")
|
make_opts+=("CONFIG_TARGET_DEVICE_${P_ARR[target]//\//_}_DEVICE_${P_ARR[profile]}=y")
|
||||||
make_opts+=("CONFIG_BINARY_FOLDER=\"$THIS_BINDIR\"")
|
make_opts+=("CONFIG_BINARY_FOLDER=\"$THIS_BINDIR\"")
|
||||||
(( DEBUG )) && make_opts+=("V=s")
|
(( DEBUG )) && make_opts+=("V=s")
|
||||||
|
|
||||||
# Override default .config seed with profile packages
|
# normalize .config and remove dupes
|
||||||
# for pkg in ${P_ARR[packages]:+${P_ARR[packages]}}; do
|
make defconfig
|
||||||
# if [[ $pkg == -* ]]; then
|
|
||||||
# echo "CONFIG_PACKAGE_${pkg#-}=n" >> "$SEED_FILE" # remove package
|
|
||||||
# else
|
|
||||||
# echo "CONFIG_PACKAGE_$pkg=y" >> "$SEED_FILE" # add package
|
|
||||||
# fi
|
|
||||||
# done
|
|
||||||
|
|
||||||
# Add custom kernel config options
|
# TODO for now symlink clang for qosify
|
||||||
# for kopt in ${P_ARR[kopts]:+${P_ARR[kopts]}}; do
|
|
||||||
# echo "$kopt" >> "$SEED_FILE"
|
|
||||||
# done
|
|
||||||
|
|
||||||
|
|
||||||
# Only compile our target
|
|
||||||
# TODO causes a "configuration is out of sync" error w/o defconfig
|
|
||||||
# sed -i '/CONFIG_TARGET_DEVICE_/d' "$SEED_FILE"
|
|
||||||
# echo "CONFIG_TARGET_DEVICE_${P_ARR[target]//\//_}_DEVICE_${P_ARR[profile]}=y" >> "$SEED_FILE"
|
|
||||||
|
|
||||||
# output to bindir instead of builddir
|
|
||||||
# echo "CONFIG_BINARY_FOLDER=\"$THIS_BINDIR\"" >> "$SEED_FILE"
|
|
||||||
|
|
||||||
# TODO symlink clang for qosify
|
|
||||||
[[ -d "$GITSRCDIR/staging_dir/host/llvm-bpf/bin" ]] || mkdir -p "$GITSRCDIR/staging_dir/host/llvm-bpf/bin"
|
[[ -d "$GITSRCDIR/staging_dir/host/llvm-bpf/bin" ]] || mkdir -p "$GITSRCDIR/staging_dir/host/llvm-bpf/bin"
|
||||||
ln -fs "$(which clang)" "$GITSRCDIR/staging_dir/host/llvm-bpf/bin/clang"
|
ln -fs "$(which clang)" "$GITSRCDIR/staging_dir/host/llvm-bpf/bin/clang"
|
||||||
|
|
||||||
make "${make_opts[@]}" download &&
|
make download &&
|
||||||
debug "${make_opts[*]} -j$(nproc) world" &&
|
debug "make -j$(nproc) world" &&
|
||||||
make "${make_opts[@]}" -j"$(nproc)" world
|
make -j"$(nproc)" world
|
||||||
|
|
||||||
popd &>/dev/null || return 1
|
popd &>/dev/null || return 1
|
||||||
exit # TODO exit here for fromSource() testing
|
exit # TODO exit here for fromSource() testing
|
||||||
@@ -806,9 +788,6 @@ main() {
|
|||||||
declare -g IB_SHA256_URL="$url_prefix/sha256sums"
|
declare -g IB_SHA256_URL="$url_prefix/sha256sums"
|
||||||
declare -g IB_SHA256_FILE="$BUILDDIR/sha256sums"
|
declare -g IB_SHA256_FILE="$BUILDDIR/sha256sums"
|
||||||
declare -g IB_OUT_SHA256_FILE="$THIS_BINDIR/sha256sums"
|
declare -g IB_OUT_SHA256_FILE="$THIS_BINDIR/sha256sums"
|
||||||
declare -g SEED_URL="$url_prefix/config.buildinfo"
|
|
||||||
declare -g SEED_FILE="$GITSRCDIR/.config"
|
|
||||||
|
|
||||||
declare -g FACTORYIMG="$BUILDDIR/$img_fname-factory.img"
|
declare -g FACTORYIMG="$BUILDDIR/$img_fname-factory.img"
|
||||||
declare -g FACTORYIMGGZ="$BUILDDIR/$img_fname-factory.img.gz"
|
declare -g FACTORYIMGGZ="$BUILDDIR/$img_fname-factory.img.gz"
|
||||||
declare -g FACTORYIMGGZFNAME="${FACTORYIMGGZ##*/}"
|
declare -g FACTORYIMGGZFNAME="${FACTORYIMGGZ##*/}"
|
||||||
@@ -820,8 +799,9 @@ main() {
|
|||||||
declare -g SOURCESYSUPGRADEIMG="$THIS_BINDIR/targets/$img_fname-sysupgrade.img"
|
declare -g SOURCESYSUPGRADEIMG="$THIS_BINDIR/targets/$img_fname-sysupgrade.img"
|
||||||
declare -g SOURCESYSUPGRADEIMGGZ="$THIS_BINDIR/targets/$img_fname-sysupgrade.img.gz"
|
declare -g SOURCESYSUPGRADEIMGGZ="$THIS_BINDIR/targets/$img_fname-sysupgrade.img.gz"
|
||||||
declare -g SOURCESYSUPGRADEIMGGZFNAME="${SOURCESYSUPGRADEIMGGZ##*/}"
|
declare -g SOURCESYSUPGRADEIMGGZFNAME="${SOURCESYSUPGRADEIMGGZ##*/}"
|
||||||
|
|
||||||
declare -g GITWORKTREEDIR="$SRCDIR/$profile/$RELEASE"
|
declare -g GITWORKTREEDIR="$SRCDIR/$profile/$RELEASE"
|
||||||
|
declare -g SEED_URL="$url_prefix/config.buildinfo"
|
||||||
|
declare -g SEED_FILE="$GITWORKTREEDIR/.config"
|
||||||
|
|
||||||
if (( DEBUG )); then
|
if (( DEBUG )); then
|
||||||
echo "Profile settings:"
|
echo "Profile settings:"
|
||||||
|
|||||||
Reference in New Issue
Block a user