<p>M Sylvester B has uploaded this change for <strong>review</strong>.</p><p><a href="https://review.coreboot.org/c/coreboot/+/29778">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">[WIP]LinuxBoot: refactor u-root.mk<br><br>Clean the u-root initramfs integration.<br><br>TODO:<br>- handle all u-root flags<br><br>Change-Id: Id978ed2ebeff96c5be4f74ae07df9be76e106a1b<br>Signed-off-by: Marcello Sylvester Bauer <info@marcellobauer.com><br>---<br>M payloads/external/LinuxBoot/Makefile<br>M payloads/external/LinuxBoot/targets/u-root.mk<br>2 files changed, 18 insertions(+), 41 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://review.coreboot.org:29418/coreboot refs/changes/78/29778/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/payloads/external/LinuxBoot/Makefile b/payloads/external/LinuxBoot/Makefile</span><br><span>index a9b35fc..456d846 100644</span><br><span>--- a/payloads/external/LinuxBoot/Makefile</span><br><span>+++ b/payloads/external/LinuxBoot/Makefile</span><br><span>@@ -58,7 +58,8 @@</span><br><span> </span><br><span> clean:</span><br><span>        if [ -d "$(kernel_dir)" ]; then rm -rf $(kernel_dir); fi</span><br><span style="color: hsl(0, 100%, 40%);">-      rm -f $(project_dir)/initramfs.cpio.xz</span><br><span style="color: hsl(120, 100%, 40%);">+        rm -f $(project_dir)/u-root</span><br><span style="color: hsl(120, 100%, 40%);">+   rm -f $(project_dir)/initramfs_u-root.cpio.xz</span><br><span> </span><br><span> distclean:</span><br><span>      rm -rf $(project_dir)</span><br><span>diff --git a/payloads/external/LinuxBoot/targets/u-root.mk b/payloads/external/LinuxBoot/targets/u-root.mk</span><br><span>index 5cb19bb..dc570b5 100644</span><br><span>--- a/payloads/external/LinuxBoot/targets/u-root.mk</span><br><span>+++ b/payloads/external/LinuxBoot/targets/u-root.mk</span><br><span>@@ -13,19 +13,18 @@</span><br><span> ## GNU General Public License for more details.</span><br><span> ##</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-uroot_git_repo=https://github.com/u-root/u-root.git</span><br><span style="color: hsl(0, 100%, 40%);">-uroot_dir=$(project_dir)/go/src/github.com/u-root/u-root</span><br><span> go_version=$(shell go version | sed -nr 's/.*go([0-9]+\.[0-9]+.?[0-9]?).*/\1/p' )</span><br><span> go_version_major=$(shell echo $(go_version) |  sed -nr 's/^([0-9]+)\.([0-9]+)\.?([0-9]*)$$/\1/p')</span><br><span> go_version_minor=$(shell echo $(go_version) |  sed -nr 's/^([0-9]+)\.([0-9]+)\.?([0-9]*)$$/\2/p')</span><br><span> </span><br><span> project_dir=$(shell pwd)/linuxboot</span><br><span style="color: hsl(0, 100%, 40%);">-project_name=u-root</span><br><span style="color: hsl(0, 100%, 40%);">-go_path_dir=$(shell pwd)/linuxboot/go</span><br><span style="color: hsl(120, 100%, 40%);">+go_path_dir=$(project_dir)/go</span><br><span style="color: hsl(120, 100%, 40%);">+uroot_bin=$(project_dir)/u-root</span><br><span style="color: hsl(120, 100%, 40%);">+uroot_package=github.com/u-root/u-root</span><br><span> </span><br><span> all: u-root</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-check:</span><br><span style="color: hsl(120, 100%, 40%);">+version:</span><br><span> ifeq ("$(go_version)","")</span><br><span>        printf "\n<<Please install Golang >= 1.9 for u-root mode>>\n\n"</span><br><span>     exit 1</span><br><span>@@ -37,59 +36,36 @@</span><br><span>         exit 1</span><br><span> endif</span><br><span> endif</span><br><span style="color: hsl(0, 100%, 40%);">-        mkdir -p $(project_dir)/go/src/github.com/u-root</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-$(uroot_dir)/.git:</span><br><span style="color: hsl(0, 100%, 40%);">-  echo "    Git        Cloning u-root $(CONFIG_LINUXBOOT_UROOT_VERSION)"</span><br><span style="color: hsl(0, 100%, 40%);">-        git clone $(uroot_git_repo) $(uroot_dir)</span><br><span style="color: hsl(120, 100%, 40%);">+get: version</span><br><span style="color: hsl(120, 100%, 40%);">+        GOPATH=$(go_path_dir) go get -u $(uroot_package)</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-fetch: check $(uroot_dir)/.git</span><br><span style="color: hsl(0, 100%, 40%);">-      -cd "$(uroot_dir)" && git fetch origin</span><br><span style="color: hsl(120, 100%, 40%);">+checkout: get</span><br><span style="color: hsl(120, 100%, 40%);">+       git -C $(go_path_dir)/src/$(uroot_package) checkout $(CONFIG_LINUXBOOT_UROOT_VERSION)</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-checkout: fetch</span><br><span style="color: hsl(0, 100%, 40%);">-        cd "$(uroot_dir)" && \</span><br><span style="color: hsl(0, 100%, 40%);">-        if ! git diff --quiet _cb_checkout "$(CONFIG_LINUXBOOT_UROOT_VERSION)" -- 2>/dev/null; \</span><br><span style="color: hsl(0, 100%, 40%);">-   then \</span><br><span style="color: hsl(0, 100%, 40%);">-          printf "    CHECKOUT    $(project_name) [$(CONFIG_LINUXBOOT_UROOT_VERSION)]\n"; \</span><br><span style="color: hsl(0, 100%, 40%);">-             git checkout $$(git rev-parse HEAD) >/dev/null 2>&1; \</span><br><span style="color: hsl(0, 100%, 40%);">-                git branch -f _cb_checkout "$(CONFIG_LINUXBOOT_UROOT_VERSION)" && \</span><br><span style="color: hsl(0, 100%, 40%);">-           git checkout _cb_checkout && \</span><br><span style="color: hsl(0, 100%, 40%);">-          $(if $(project_patches), \</span><br><span style="color: hsl(0, 100%, 40%);">-              for patch in $(project_patches); do \</span><br><span style="color: hsl(0, 100%, 40%);">-                   printf "    PATCH       $$patch\n"; \</span><br><span style="color: hsl(0, 100%, 40%);">-                 git am --keep-cr "$$patch" || \</span><br><span style="color: hsl(0, 100%, 40%);">-                               ( printf "Error when applying patches.\n"; \</span><br><span style="color: hsl(0, 100%, 40%);">-                            git am --abort; exit 1; ); \</span><br><span style="color: hsl(0, 100%, 40%);">-          done;,true;) \</span><br><span style="color: hsl(0, 100%, 40%);">-  fi</span><br><span style="color: hsl(120, 100%, 40%);">+build: checkout</span><br><span style="color: hsl(120, 100%, 40%);">+   GOPATH=$(go_path_dir) go build -o $(uroot_bin) $(uroot_package)</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-$(uroot_dir)/u-root: $(uroot_dir)/u-root.go</span><br><span style="color: hsl(0, 100%, 40%);">-  echo "    GO        u-root"</span><br><span style="color: hsl(0, 100%, 40%);">-   cd $(uroot_dir); GOPATH=$(go_path_dir) go build u-root.go</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-$(project_dir)/initramfs_u-root.cpio.xz: checkout $(uroot_dir)/u-root</span><br><span style="color: hsl(0, 100%, 40%);">-  echo "    MAKE       u-root $(CONFIG_LINUXBOOT_UROOT_VERSION)"</span><br><span style="color: hsl(120, 100%, 40%);">+u-root: build</span><br><span> ifneq ($(CONFIG_LINUXBOOT_UROOT_COMMANDS),)</span><br><span> ifneq ($(CONFIG_LINUXBOOT_UROOT_FILES),)</span><br><span style="color: hsl(0, 100%, 40%);">-      cd $(uroot_dir); GOARCH=$(CONFIG_LINUXBOOT_ARCH) GOPATH=$(go_path_dir) ./u-root \</span><br><span style="color: hsl(120, 100%, 40%);">+     GOARCH=$(CONFIG_LINUXBOOT_ARCH) GOPATH=$(go_path_dir) $(uroot_bin) \</span><br><span>         -build=bb -files $(CONFIG_LINUXBOOT_UROOT_FILES) -o $(project_dir)/initramfs_u-root.cpio \</span><br><span>   $(patsubst %,cmds/%,$(CONFIG_LINUXBOOT_UROOT_COMMANDS))</span><br><span> else</span><br><span style="color: hsl(0, 100%, 40%);">- cd $(uroot_dir); GOARCH=$(CONFIG_LINUXBOOT_ARCH) GOPATH=$(go_path_dir) ./u-root \</span><br><span style="color: hsl(120, 100%, 40%);">+     GOARCH=$(CONFIG_LINUXBOOT_ARCH) GOPATH=$(go_path_dir) $(uroot_bin) \</span><br><span>         -build=bb -o $(project_dir)/initramfs_u-root.cpio \</span><br><span>  $(patsubst %,cmds/%,$(CONFIG_LINUXBOOT_UROOT_COMMANDS))</span><br><span> endif</span><br><span> else</span><br><span> ifneq ($(CONFIG_LINUXBOOT_UROOT_FILES),)</span><br><span style="color: hsl(0, 100%, 40%);">-    cd $(uroot_dir); GOARCH=$(CONFIG_LINUXBOOT_ARCH) GOPATH=$(go_path_dir) ./u-root \</span><br><span style="color: hsl(120, 100%, 40%);">+     GOARCH=$(CONFIG_LINUXBOOT_ARCH) GOPATH=$(go_path_dir) $(uroot_bin) \</span><br><span>         -build=bb -files $(CONFIG_LINUXBOOT_UROOT_FILES) -o $(project_dir)/initramfs_u-root.cpio coreboot-app</span><br><span> else</span><br><span style="color: hsl(0, 100%, 40%);">-   cd $(uroot_dir); GOARCH=$(CONFIG_LINUXBOOT_ARCH) GOPATH=$(go_path_dir) ./u-root \</span><br><span style="color: hsl(120, 100%, 40%);">+     GOARCH=$(CONFIG_LINUXBOOT_ARCH) GOPATH=$(go_path_dir) $(uroot_bin) \</span><br><span>         -build=bb -o $(project_dir)/initramfs_u-root.cpio coreboot-app</span><br><span> endif</span><br><span> endif</span><br><span>     xz -f --check=crc32 -9 --lzma2=dict=1MiB --threads=$(CPUS) $(project_dir)/initramfs_u-root.cpio</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-u-root: $(project_dir)/initramfs_u-root.cpio.xz</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-.PHONY: u-root checkout fetch all check</span><br><span style="color: hsl(120, 100%, 40%);">+.PHONY: all u-root build checkout get version</span><br><span></span><br></pre><p>To view, visit <a href="https://review.coreboot.org/c/coreboot/+/29778">change 29778</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://review.coreboot.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://review.coreboot.org/c/coreboot/+/29778"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: coreboot </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: Id978ed2ebeff96c5be4f74ae07df9be76e106a1b </div>
<div style="display:none"> Gerrit-Change-Number: 29778 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: M Sylvester B <info@marcellobauer.com> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>