mirror of
				https://github.com/edera-dev/krata.git
				synced 2025-11-03 23:29:39 +00:00 
			
		
		
		
	krata: rewrite all repo infrastructure
This commit is contained in:
		
							
								
								
									
										56
									
								
								scripts/kernel/build.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										56
									
								
								scripts/kernel/build.sh
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,56 @@
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
set -e
 | 
			
		||||
 | 
			
		||||
REAL_SCRIPT="$(realpath "${0}")"
 | 
			
		||||
cd "$(dirname "${REAL_SCRIPT}")/../.."
 | 
			
		||||
KRATA_DIR="${PWD}"
 | 
			
		||||
KERNEL_DIR="${KRATA_DIR}/kernel"
 | 
			
		||||
 | 
			
		||||
cd "${KRATA_DIR}"
 | 
			
		||||
 | 
			
		||||
# shellcheck source=../../kernel/config.sh
 | 
			
		||||
. "${KERNEL_DIR}/config.sh"
 | 
			
		||||
KERNEL_SRC="${KERNEL_DIR}/linux-${KERNEL_VERSION}"
 | 
			
		||||
 | 
			
		||||
if [ ! -f "${KERNEL_SRC}/Makefile" ]
 | 
			
		||||
then
 | 
			
		||||
  rm -rf "${KERNEL_SRC}"
 | 
			
		||||
  curl --progress-bar -L -o "${KERNEL_SRC}.txz" "${KERNEL_SRC_URL}"
 | 
			
		||||
  tar xf "${KERNEL_SRC}.txz" -C "${KERNEL_DIR}"
 | 
			
		||||
  rm "${KERNEL_SRC}.txz"
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
OUTPUT_DIR="${KRATA_DIR}/target/kernel"
 | 
			
		||||
mkdir -p "${OUTPUT_DIR}"
 | 
			
		||||
 | 
			
		||||
TARGET_ARCH="$(KRATA_ARCH_KERNEL_NAME=1 ./scripts/build/arch.sh)"
 | 
			
		||||
 | 
			
		||||
KERNEL_CONFIG_FILE="${KERNEL_DIR}/krata-${TARGET_ARCH}.config"
 | 
			
		||||
 | 
			
		||||
if [ ! -f "${KERNEL_CONFIG_FILE}" ]
 | 
			
		||||
then
 | 
			
		||||
  echo "ERROR: kernel config file not found for ${TARGET_ARCH}" > /dev/stderr
 | 
			
		||||
  exit 1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
cp "${KERNEL_CONFIG_FILE}" "${KERNEL_SRC}/.config"
 | 
			
		||||
make -C "${KERNEL_SRC}" ARCH="${TARGET_ARCH}" "${@}" olddefconfig
 | 
			
		||||
 | 
			
		||||
if [ "${TARGET_ARCH}" = "x86_64" ]
 | 
			
		||||
then
 | 
			
		||||
  make -C "${KERNEL_SRC}" ARCH="${TARGET_ARCH}" "${@}" bzImage
 | 
			
		||||
elif [ "${TARGET_ARCH}" = "arm64" ]
 | 
			
		||||
then
 | 
			
		||||
  make -C "${KERNEL_SRC}" ARCH="${TARGET_ARCH}" "${@}" Image.gz
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if [ "${TARGET_ARCH}" = "x86_64" ]
 | 
			
		||||
then
 | 
			
		||||
  cp "${KERNEL_SRC}/arch/x86/boot/bzImage" "${OUTPUT_DIR}/kernel"
 | 
			
		||||
elif [ "${TARGET_ARCH}" = "arm64" ]
 | 
			
		||||
then
 | 
			
		||||
  cp "${KERNEL_SRC}/arch/arm64/boot/Image.gz" "${OUTPUT_DIR}/kernel"
 | 
			
		||||
else
 | 
			
		||||
  echo "ERROR: unable to determine what file is the vmlinuz for ${TARGET_ARCH}" > /dev/stderr
 | 
			
		||||
  exit 1
 | 
			
		||||
fi
 | 
			
		||||
							
								
								
									
										13
									
								
								scripts/kernel/clean.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										13
									
								
								scripts/kernel/clean.sh
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,13 @@
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
set -e
 | 
			
		||||
 | 
			
		||||
REAL_SCRIPT="$(realpath "${0}")"
 | 
			
		||||
cd "$(dirname "${REAL_SCRIPT}")/../.."
 | 
			
		||||
KRATA_DIR="${PWD}"
 | 
			
		||||
KERNEL_DIR="${KRATA_DIR}/kernel"
 | 
			
		||||
 | 
			
		||||
# shellcheck disable=SC2010
 | 
			
		||||
for ITEM in $(ls "${KERNEL_DIR}" | grep "^linux-")
 | 
			
		||||
do
 | 
			
		||||
  rm -rf "${KERNEL_DIR:?}/${ITEM}"
 | 
			
		||||
done
 | 
			
		||||
		Reference in New Issue
	
	Block a user