From e28d1aa20f9996a82920f45946b71ee7d95a3803 Mon Sep 17 00:00:00 2001 From: bmoussa1 Date: Fri, 17 Jan 2025 07:58:58 +0200 Subject: [PATCH] assignment-4-completed --- base_external/Config.in | 1 + base_external/configs/aesd_qemu_defconfig | 23 +++++++++++++++++++ base_external/external.desc | 2 ++ base_external/external.mk | 1 + .../aesd-assignments/aesd-assignments.mk | 22 +++++++++++++----- clean.sh | 2 ++ shared.sh | 2 +- 7 files changed, 46 insertions(+), 7 deletions(-) create mode 100644 base_external/Config.in create mode 100644 base_external/configs/aesd_qemu_defconfig create mode 100644 base_external/external.desc create mode 100644 base_external/external.mk create mode 100755 clean.sh diff --git a/base_external/Config.in b/base_external/Config.in new file mode 100644 index 0000000..845582a --- /dev/null +++ b/base_external/Config.in @@ -0,0 +1 @@ +source "$BR2_EXTERNAL_project_base_PATH/package/aesd-assignments/Config.in" diff --git a/base_external/configs/aesd_qemu_defconfig b/base_external/configs/aesd_qemu_defconfig new file mode 100644 index 0000000..8572a19 --- /dev/null +++ b/base_external/configs/aesd_qemu_defconfig @@ -0,0 +1,23 @@ +BR2_aarch64=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y +BR2_GLOBAL_PATCH_DIR="board/qemu/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_TARGET_GENERIC_ROOT_PASSWD="root" +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.32" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/aarch64-virt/linux.config" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y +BR2_PACKAGE_DROPBEAR=y +BR2_PACKAGE_OPENSSH=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_PACKAGE_HOST_QEMU=y +BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y +BR2_PACKAGE_AESD_ASSIGNMENTS=y diff --git a/base_external/external.desc b/base_external/external.desc new file mode 100644 index 0000000..e650268 --- /dev/null +++ b/base_external/external.desc @@ -0,0 +1,2 @@ +name: project_base +desc: External configuration for the AESD project diff --git a/base_external/external.mk b/base_external/external.mk new file mode 100644 index 0000000..c81e782 --- /dev/null +++ b/base_external/external.mk @@ -0,0 +1 @@ +include $(sort $(wildcard $(BR2_EXTERNAL_project_base_PATH)/package/*/*.mk)) diff --git a/base_external/package/aesd-assignments/aesd-assignments.mk b/base_external/package/aesd-assignments/aesd-assignments.mk index 8a793c0..63febe2 100644 --- a/base_external/package/aesd-assignments/aesd-assignments.mk +++ b/base_external/package/aesd-assignments/aesd-assignments.mk @@ -6,23 +6,33 @@ ############################################################## #TODO: Fill up the contents below in order to reference your assignment 3 git contents -AESD_ASSIGNMENTS_VERSION = '#COMMIT VERSION NUMBER' +AESD_ASSIGNMENTS_VERSION = 38605b396197efe831fe8de4d86271ba049e1894 # Note: Be sure to reference the *ssh* repository URL here (not https) to work properly # with ssh keys and the automated build/test system. # Your site should start with git@github.com: -AESD_ASSIGNMENTS_SITE = '#GITHUB REPOSITORY LINK' +AESD_ASSIGNMENTS_SITE = git@github.com:cu-ecen-aeld/assignments-3-and-later-bmoussa1.git AESD_ASSIGNMENTS_SITE_METHOD = git AESD_ASSIGNMENTS_GIT_SUBMODULES = YES +# Use a local source directory for faster rebuilds if specified +ifeq ($$(AESD_ASSIGNMENTS_OVERRIDE_SCRDIR),) +AESD_ASSIGNMENTS_SRCDIR = $(@D) +else +AESD_ASSIGNMENTS_SRCDIR = $$(AESD_ASSIGNMENTS_OVERRIDE_SCRDIR) +endif + define AESD_ASSIGNMENTS_BUILD_CMDS - $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D)/finder-app all + $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(AESD_ASSIGNMENTS_SRCDIR)finder-app all endef # TODO add your writer, finder and finder-test utilities/scripts to the installation steps below define AESD_ASSIGNMENTS_INSTALL_TARGET_CMDS - $(INSTALL) -d 0755 $(@D)/conf/ $(TARGET_DIR)/etc/finder-app/conf/ - $(INSTALL) -m 0755 $(@D)/conf/* $(TARGET_DIR)/etc/finder-app/conf/ - $(INSTALL) -m 0755 $(@D)/assignment-autotest/test/assignment4/* $(TARGET_DIR)/bin + $(INSTALL) -d 0755 $(AESD_ASSIGNMENTS_SRCDIR)/conf/ $(TARGET_DIR)/etc/finder-app/conf/ + $(INSTALL) -m 0755 $(AESD_ASSIGNMENTS_SRCDIR)/conf/* $(TARGET_DIR)/etc/finder-app/conf/ + $(INSTALL) -m 0755 $(AESD_ASSIGNMENTS_SRCDIR)/assignment-autotest/test/assignment4/* $(TARGET_DIR)/bin + $(INSTALL) -m 0755 $(AESD_ASSIGNMENTS_SRCDIR)finder-app/finder-test.sh $(TARGET_DIR)/usr/bin/ + $(INSTALL) -m 0755 $(AESD_ASSIGNMENTS_SRCDIR)finder-app/finder.sh $(TARGET_DIR)/usr/bin/ + $(INSTALL) -m 0755 $(AESD_ASSIGNMENTS_SRCDIR)finder-app/writer $(TARGET_DIR)/usr/bin/ endef $(eval $(generic-package)) diff --git a/clean.sh b/clean.sh new file mode 100755 index 0000000..d9ead57 --- /dev/null +++ b/clean.sh @@ -0,0 +1,2 @@ +#!/bin/bash +make -C buildroot distclean diff --git a/shared.sh b/shared.sh index c2da64b..59c0a08 100644 --- a/shared.sh +++ b/shared.sh @@ -8,4 +8,4 @@ MODIFIED_QEMU_DEFCONFIG=base_external/configs/aesd_qemu_defconfig # The defconfig from the buildroot directory we use for the project AESD_DEFAULT_DEFCONFIG=${QEMU_DEFCONFIG} AESD_MODIFIED_DEFCONFIG=${MODIFIED_QEMU_DEFCONFIG} -AESD_MODIFIED_DEFCONFIG_REL_BUILDROOT=../${AESD_MODIFIED_DEFCONFIG} +AESD_MODIFIED_DEFCONFIG_REL_BUILDROOT=$(realpath ${AESD_MODIFIED_DEFCONFIG})