From patchwork Sun Jan 13 21:49:10 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tomasz Maciej Nowak X-Patchwork-Id: 1024164 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=lists.openwrt.org (client-ip=2607:7c80:54:e::133; helo=bombadil.infradead.org; envelope-from=openwrt-devel-bounces+incoming=patchwork.ozlabs.org@lists.openwrt.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=o2.pl Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="CN0vJr6M"; dkim-atps=neutral Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:e::133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43d9GJ6ZqSz9s9h for ; Mon, 14 Jan 2019 08:48:40 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Subject:MIME-Version:References: In-Reply-To:Message-Id:Date:To:From:Reply-To:Cc:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Owner; bh=c0e+LyqMo2e3i/IMvYDz/y5JzlgiKx0vljs8kYXf1tU=; b=CN0vJr6MRl6pjsVIt+Kr9vqvgN DoEnR9s8FqpkGLMmtzUWnpBorLo/ayKy2dIpTI3sg4NL9CEfKg8ofluR9yS932qkizNWMoLZpsNkJ 7nIHBiCTf8K2tGQSN8cp/VBZvfRHxBgzKXrSXTCtBwixcUtlhIRlzeC7xqvTPWJdJxohg7DUZtz/y swqgU1AgkkkiKbBtVYXPYqMr1oa7zY/PqzNs/nRnaHgzW6Mje+ofFEk5BDBxbliwtnHJPaAMvAwRf 9EtPFSgaPIwjHDMRfSUquAjGLA4S3baC0poaRPZsaNa2ZyBJNQeKGHEJ0XvkqwcfUeBJJduxVv6ZC NDrKTgLw==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gincS-0001AF-PV; Sun, 13 Jan 2019 21:48:36 +0000 Received: from mx-out.tlen.pl ([193.222.135.140]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gincO-00018g-7a for openwrt-devel@lists.openwrt.org; Sun, 13 Jan 2019 21:48:34 +0000 Received: (wp-smtpd smtp.tlen.pl 30544 invoked from network); 13 Jan 2019 22:48:29 +0100 Received: from 131.ip-164-132-48.eu (HELO localhost.localdomain) (tomek_n@o2.pl@[164.132.48.131]) (envelope-sender ) by smtp.tlen.pl (WP-SMTPD) with ECDHE-RSA-AES256-GCM-SHA384 encrypted SMTP for ; 13 Jan 2019 22:48:29 +0100 From: Tomasz Maciej Nowak To: openwrt-devel@lists.openwrt.org Date: Sun, 13 Jan 2019 22:49:10 +0100 Message-Id: <20190113214915.14059-2-tomek_n@o2.pl> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190113214915.14059-1-tomek_n@o2.pl> References: <20190113214915.14059-1-tomek_n@o2.pl> MIME-Version: 1.0 X-WP-MailID: ac8386bacfb114ddf96c9459d0588a7d X-WP-AV: skaner antywirusowy Poczty o2 X-WP-SPAM: NO 000000A [MXNE] X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190113_134832_433569_DE9979F2 X-CRM114-Status: UNSURE ( 6.27 ) X-CRM114-Notice: Please train this message. X-Spam-Score: 0.0 (/) X-Spam-Report: SpamAssassin version 3.4.2 on bombadil.infradead.org summary: Content analysis details: (0.0 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (tomek_n[at]o2.pl) Subject: [OpenWrt-Devel] [RFC 1/6] x86/grub2: move grub2 image creation to grub2 package X-BeenThere: openwrt-devel@lists.openwrt.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "openwrt-devel" Errors-To: openwrt-devel-bounces+incoming=patchwork.ozlabs.org@lists.openwrt.org Let the grub2 package take care of creating installable grub2 images, this will allow creating grub2 images without first calling x86 image generation recipe. Also as side effect, since those images are now shared, it'll reduce the number of calling grub-mkimage. Signed-off-by: Tomasz Maciej Nowak --- package/boot/grub2/Makefile | 31 +++++++++++++++++++ .../boot/grub2/files}/grub-early.cfg | 0 target/linux/x86/image/Makefile | 28 +++++------------ 3 files changed, 39 insertions(+), 20 deletions(-) rename {target/linux/x86/image => package/boot/grub2/files}/grub-early.cfg (100%) diff --git a/package/boot/grub2/Makefile b/package/boot/grub2/Makefile index d6af65128e..cefc4ed92e 100644 --- a/package/boot/grub2/Makefile +++ b/package/boot/grub2/Makefile @@ -83,6 +83,37 @@ define Host/Configure $(Host/Configure/Default) endef +define Host/Install + $(call Host/Install/Default) + + $(INSTALL_DIR) $(STAGING_DIR_HOST)/lib/grub/grub2-generic + $(STAGING_DIR_HOST)/bin/grub-mkimage \ + -d $(STAGING_DIR_HOST)/lib/grub/i386-pc \ + -p /boot/grub \ + -O i386-pc \ + -c ./files/grub-early.cfg \ + -o $(STAGING_DIR_HOST)/lib/grub/grub2-generic/core.img \ + at_keyboard biosdisk boot chain configfile ext2 linux ls part_msdos reboot serial vga + + $(INSTALL_DIR) $(STAGING_DIR_HOST)/lib/grub/grub2-iso + $(STAGING_DIR_HOST)/bin/grub-mkimage \ + -d $(STAGING_DIR_HOST)/lib/grub/i386-pc \ + -p /boot/grub \ + -O i386-pc \ + -c ./files/grub-early.cfg \ + -o $(STAGING_DIR_HOST)/lib/grub/grub2-iso/eltorito.img \ + at_keyboard biosdisk boot chain configfile iso9660 linux ls part_msdos reboot serial vga + + $(INSTALL_DIR) $(STAGING_DIR_HOST)/lib/grub/grub2-legacy + $(STAGING_DIR_HOST)/bin/grub-mkimage \ + -d $(STAGING_DIR_HOST)/lib/grub/i386-pc \ + -p /boot/grub \ + -O i386-pc \ + -c ./files/grub-early.cfg \ + -o $(STAGING_DIR_HOST)/lib/grub/grub2-legacy/core.img \ + biosdisk boot chain configfile ext2 linux ls part_msdos reboot serial vga +endef + define Package/grub2-editenv/install $(INSTALL_DIR) $(1)/usr/sbin $(INSTALL_BIN) $(PKG_BUILD_DIR)/grub-editenv $(1)/usr/sbin/ diff --git a/target/linux/x86/image/grub-early.cfg b/package/boot/grub2/files/grub-early.cfg similarity index 100% rename from target/linux/x86/image/grub-early.cfg rename to package/boot/grub2/files/grub-early.cfg diff --git a/target/linux/x86/image/Makefile b/target/linux/x86/image/Makefile index d799a0ba03..91cd2f9a04 100644 --- a/target/linux/x86/image/Makefile +++ b/target/linux/x86/image/Makefile @@ -9,8 +9,7 @@ include $(INCLUDE_DIR)/image.mk export PATH=$(TARGET_PATH):/sbin -GRUB2_MODULES = biosdisk boot chain configfile ext2 linux ls part_msdos reboot serial vga -GRUB2_MODULES_ISO = biosdisk boot chain configfile iso9660 linux ls part_msdos reboot serial vga +GRUB2_VARIANT = GRUB_TERMINALS = GRUB_SERIAL_CONFIG = GRUB_TERMINAL_CONFIG = @@ -19,8 +18,9 @@ GRUB_CONSOLE_CMDLINE = USE_ATKBD = generic 64 ifneq ($(strip $(foreach subtarget,$(USE_ATKBD),$(CONFIG_TARGET_x86_$(subtarget)))),) - GRUB2_MODULES += at_keyboard - GRUB2_MODULES_ISO += at_keyboard + GRUB2_VARIANT := generic +else + GRUB2_VARIANT := legacy endif ifneq ($(CONFIG_GRUB_CONSOLE),) @@ -63,14 +63,9 @@ ifneq ($(CONFIG_GRUB_IMAGES),) # left here because the image builder doesnt need these $(INSTALL_DIR) $(KDIR)/root.grub/boot/grub $(KDIR)/grub2 $(CP) $(KDIR)/bzImage $(KDIR)/root.grub/boot/vmlinuz - grub-mkimage \ - -p /boot/grub \ - -d $(STAGING_DIR_HOST)/lib/grub/i386-pc \ - -o $(KDIR)/grub2/core.img \ - -O i386-pc \ - -c ./grub-early.cfg \ - $(GRUB2_MODULES) - $(CP) $(STAGING_DIR_HOST)/lib/grub/i386-pc/*.img $(KDIR)/grub2/ + $(CP) $(STAGING_DIR_HOST)/lib/grub/i386-pc/*.img \ + $(STAGING_DIR_HOST)/lib/grub/grub2-$(strip $(GRUB2_VARIANT))/core.img \ + $(KDIR)/grub2/ echo '(hd0) $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).img' > $(KDIR)/grub2/device.map sed \ -e 's#@SERIAL_CONFIG@#$(strip $(GRUB_SERIAL_CONFIG))#g' \ @@ -100,16 +95,9 @@ endef define Image/Build/iso $(INSTALL_DIR) $(KDIR)/root.grub/boot/grub $(KDIR)/grub2 $(CP) $(KDIR)/bzImage $(KDIR)/root.grub/boot/vmlinuz - grub-mkimage \ - -p /boot/grub \ - -d $(STAGING_DIR_HOST)/lib/grub/i386-pc \ - -o $(KDIR)/grub2/eltorito.img \ - -O i386-pc \ - -c ./grub-early.cfg \ - $(GRUB2_MODULES_ISO) cat \ $(STAGING_DIR_HOST)/lib/grub/i386-pc/cdboot.img \ - $(KDIR)/grub2/eltorito.img \ + $(STAGING_DIR_HOST)/lib/grub/grub2-iso/eltorito.img \ > $(KDIR)/root.grub/boot/grub/eltorito.img sed \ -e 's#@SERIAL_CONFIG@#$(strip $(GRUB_SERIAL_CONFIG))#g' \ From patchwork Sun Jan 13 21:49:11 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tomasz Maciej Nowak X-Patchwork-Id: 1024168 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=lists.openwrt.org (client-ip=2607:7c80:54:e::133; helo=bombadil.infradead.org; envelope-from=openwrt-devel-bounces+incoming=patchwork.ozlabs.org@lists.openwrt.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=o2.pl Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="AE3wWxtC"; dkim-atps=neutral Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:e::133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43d9HJ4wszz9s9h for ; Mon, 14 Jan 2019 08:49:32 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Subject:MIME-Version:References: In-Reply-To:Message-Id:Date:To:From:Reply-To:Cc:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Owner; bh=lOo5ik3Ya4+kYUn0AvIg1ljHissnbxeAgtr0feefVLo=; b=AE3wWxtCYMHhTYnnfNQ8vfahbZ I3XTSUCC2tx2N+TbmHKAUuRYNsaRyfttW3zcyxP5pDbtCVPr1agtG/dH00+GkE9M5PI2vDyk5reZl /NBkPPchzSDBdnptZUfNJYjaBSBhG2iC9vZYt2Hi7yK2N7kR1z/45cwSZuw0/6a8nDnUGXTH2UgjF ujwPXpaBPME819LS9+c8MdnTHYvgAO3/9lbHdj83Zj00IUp1B6FXOClKhy7ygcHE1+sI6MK4TtOAf rMt26Ihom7hV0v/FhjG8berNSGuTymU29sDT3H2yJwdt5CFRp//G8lkBPrThd4aBtIhNDjgDrafbS QGNcIeiw==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gindI-000269-2U; Sun, 13 Jan 2019 21:49:28 +0000 Received: from mx-out.tlen.pl ([193.222.135.140]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gincO-00018j-7d for openwrt-devel@lists.openwrt.org; Sun, 13 Jan 2019 21:48:37 +0000 Received: (wp-smtpd smtp.tlen.pl 30859 invoked from network); 13 Jan 2019 22:48:29 +0100 Received: from 131.ip-164-132-48.eu (HELO localhost.localdomain) (tomek_n@o2.pl@[164.132.48.131]) (envelope-sender ) by smtp.tlen.pl (WP-SMTPD) with ECDHE-RSA-AES256-GCM-SHA384 encrypted SMTP for ; 13 Jan 2019 22:48:29 +0100 From: Tomasz Maciej Nowak To: openwrt-devel@lists.openwrt.org Date: Sun, 13 Jan 2019 22:49:11 +0100 Message-Id: <20190113214915.14059-3-tomek_n@o2.pl> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190113214915.14059-1-tomek_n@o2.pl> References: <20190113214915.14059-1-tomek_n@o2.pl> MIME-Version: 1.0 X-WP-MailID: 68ec43d568f53b3a4819273ae9c711c3 X-WP-AV: skaner antywirusowy Poczty o2 X-WP-SPAM: NO 000000A [oeOk] X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190113_134832_603580_002E4B1A X-CRM114-Status: GOOD ( 12.70 ) X-Spam-Score: 0.0 (/) X-Spam-Report: SpamAssassin version 3.4.2 on bombadil.infradead.org summary: Content analysis details: (0.0 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (tomek_n[at]o2.pl) Subject: [OpenWrt-Devel] [RFC 2/6] x86: switch image generation to new code X-BeenThere: openwrt-devel@lists.openwrt.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "openwrt-devel" Errors-To: openwrt-devel-bounces+incoming=patchwork.ozlabs.org@lists.openwrt.org This commit introduces few related changes which need to be done in single commit to keep images buildable between git revisions. In result it retains all previous image creation possibilities with slight name change of generated images. Brief summary of the commit: * Split up image generation recipe to smaller chunks to make it more generic and reusable. * Make iso images x86 specific and drop their definition as root filesystem. * Convert image creation process to generic code specified in image.mk. * Make geode subtarget inherit features from the main target instead of redefining them. * For subtargets create device definitions with basic packages set. Signed-off-by: Tomasz Maciej Nowak --- config/Config-images.in | 22 +-- include/image.mk | 1 - target/linux/x86/Makefile | 4 +- target/linux/x86/geode/target.mk | 2 +- target/linux/x86/image/64.mk | 5 + target/linux/x86/image/Makefile | 181 +++++++----------- target/linux/x86/image/generic.mk | 8 + target/linux/x86/image/geode.mk | 16 ++ target/linux/x86/image/grub-iso.cfg | 2 +- .../linux/x86/image/{grub.cfg => grub-pc.cfg} | 4 +- target/linux/x86/image/legacy.mk | 8 + 11 files changed, 124 insertions(+), 129 deletions(-) create mode 100644 target/linux/x86/image/64.mk create mode 100644 target/linux/x86/image/generic.mk create mode 100644 target/linux/x86/image/geode.mk rename target/linux/x86/image/{grub.cfg => grub-pc.cfg} (57%) create mode 100644 target/linux/x86/image/legacy.mk diff --git a/config/Config-images.in b/config/Config-images.in index 3eb8113fb3..8adede41b6 100644 --- a/config/Config-images.in +++ b/config/Config-images.in @@ -119,13 +119,6 @@ menu "Target Images" help Create an ext4 filesystem with a journal. - config TARGET_ROOTFS_ISO - bool "iso" - default n - depends on TARGET_x86_generic - help - Create a bootable ISO image. - config TARGET_ROOTFS_JFFS2 bool "jffs2" depends on USES_JFFS2 @@ -190,7 +183,7 @@ menu "Target Images" config GRUB_IMAGES bool "Build GRUB images (Linux x86 or x86_64 host only)" depends on TARGET_x86 - depends on TARGET_ROOTFS_EXT4FS || TARGET_ROOTFS_ISO || TARGET_ROOTFS_JFFS2 || TARGET_ROOTFS_SQUASHFS + depends on TARGET_ROOTFS_EXT4FS || TARGET_ROOTFS_JFFS2 || TARGET_ROOTFS_SQUASHFS select PACKAGE_grub2 default y @@ -236,6 +229,11 @@ menu "Target Images" This is the title of the GRUB menu entry. If unspecified, it defaults to OpenWrt. + config ISO_IMAGES + bool "Build LiveCD image (ISO)" + depends on TARGET_x86_generic + select GRUB_IMAGES + config VDI_IMAGES bool "Build VirtualBox image files (VDI)" depends on TARGET_x86 @@ -251,12 +249,12 @@ menu "Target Images" select PACKAGE_kmod-e1000 config TARGET_IMAGES_PAD - bool "Pad images to filesystem size (for JFFS2)" + bool "Pad images to filesystem size" depends on GRUB_IMAGES config TARGET_IMAGES_GZIP bool "GZip images" - depends on TARGET_IMAGES_PAD || TARGET_ROOTFS_EXT4FS || TARGET_x86 + depends on TARGET_ROOTFS_EXT4FS default y comment "Image Options" @@ -265,13 +263,13 @@ menu "Target Images" config TARGET_KERNEL_PARTSIZE int "Kernel partition size (in MB)" - depends on GRUB_IMAGES || USES_BOOT_PART + depends on USES_BOOT_PART default 8 if TARGET_apm821xx_sata default 16 config TARGET_ROOTFS_PARTSIZE int "Root filesystem partition size (in MB)" - depends on GRUB_IMAGES || USES_ROOTFS_PART || TARGET_ROOTFS_EXT4FS || TARGET_mvebu || TARGET_rb532 || TARGET_sunxi || TARGET_uml + depends on USES_ROOTFS_PART || TARGET_ROOTFS_EXT4FS || TARGET_mvebu || TARGET_rb532 || TARGET_sunxi || TARGET_uml default 256 help Select the root filesystem partition size. diff --git a/include/image.mk b/include/image.mk index a2b106d909..bbcd231e4e 100644 --- a/include/image.mk +++ b/include/image.mk @@ -90,7 +90,6 @@ fs-types-$(CONFIG_TARGET_ROOTFS_SQUASHFS) += squashfs fs-types-$(CONFIG_TARGET_ROOTFS_JFFS2) += $(addprefix jffs2-,$(JFFS2_BLOCKSIZE)) fs-types-$(CONFIG_TARGET_ROOTFS_JFFS2_NAND) += $(addprefix jffs2-nand-,$(NAND_BLOCKSIZE)) fs-types-$(CONFIG_TARGET_ROOTFS_EXT4FS) += ext4 -fs-types-$(CONFIG_TARGET_ROOTFS_ISO) += iso fs-types-$(CONFIG_TARGET_ROOTFS_UBIFS) += ubifs fs-subtypes-$(CONFIG_TARGET_ROOTFS_JFFS2) += $(addsuffix -raw,$(addprefix jffs2-,$(JFFS2_BLOCKSIZE))) diff --git a/target/linux/x86/Makefile b/target/linux/x86/Makefile index 533c0e5248..2818402594 100644 --- a/target/linux/x86/Makefile +++ b/target/linux/x86/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk ARCH:=i386 BOARD:=x86 BOARDNAME:=x86 -FEATURES:=squashfs ext4 vdi vmdk pcmcia targz fpu +FEATURES:=squashfs ext4 vdi vmdk pcmcia targz fpu boot-part rootfs-part SUBTARGETS:=generic legacy geode 64 MAINTAINER:=Felix Fietkau @@ -23,6 +23,6 @@ DEFAULT_PACKAGES += partx-utils mkf2fs e2fsprogs $(eval $(call BuildTarget)) -$(eval $(call $(if $(CONFIG_TARGET_ROOTFS_ISO),RequireCommand,Ignore),mkisofs, \ +$(eval $(call $(if $(CONFIG_ISO_IMAGES),RequireCommand,Ignore),mkisofs, \ Please install mkisofs. \ )) diff --git a/target/linux/x86/geode/target.mk b/target/linux/x86/geode/target.mk index f1d7b9fe14..5473d2a32b 100644 --- a/target/linux/x86/geode/target.mk +++ b/target/linux/x86/geode/target.mk @@ -1,5 +1,5 @@ BOARDNAME:=AMD Geode based systems -FEATURES:=squashfs ext4 pci usb gpio +FEATURES+=pci usb gpio DEFAULT_PACKAGES += \ kmod-crypto-hw-geode kmod-crypto-cbc \ kmod-ath5k kmod-ath9k \ diff --git a/target/linux/x86/image/64.mk b/target/linux/x86/image/64.mk new file mode 100644 index 0000000000..f9efb67a99 --- /dev/null +++ b/target/linux/x86/image/64.mk @@ -0,0 +1,5 @@ +define Device/generic + DEVICE_TITLE := Generic + GRUB2_VARIANT := generic +endef +TARGET_DEVICES += generic diff --git a/target/linux/x86/image/Makefile b/target/linux/x86/image/Makefile index 91cd2f9a04..939402f54c 100644 --- a/target/linux/x86/image/Makefile +++ b/target/linux/x86/image/Makefile @@ -7,22 +7,11 @@ include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/image.mk -export PATH=$(TARGET_PATH):/sbin - -GRUB2_VARIANT = GRUB_TERMINALS = GRUB_SERIAL_CONFIG = GRUB_TERMINAL_CONFIG = GRUB_CONSOLE_CMDLINE = -USE_ATKBD = generic 64 - -ifneq ($(strip $(foreach subtarget,$(USE_ATKBD),$(CONFIG_TARGET_x86_$(subtarget)))),) - GRUB2_VARIANT := generic -else - GRUB2_VARIANT := legacy -endif - ifneq ($(CONFIG_GRUB_CONSOLE),) GRUB_CONSOLE_CMDLINE += console=tty0 GRUB_TERMINALS += console @@ -47,129 +36,101 @@ ROOTPART:=$(if $(ROOTPART),$(ROOTPART),PARTUUID=$(SIGNATURE)-02) GRUB_TIMEOUT:=$(call qstrip,$(CONFIG_GRUB_TIMEOUT)) GRUB_TITLE:=$(call qstrip,$(CONFIG_GRUB_TITLE)) -ifneq ($(CONFIG_GRUB_IMAGES),) - - BOOTOPTS:=$(call qstrip,$(CONFIG_GRUB_BOOTOPTS)) +BOOTOPTS:=$(call qstrip,$(CONFIG_GRUB_BOOTOPTS)) - define Image/cmdline/ext4 - root=$(ROOTPART) rootfstype=ext4 rootwait - endef - - define Image/cmdline/squashfs - root=$(ROOTPART) rootfstype=squashfs rootwait - endef +define Build/combined + $(CP) $(KDIR)/$(KERNEL_NAME) $@.boot/boot/vmlinuz + -$(CP) $(STAGING_DIR_ROOT)/boot/. $@.boot/boot/ + PADDING="$(CONFIG_TARGET_IMAGES_PAD)" SIGNATURE="$(SIGNATURE)" $(SCRIPT_DIR)/gen_image_generic.sh \ + $@ \ + $(CONFIG_TARGET_KERNEL_PARTSIZE) $@.boot \ + $(CONFIG_TARGET_ROOTFS_PARTSIZE) $(IMAGE_ROOTFS) \ + 256 +endef - define Image/Build/grub2 - # left here because the image builder doesnt need these - $(INSTALL_DIR) $(KDIR)/root.grub/boot/grub $(KDIR)/grub2 - $(CP) $(KDIR)/bzImage $(KDIR)/root.grub/boot/vmlinuz - $(CP) $(STAGING_DIR_HOST)/lib/grub/i386-pc/*.img \ - $(STAGING_DIR_HOST)/lib/grub/grub2-$(strip $(GRUB2_VARIANT))/core.img \ - $(KDIR)/grub2/ - echo '(hd0) $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).img' > $(KDIR)/grub2/device.map +define Build/grub-config + rm -fR $@.boot + $(INSTALL_DIR) $@.boot/boot/grub sed \ -e 's#@SERIAL_CONFIG@#$(strip $(GRUB_SERIAL_CONFIG))#g' \ -e 's#@TERMINAL_CONFIG@#$(strip $(GRUB_TERMINAL_CONFIG))#g' \ - -e 's#@CMDLINE@#$(strip $(call Image/cmdline/$(1)) $(BOOTOPTS) $(GRUB_CONSOLE_CMDLINE))#g' \ + -e 's#@ROOTPART@#root=$(ROOTPART) rootwait#g' \ + -e 's#@CMDLINE@#$(BOOTOPTS) $(GRUB_CONSOLE_CMDLINE)#g' \ -e 's#@TIMEOUT@#$(GRUB_TIMEOUT)#g' \ -e 's#@TITLE@#$(GRUB_TITLE)#g' \ - ./grub.cfg > $(KDIR)/root.grub/boot/grub/grub.cfg - -$(CP) $(STAGING_DIR_ROOT)/boot/. $(KDIR)/root.grub/boot/ - PADDING="$(CONFIG_TARGET_IMAGES_PAD)" SIGNATURE="$(SIGNATURE)" PATH="$(TARGET_PATH)" $(SCRIPT_DIR)/gen_image_generic.sh \ - $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).img \ - $(CONFIG_TARGET_KERNEL_PARTSIZE) $(KDIR)/root.grub \ - $(CONFIG_TARGET_ROOTFS_PARTSIZE) $(KDIR)/root.$(1) \ - 256 - grub-bios-setup \ - --device-map="$(KDIR)/grub2/device.map" \ - -d "$(KDIR)/grub2" \ - -r "hd0,msdos1" \ - "$(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).img" - endef -endif + ./grub-$(1).cfg > $@.boot/boot/grub/grub.cfg +endef -define Image/Build/squashfs - dd if=/dev/zero bs=128k count=1 >> $(KDIR)/root.squashfs +define Build/grub-install + rm -fR $@.grub2 + $(INSTALL_DIR) $@.grub2 + $(CP) $(STAGING_DIR_HOST)/lib/grub/i386-pc/*.img \ + $(STAGING_DIR_HOST)/lib/grub/grub2-$(GRUB2_VARIANT)/core.img \ + $@.grub2/ + echo '(hd0) $@' > $@.grub2/device.map + $(STAGING_DIR_HOST)/bin/grub-bios-setup \ + -m "$@.grub2/device.map" \ + -d "$@.grub2" \ + -r "hd0,msdos1" \ + $@ endef -define Image/Build/iso - $(INSTALL_DIR) $(KDIR)/root.grub/boot/grub $(KDIR)/grub2 - $(CP) $(KDIR)/bzImage $(KDIR)/root.grub/boot/vmlinuz +define Build/iso + $(CP) $(KDIR)/$(KERNEL_NAME) $@.boot/boot/vmlinuz cat \ $(STAGING_DIR_HOST)/lib/grub/i386-pc/cdboot.img \ $(STAGING_DIR_HOST)/lib/grub/grub2-iso/eltorito.img \ - > $(KDIR)/root.grub/boot/grub/eltorito.img - sed \ - -e 's#@SERIAL_CONFIG@#$(strip $(GRUB_SERIAL_CONFIG))#g' \ - -e 's#@TERMINAL_CONFIG@#$(strip $(GRUB_TERMINAL_CONFIG))#g' \ - -e 's#@CMDLINE@#root=/dev/sr0 rootfstype=iso9660 rootwait $(strip $(call Image/cmdline/$(1)) $(BOOTOPTS) $(GRUB_CONSOLE_CMDLINE))#g' \ - -e 's#@TIMEOUT@#$(GRUB_TIMEOUT)#g' \ - -e 's#@TITLE@#$(GRUB_TITLE)#g' \ - ./grub-iso.cfg > $(KDIR)/root.grub/boot/grub/grub.cfg - -$(CP) $(STAGING_DIR_ROOT)/boot/. $(KDIR)/root.grub/boot/ + > $@.boot/boot/grub/eltorito.img + -$(CP) $(STAGING_DIR_ROOT)/boot/. $@.boot/boot/ mkisofs -R -b boot/grub/eltorito.img -no-emul-boot -boot-info-table \ - -o $(KDIR)/root.iso $(KDIR)/root.grub $(TARGET_DIR) + -o $@ $@.boot $(TARGET_DIR) endef -ifneq ($(CONFIG_VDI_IMAGES),) - define Image/Build/vdi - rm $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).vdi || true - qemu-img convert -f raw -O vdi \ - $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).img \ - $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).vdi - endef -endif +define Build/vdi + qemu-img convert -f raw -O vdi $@ $@.new + @mv $@.new $@ +endef -ifneq ($(CONFIG_VMDK_IMAGES),) - define Image/Build/vmdk - rm $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).vmdk || true - qemu-img convert -f raw -O vmdk \ - $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).img \ - $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).vmdk - endef -endif +define Build/vmdk + qemu-img convert -f raw -O vmdk $@ $@.new + @mv $@.new $@ +endef -define Image/Build/gzip - gzip -f9n $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).img - gzip -f9n $(BIN_DIR)/$(IMG_PREFIX)-rootfs-$(1).img +DEVICE_VARS += GRUB2_VARIANT +define Device/Default + ARTIFACT/image.iso := grub-config iso | iso + IMAGES := combined.img.gz + IMAGE/combined.img.gz := append-rootfs | pad-extra 128k | grub-config pc | combined | grub-install | gzip + IMAGE/combined.vdi := append-rootfs | pad-extra 128k | grub-config pc | combined | grub-install | vdi + IMAGE/combined.vmdk := append-rootfs | pad-extra 128k | grub-config pc | combined | grub-install | vmdk + KERNEL := kernel-bin + KERNEL_INSTALL := 1 + KERNEL_NAME := bzImage + ifeq ($(CONFIG_ISO_IMAGES),y) + ARTIFACTS := image.iso + endif + ifeq ($(CONFIG_VDI_IMAGES),y) + IMAGES += combined.vdi + endif + ifeq ($(CONFIG_VMDK_IMAGES),y) + IMAGES += combined.vmdk + endif endef -ifneq ($(CONFIG_TARGET_IMAGES_GZIP),) - define Image/Build/gzip/ext4 - $(call Image/Build/gzip,ext4) - endef - define Image/Build/gzip/squashfs - $(call Image/Build/gzip,squashfs) - endef +ifeq ($(SUBTARGET),64) + include 64.mk endif -define Image/BuildKernel - $(CP) $(KDIR)/bzImage $(BIN_DIR)/$(IMG_PREFIX)-vmlinuz -endef - -define Image/Prepare - $(call Image/Prepare/grub2) -endef +ifeq ($(SUBTARGET),geode) + include geode.mk +endif -define Image/Build/Initramfs - $(CP) $(KDIR)/bzImage-initramfs $(BIN_DIR)/$(IMG_PREFIX)-ramfs.bzImage -endef +ifeq ($(SUBTARGET),generic) + include generic.mk +endif -define Image/Build - $(call Image/Build/$(1)) - ifneq ($(1),iso) - $(call Image/Build/grub2,$(1)) - $(call Image/Build/vdi,$(1)) - $(call Image/Build/vmdk,$(1)) - $(CP) $(KDIR)/root.$(1) $(BIN_DIR)/$(IMG_PREFIX)-rootfs-$(1).img - else - $(CP) $(KDIR)/root.iso $(BIN_DIR)/$(IMG_PREFIX).iso - endif - $(CP) $(KDIR)/bzImage $(BIN_DIR)/$(IMG_PREFIX)-vmlinuz - $(call Image/Build/gzip/$(1)) -ifeq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),y) - $(call Image/Build/Initramfs) +ifeq ($(SUBTARGET),legacy) + include legacy.mk endif -endef $(eval $(call BuildImage)) diff --git a/target/linux/x86/image/generic.mk b/target/linux/x86/image/generic.mk new file mode 100644 index 0000000000..ade6236395 --- /dev/null +++ b/target/linux/x86/image/generic.mk @@ -0,0 +1,8 @@ +define Device/generic + DEVICE_TITLE := Generic + DEVICE_PACKAGES += kmod-3c59x kmod-8139too kmod-e100 kmod-e1000 kmod-natsemi \ + kmod-ne2k-pci kmod-pcnet32 kmod-r8169 kmod-sis900 kmod-tg3 \ + kmod-via-rhine kmod-via-velocity + GRUB2_VARIANT := generic +endef +TARGET_DEVICES += generic diff --git a/target/linux/x86/image/geode.mk b/target/linux/x86/image/geode.mk new file mode 100644 index 0000000000..130b74d0ed --- /dev/null +++ b/target/linux/x86/image/geode.mk @@ -0,0 +1,16 @@ +define Device/generic + DEVICE_TITLE := Generic + DEVICE_PACKAGES += kmod-crypto-cbc kmod-crypto-hw-geode kmod-ledtrig-gpio \ + kmod-ledtrig-heartbeat kmod-ledtrig-netdev kmod-via-rhine + GRUB2_VARIANT := legacy +endef +TARGET_DEVICES += generic + +define Device/geos + $(call Device/generic) + DEVICE_TITLE := Traverse Technologies Geos + DEVICE_PACKAGES += br2684ctl flashrom kmod-8139cp kmod-hwmon-lm90 kmod-mppe \ + kmod-pppoa kmod-usb-ohci-pci linux-atm ppp-mod-pppoa pppdump pppstats \ + soloscli tc +endef +TARGET_DEVICES += geos diff --git a/target/linux/x86/image/grub-iso.cfg b/target/linux/x86/image/grub-iso.cfg index 9c59bdf6d4..f5848b3853 100644 --- a/target/linux/x86/image/grub-iso.cfg +++ b/target/linux/x86/image/grub-iso.cfg @@ -6,5 +6,5 @@ set timeout="@TIMEOUT@" set root='(cd)' menuentry "@TITLE@" { - linux /boot/vmlinuz @CMDLINE@ noinitrd + linux /boot/vmlinuz root=/dev/sr0 rootfstype=iso9660 rootwait @CMDLINE@ noinitrd } diff --git a/target/linux/x86/image/grub.cfg b/target/linux/x86/image/grub-pc.cfg similarity index 57% rename from target/linux/x86/image/grub.cfg rename to target/linux/x86/image/grub-pc.cfg index 76a9885544..75605bcabf 100644 --- a/target/linux/x86/image/grub.cfg +++ b/target/linux/x86/image/grub-pc.cfg @@ -6,8 +6,8 @@ set timeout="@TIMEOUT@" set root='(hd0,msdos1)' menuentry "@TITLE@" { - linux /boot/vmlinuz @CMDLINE@ noinitrd + linux /boot/vmlinuz @ROOTPART@ @CMDLINE@ noinitrd } menuentry "@TITLE@ (failsafe)" { - linux /boot/vmlinuz failsafe=true @CMDLINE@ noinitrd + linux /boot/vmlinuz failsafe=true @ROOTPART@ @CMDLINE@ noinitrd } diff --git a/target/linux/x86/image/legacy.mk b/target/linux/x86/image/legacy.mk new file mode 100644 index 0000000000..f97908f792 --- /dev/null +++ b/target/linux/x86/image/legacy.mk @@ -0,0 +1,8 @@ +define Device/generic + DEVICE_TITLE := Generic + DEVICE_PACKAGES += kmod-3c59x kmod-8139too kmod-e100 kmod-e1000 \ + kmod-natsemi kmod-ne2k-pci kmod-pcnet32 kmod-r8169 kmod-sis900 \ + kmod-tg3 kmod-via-rhine kmod-via-velocity + GRUB2_VARIANT := legacy +endef +TARGET_DEVICES += generic From patchwork Sun Jan 13 21:49:12 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tomasz Maciej Nowak X-Patchwork-Id: 1024167 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=lists.openwrt.org (client-ip=2607:7c80:54:e::133; helo=bombadil.infradead.org; envelope-from=openwrt-devel-bounces+incoming=patchwork.ozlabs.org@lists.openwrt.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=o2.pl Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="G8LJ1PLT"; dkim-atps=neutral Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:e::133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43d9HB2NPXz9s9h for ; Mon, 14 Jan 2019 08:49:26 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Subject:MIME-Version:References: In-Reply-To:Message-Id:Date:To:From:Reply-To:Cc:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Owner; bh=sNygJfRB3gsIpeJ5VB4QPt0hybTcq/LVelqdrrGH+ng=; b=G8LJ1PLTic+nM/TaTkuOzAUAn9 m/75/UWqiT/U0sF2mj5RGBWwK9Sxbyal+Vo0sTmBBtaXpIPU1nnM4psnJbJIc039e3fUP63oVHfR5 8RBIkpNFxaPiZOsh0kO6Xepp0D3GsBt8Iq5uR3MviKB1bdb7mGlDFdUDan6CjudT/uNKKW6NnCMtE Aqg8JImJZrWriD65fA1lD9HIJJlU+30a6XCeD/DYxdhlxkzz6m2549FwfFXg8Ga2LLOQHw2T2UMy7 w08fUeGPuqo1wBTc8wYkRVkyiOYbgQhza+bSUIhTjGnqINFALs1pS83x0SzAt0y0HhJpD1kpGOcBz fn8D3TqQ==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gind5-0001rH-He; Sun, 13 Jan 2019 21:49:15 +0000 Received: from mx-out.tlen.pl ([193.222.135.140]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gincP-00018l-ES for openwrt-devel@lists.openwrt.org; Sun, 13 Jan 2019 21:48:37 +0000 Received: (wp-smtpd smtp.tlen.pl 31309 invoked from network); 13 Jan 2019 22:48:30 +0100 Received: from 131.ip-164-132-48.eu (HELO localhost.localdomain) (tomek_n@o2.pl@[164.132.48.131]) (envelope-sender ) by smtp.tlen.pl (WP-SMTPD) with ECDHE-RSA-AES256-GCM-SHA384 encrypted SMTP for ; 13 Jan 2019 22:48:30 +0100 From: Tomasz Maciej Nowak To: openwrt-devel@lists.openwrt.org Date: Sun, 13 Jan 2019 22:49:12 +0100 Message-Id: <20190113214915.14059-4-tomek_n@o2.pl> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190113214915.14059-1-tomek_n@o2.pl> References: <20190113214915.14059-1-tomek_n@o2.pl> MIME-Version: 1.0 X-WP-MailID: 42d14b2d7434ee8d5da94b5747abf398 X-WP-AV: skaner antywirusowy Poczty o2 X-WP-SPAM: NO 000000A [gSPE] X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190113_134833_640213_A568E1D8 X-CRM114-Status: UNSURE ( 5.62 ) X-CRM114-Notice: Please train this message. X-Spam-Score: 0.0 (/) X-Spam-Report: SpamAssassin version 3.4.2 on bombadil.infradead.org summary: Content analysis details: (0.0 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (tomek_n[at]o2.pl) Subject: [OpenWrt-Devel] [RFC 3/6] x86: remove obsolete profiles X-BeenThere: openwrt-devel@lists.openwrt.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "openwrt-devel" Errors-To: openwrt-devel-bounces+incoming=patchwork.ozlabs.org@lists.openwrt.org Rely on device profiles instead for packages selection. Signed-off-by: Tomasz Maciej Nowak --- target/linux/x86/64/profiles/000-Generic.mk | 15 -------------- .../linux/x86/generic/profiles/000-Generic.mk | 18 ----------------- .../linux/x86/geode/profiles/000-Generic.mk | 20 ------------------- target/linux/x86/geode/profiles/100-Geos.mk | 19 ------------------ .../linux/x86/legacy/profiles/000-Generic.mk | 18 ----------------- 5 files changed, 90 deletions(-) delete mode 100644 target/linux/x86/64/profiles/000-Generic.mk delete mode 100644 target/linux/x86/generic/profiles/000-Generic.mk delete mode 100644 target/linux/x86/geode/profiles/000-Generic.mk delete mode 100644 target/linux/x86/geode/profiles/100-Geos.mk delete mode 100644 target/linux/x86/legacy/profiles/000-Generic.mk diff --git a/target/linux/x86/64/profiles/000-Generic.mk b/target/linux/x86/64/profiles/000-Generic.mk deleted file mode 100644 index ccd125afa2..0000000000 --- a/target/linux/x86/64/profiles/000-Generic.mk +++ /dev/null @@ -1,15 +0,0 @@ -# -# Copyright (C) 2006-2015 OpenWrt.org -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# - -define Profile/Generic - NAME:=Generic -endef - -define Profile/Generic/Description - Generic Profile -endef -$(eval $(call Profile,Generic)) diff --git a/target/linux/x86/generic/profiles/000-Generic.mk b/target/linux/x86/generic/profiles/000-Generic.mk deleted file mode 100644 index 90f989a91d..0000000000 --- a/target/linux/x86/generic/profiles/000-Generic.mk +++ /dev/null @@ -1,18 +0,0 @@ -# -# Copyright (C) 2006-2009 OpenWrt.org -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# - -define Profile/Generic - NAME:=Generic - PACKAGES:=kmod-3c59x kmod-e100 kmod-e1000 kmod-natsemi kmod-ne2k-pci \ - kmod-pcnet32 kmod-8139too kmod-r8169 kmod-sis900 kmod-tg3 \ - kmod-via-rhine kmod-via-velocity -endef - -define Profile/Generic/Description - Generic Profile -endef -$(eval $(call Profile,Generic)) diff --git a/target/linux/x86/geode/profiles/000-Generic.mk b/target/linux/x86/geode/profiles/000-Generic.mk deleted file mode 100644 index 58dc3c641c..0000000000 --- a/target/linux/x86/geode/profiles/000-Generic.mk +++ /dev/null @@ -1,20 +0,0 @@ -# -# Copyright (C) 2006-2009 OpenWrt.org -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# - -define Profile/Generic - NAME:=Generic - PACKAGES:= \ - soloscli linux-atm br2684ctl ppp-mod-pppoa pppdump pppstats \ - hwclock flashrom tc kmod-pppoa kmod-8139cp kmod-mppe \ - kmod-usb-ohci-pci kmod-hwmon-lm90 \ - kmod-via-rhine -endef - -define Profile/Generic/Description - Generic Profile for all Geode boards. -endef -$(eval $(call Profile,Generic)) diff --git a/target/linux/x86/geode/profiles/100-Geos.mk b/target/linux/x86/geode/profiles/100-Geos.mk deleted file mode 100644 index 94e501edf4..0000000000 --- a/target/linux/x86/geode/profiles/100-Geos.mk +++ /dev/null @@ -1,19 +0,0 @@ -# -# Copyright (C) 2006-2009 OpenWrt.org -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# - -define Profile/Geos - NAME:=Geos - PACKAGES:= \ - soloscli linux-atm br2684ctl ppp-mod-pppoa pppdump pppstats \ - hwclock flashrom tc kmod-pppoa kmod-8139cp kmod-mppe \ - kmod-usb-ohci-pci kmod-hwmon-lm90 -endef - -define Profile/Geos/Description - Traverse Technologies Geos ADSL router -endef -$(eval $(call Profile,Geos)) diff --git a/target/linux/x86/legacy/profiles/000-Generic.mk b/target/linux/x86/legacy/profiles/000-Generic.mk deleted file mode 100644 index 90f989a91d..0000000000 --- a/target/linux/x86/legacy/profiles/000-Generic.mk +++ /dev/null @@ -1,18 +0,0 @@ -# -# Copyright (C) 2006-2009 OpenWrt.org -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# - -define Profile/Generic - NAME:=Generic - PACKAGES:=kmod-3c59x kmod-e100 kmod-e1000 kmod-natsemi kmod-ne2k-pci \ - kmod-pcnet32 kmod-8139too kmod-r8169 kmod-sis900 kmod-tg3 \ - kmod-via-rhine kmod-via-velocity -endef - -define Profile/Generic/Description - Generic Profile -endef -$(eval $(call Profile,Generic)) From patchwork Sun Jan 13 21:49:13 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tomasz Maciej Nowak X-Patchwork-Id: 1024166 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=lists.openwrt.org (client-ip=2607:7c80:54:e::133; helo=bombadil.infradead.org; envelope-from=openwrt-devel-bounces+incoming=patchwork.ozlabs.org@lists.openwrt.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=o2.pl Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="V89zVVA4"; dkim-atps=neutral Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:e::133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43d9Gp6t7pz9s9h for ; Mon, 14 Jan 2019 08:49:06 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Subject:MIME-Version:References: In-Reply-To:Message-Id:Date:To:From:Reply-To:Cc:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Owner; bh=DulYwAYFtvho32VTMqDeMI0ATEdRRpO/YRkrSY/xyAs=; b=V89zVVA4ps0laauhGkOqhrHxb9 Ep3Ueyin+gO+saGHVhwGwrjFiBU3iHODUINcJw6wkvZPu9KWlSPHTlV9ZAa6AvdKNkOy/iuSUiPPp uDsrh4I1Euqr4wOa2Dtp+M/WVgH3zYh3ximZ4IQ9p7T6sLCRDif+b/VicLEPKyLM78WlQ6q/xh+IH 8ZWdIbu/5UAKPVXvJkmMys74a/f2hBTtem7WdbNOl4dARBhJR5a7xPhUojzp3uyg7ZglgIMshem7/ pHjuMjPZnuktpkdAziffREPtf6JYln65sQ7z6SiAY19CKTI59CDkQmntdF04SKqpNqtMJ5dEPYv36 7b4qDCqQ==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gincs-0001cL-Oo; Sun, 13 Jan 2019 21:49:02 +0000 Received: from mx-out.tlen.pl ([193.222.135.140]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gincQ-00019L-3h for openwrt-devel@lists.openwrt.org; Sun, 13 Jan 2019 21:48:37 +0000 Received: (wp-smtpd smtp.tlen.pl 32127 invoked from network); 13 Jan 2019 22:48:32 +0100 Received: from 131.ip-164-132-48.eu (HELO localhost.localdomain) (tomek_n@o2.pl@[164.132.48.131]) (envelope-sender ) by smtp.tlen.pl (WP-SMTPD) with ECDHE-RSA-AES256-GCM-SHA384 encrypted SMTP for ; 13 Jan 2019 22:48:32 +0100 From: Tomasz Maciej Nowak To: openwrt-devel@lists.openwrt.org Date: Sun, 13 Jan 2019 22:49:13 +0100 Message-Id: <20190113214915.14059-5-tomek_n@o2.pl> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190113214915.14059-1-tomek_n@o2.pl> References: <20190113214915.14059-1-tomek_n@o2.pl> MIME-Version: 1.0 X-WP-MailID: 1faa21e588d97659c897cc35c192ad9b X-WP-AV: skaner antywirusowy Poczty o2 X-WP-SPAM: NO 000000A [UfMU] X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190113_134834_304926_2D186499 X-CRM114-Status: UNSURE ( 5.63 ) X-CRM114-Notice: Please train this message. X-Spam-Score: 0.0 (/) X-Spam-Report: SpamAssassin version 3.4.2 on bombadil.infradead.org summary: Content analysis details: (0.0 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (tomek_n[at]o2.pl) Subject: [OpenWrt-Devel] [RFC 4/6] x86: geode: shrink amount of default packages X-BeenThere: openwrt-devel@lists.openwrt.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "openwrt-devel" Errors-To: openwrt-devel-bounces+incoming=patchwork.ozlabs.org@lists.openwrt.org Drop excesive amount of default packages, instead, rely on packages specified in device definitions. Signed-off-by: Tomasz Maciej Nowak --- target/linux/x86/geode/target.mk | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/target/linux/x86/geode/target.mk b/target/linux/x86/geode/target.mk index 5473d2a32b..cd7afef944 100644 --- a/target/linux/x86/geode/target.mk +++ b/target/linux/x86/geode/target.mk @@ -1,16 +1,6 @@ BOARDNAME:=AMD Geode based systems FEATURES+=pci usb gpio -DEFAULT_PACKAGES += \ - kmod-crypto-hw-geode kmod-crypto-cbc \ - kmod-ath5k kmod-ath9k \ - kmod-button-hotplug \ - kmod-ledtrig-heartbeat kmod-ledtrig-gpio \ - kmod-ledtrig-netdev hwclock wpad-basic -# Geos -DEFAULT_PACKAGES += \ - soloscli linux-atm br2684ctl ppp-mod-pppoa pppdump pppstats \ - hwclock flashrom tc kmod-pppoa kmod-8139cp kmod-mppe \ - kmod-usb-ohci-pci kmod-hwmon-lm90 +DEFAULT_PACKAGES+=kmod-button-hotplug define Target/Description Build firmware images for AMD Geode GX/LX based systems (net5501, alix, geos) From patchwork Sun Jan 13 21:49:14 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tomasz Maciej Nowak X-Patchwork-Id: 1024169 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=lists.openwrt.org (client-ip=2607:7c80:54:e::133; helo=bombadil.infradead.org; envelope-from=openwrt-devel-bounces+incoming=patchwork.ozlabs.org@lists.openwrt.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=o2.pl Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="Y5l8zpr2"; dkim-atps=neutral Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:e::133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43d9Hf0Rvvz9s9h for ; Mon, 14 Jan 2019 08:49:50 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Subject:MIME-Version:References: In-Reply-To:Message-Id:Date:To:From:Reply-To:Cc:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Owner; bh=ZDoKd/aAz9S3r9gAdAv70HrsnfFCF6scXhx3xVmA1PQ=; b=Y5l8zpr29BWcDFcif4bJOT9+Y2 uRHtoqKZdHEviQ+bbEN3DmZgBeOy88YSe3TWk4qyMesv4BOD6BJJW9m0pbaUpMm/KSdBH+6u5FNfV bZ7cJF8MA/GJLiljqSJZF2EdmsJZtpQthCE/CWqd1DZT6UQ+RhCQAHJmnWXY/3iKyrxTtTrWqGJ7Z FjJKduTTYNdwNlXUqlhJBFKC1LNHQEjNE6F8mn1pugV02ttu7uOqRuLZokDfsvqkss9qDfQIVwnZ6 t0u2WaXHTmb5z/alRYQQxfgC9dKrbbwUqzPVwNqrLz3d92F+nZ2ZPzr3YsC6aE0NZ4RgKbU1R2vOG Kqd2fH/Q==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gindU-0002LP-4s; Sun, 13 Jan 2019 21:49:40 +0000 Received: from mx-out.tlen.pl ([193.222.135.140]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gincQ-00019O-Td for openwrt-devel@lists.openwrt.org; Sun, 13 Jan 2019 21:48:38 +0000 Received: (wp-smtpd smtp.tlen.pl 32404 invoked from network); 13 Jan 2019 22:48:32 +0100 Received: from 131.ip-164-132-48.eu (HELO localhost.localdomain) (tomek_n@o2.pl@[164.132.48.131]) (envelope-sender ) by smtp.tlen.pl (WP-SMTPD) with ECDHE-RSA-AES256-GCM-SHA384 encrypted SMTP for ; 13 Jan 2019 22:48:32 +0100 From: Tomasz Maciej Nowak To: openwrt-devel@lists.openwrt.org Date: Sun, 13 Jan 2019 22:49:14 +0100 Message-Id: <20190113214915.14059-6-tomek_n@o2.pl> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190113214915.14059-1-tomek_n@o2.pl> References: <20190113214915.14059-1-tomek_n@o2.pl> MIME-Version: 1.0 X-WP-MailID: 90afb469e5e473ad29f266dfaea38a5b X-WP-AV: skaner antywirusowy Poczty o2 X-WP-SPAM: NO 0000000 [QVOF] X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190113_134835_257175_8FE246C1 X-CRM114-Status: UNSURE ( 9.69 ) X-CRM114-Notice: Please train this message. X-Spam-Score: 0.0 (/) X-Spam-Report: SpamAssassin version 3.4.2 on bombadil.infradead.org summary: Content analysis details: (0.0 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (tomek_n[at]o2.pl) Subject: [OpenWrt-Devel] [RFC 5/6] x86/grub2: add bootloader upgrade on sysupgrade X-BeenThere: openwrt-devel@lists.openwrt.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "openwrt-devel" Errors-To: openwrt-devel-bounces+incoming=patchwork.ozlabs.org@lists.openwrt.org Enable bootloader upgrade on sysupgrade for all x86 subtargets to keep it up to date. To achieve this grub2 user installable packages are created, with appropriate variant added to subtarget default packages. The bootloader upgrade is performed on each sysupgrade process. Signed-off-by: Tomasz Maciej Nowak --- package/boot/grub2/Makefile | 42 ++++++++++++++++++- target/linux/x86/64/target.mk | 2 +- .../x86/base-files/lib/upgrade/platform.sh | 27 +++++++++++- target/linux/x86/generic/target.mk | 2 +- target/linux/x86/geode/target.mk | 2 +- target/linux/x86/legacy/target.mk | 1 + 6 files changed, 71 insertions(+), 5 deletions(-) diff --git a/package/boot/grub2/Makefile b/package/boot/grub2/Makefile index cefc4ed92e..4445a30ea8 100644 --- a/package/boot/grub2/Makefile +++ b/package/boot/grub2/Makefile @@ -31,7 +31,7 @@ include $(INCLUDE_DIR)/package.mk define Package/grub2 CATEGORY:=Boot Loaders SECTION:=boot - TITLE:=GRand Unified Bootloader + TITLE:=GRand Unified Bootloader $(1) URL:=http://www.gnu.org/software/grub/ DEPENDS:=@TARGET_x86 endef @@ -49,6 +49,20 @@ define Package/grub2-editenv/description Edit grub2 environment files. endef +define Package/grub2-generic + $(call Package/grub2,for 64 and generic subtargets) + DEPENDS:=@TARGET_x86_64||TARGET_x86_generic + PROVIDES+=grub2 + HIDDEN:=y +endef + +define Package/grub2-legacy + $(call Package/grub2,for geode and legacy subtargets) + DEPENDS:=@TARGET_x86_geode||TARGET_x86_legacy + PROVIDES+=grub2 + HIDDEN:=y +endef + HOST_BUILD_PREFIX := $(STAGING_DIR_HOST) CONFIGURE_VARS += \ @@ -119,6 +133,32 @@ define Package/grub2-editenv/install $(INSTALL_BIN) $(PKG_BUILD_DIR)/grub-editenv $(1)/usr/sbin/ endef +define Package/grub2-generic/install + $(INSTALL_DIR) $(1)/usr/sbin + $(INSTALL_BIN) $(PKG_BUILD_DIR)/grub-bios-setup $(1)/usr/sbin/ + + $(INSTALL_DIR) $(1)/usr/lib/grub/grub2 + $(CP) $(STAGING_DIR_HOST)/lib/grub/grub2-generic/core.img \ + $(STAGING_DIR_HOST)/lib/grub/i386-pc/*.img \ + $(1)/usr/lib/grub/grub2/ + printf 'BL=$(PKG_NAME)\nBL_VARIANT=generic\nBL_VERSION=$(PKG_VERSION)\nBL_RELEASE=$(PKG_RELEASE)\n' \ + > $(1)/usr/lib/grub/grub2/bl-release +endef + +define Package/grub2-legacy/install + $(INSTALL_DIR) $(1)/usr/sbin + $(INSTALL_BIN) $(PKG_BUILD_DIR)/grub-bios-setup $(1)/usr/sbin/ + + $(INSTALL_DIR) $(1)/usr/lib/grub/grub2 + $(CP) $(STAGING_DIR_HOST)/lib/grub/grub2-legacy/core.img \ + $(STAGING_DIR_HOST)/lib/grub/i386-pc/*.img \ + $(1)/usr/lib/grub/grub2/ + printf 'BL=$(PKG_NAME)\nBL_VARIANT=legacy\nBL_VERSION=$(PKG_VERSION)\nBL_RELEASE=$(PKG_RELEASE)\n' \ + > $(1)/usr/lib/grub/grub2/bl-release +endef + $(eval $(call HostBuild)) $(eval $(call BuildPackage,grub2)) $(eval $(call BuildPackage,grub2-editenv)) +$(eval $(call BuildPackage,grub2-generic)) +$(eval $(call BuildPackage,grub2-legacy)) diff --git a/target/linux/x86/64/target.mk b/target/linux/x86/64/target.mk index 5dd0015a03..4035dda289 100644 --- a/target/linux/x86/64/target.mk +++ b/target/linux/x86/64/target.mk @@ -1,6 +1,6 @@ ARCH:=x86_64 BOARDNAME:=x86_64 -DEFAULT_PACKAGES += kmod-button-hotplug kmod-e1000e kmod-e1000 kmod-r8169 kmod-igb kmod-bnx2 +DEFAULT_PACKAGES += grub2-generic kmod-button-hotplug kmod-e1000e kmod-e1000 kmod-r8169 kmod-igb kmod-bnx2 define Target/Description Build images for 64 bit systems including virtualized guests. diff --git a/target/linux/x86/base-files/lib/upgrade/platform.sh b/target/linux/x86/base-files/lib/upgrade/platform.sh index 439ba8f512..0a2a9592c2 100644 --- a/target/linux/x86/base-files/lib/upgrade/platform.sh +++ b/target/linux/x86/base-files/lib/upgrade/platform.sh @@ -45,7 +45,7 @@ platform_copy_config() { } platform_do_upgrade() { - local diskdev partdev diff + local diskdev partdev diff bootdev rootdev export_bootdevice && export_partdevice diskdev 0 || { echo "Unable to determine upgrade device" @@ -92,4 +92,29 @@ platform_do_upgrade() { #copy partition uuid echo "Writing new UUID to /dev/$diskdev..." get_image "$@" | dd of="/dev/$diskdev" bs=1 skip=440 count=4 seek=440 conv=fsync + + #upgrade bootloader + if export_partdevice bootdev 1; then + mkdir -p /tmp/boot + mount -o rw,noatime "/dev/$bootdev" /tmp/boot + + if export_partdevice rootdev 2; then + mount -o noatime "/dev/$rootdev" /mnt + + echo "(hd0) /dev/$diskdev" > /tmp/device.map + + echo "Upgrading bootloader on /dev/$diskdev..." + type /mnt/usr/sbin/grub-bios-setup >/dev/null 2>/dev/null \ + && /mnt/usr/sbin/grub-bios-setup \ + -m "/tmp/device.map" \ + -d "/mnt/usr/lib/grub/grub2" \ + -r "hd0,msdos1" \ + "/dev/$diskdev" \ + && cp -f /mnt/usr/lib/grub/grub2/bl-release /tmp/boot/boot/ + + umount /mnt + fi + + umount /tmp/boot + fi } diff --git a/target/linux/x86/generic/target.mk b/target/linux/x86/generic/target.mk index 90586f56d6..0a6f332dd0 100644 --- a/target/linux/x86/generic/target.mk +++ b/target/linux/x86/generic/target.mk @@ -1,7 +1,7 @@ BOARDNAME:=Generic CPU_TYPE :=pentium4 FEATURES += audio pci pcie usb -DEFAULT_PACKAGES += kmod-button-hotplug +DEFAULT_PACKAGES += grub2-generic kmod-button-hotplug define Target/Description Build firmware images for modern x86 based boards with CPUs diff --git a/target/linux/x86/geode/target.mk b/target/linux/x86/geode/target.mk index cd7afef944..d3e9d8111e 100644 --- a/target/linux/x86/geode/target.mk +++ b/target/linux/x86/geode/target.mk @@ -1,6 +1,6 @@ BOARDNAME:=AMD Geode based systems FEATURES+=pci usb gpio -DEFAULT_PACKAGES+=kmod-button-hotplug +DEFAULT_PACKAGES+=grub2-legacy kmod-button-hotplug define Target/Description Build firmware images for AMD Geode GX/LX based systems (net5501, alix, geos) diff --git a/target/linux/x86/legacy/target.mk b/target/linux/x86/legacy/target.mk index bd0a87d67f..3f301637eb 100644 --- a/target/linux/x86/legacy/target.mk +++ b/target/linux/x86/legacy/target.mk @@ -1,4 +1,5 @@ BOARDNAME:=Legacy +DEFAULT_PACKAGES+=grub2-legacy define Target/Description Build firmware images for legacy x86 based boards From patchwork Sun Jan 13 21:49:15 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tomasz Maciej Nowak X-Patchwork-Id: 1024170 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=lists.openwrt.org (client-ip=2607:7c80:54:e::133; helo=bombadil.infradead.org; envelope-from=openwrt-devel-bounces+incoming=patchwork.ozlabs.org@lists.openwrt.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=o2.pl Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="skMySjFI"; dkim-atps=neutral Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:e::133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43d9Hq3Pswz9s9h for ; Mon, 14 Jan 2019 08:49:59 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Subject:MIME-Version:References: In-Reply-To:Message-Id:Date:To:From:Reply-To:Cc:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Owner; bh=QKTZYeIQArB6pYSISB/Y2VyXePpFQh3bQ6G+A80RFgY=; b=skMySjFIKaXfkiCXP/OekQ6okq 7kzqEZTX3NQjrJKgYr+mdW6Fq5Oy1fJ/NRsWvUqvZxz8a/vey3BWztiJL+ROfT2AhekLAUeKXIAn/ MrTzA8j6J8mVHL16oKNt9UrjEh3yupmfxpGj6kKMG4KEWatE590qTehFAycoSOYbOfahChzeFK2pA gDGPjYhmGwvhGQW/JCVvvCGV864rSd5c3kkyUAHTfaUq2QJcqX6OwTCG0mid9nHIcxGIia6lfMFbu IRYlThSMyhcjgI4/ReJqTpXNivBSVVtvlbXLe8xwyvk6BWlU7SjpzwYulXJyus+OTFS4HBPBfESla iFzGZaLA==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gindh-0002bj-Pn; Sun, 13 Jan 2019 21:49:53 +0000 Received: from mx-out.tlen.pl ([193.222.135.140]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gincT-0001AE-1V for openwrt-devel@lists.openwrt.org; Sun, 13 Jan 2019 21:48:42 +0000 Received: (wp-smtpd smtp.tlen.pl 346 invoked from network); 13 Jan 2019 22:48:33 +0100 Received: from 131.ip-164-132-48.eu (HELO localhost.localdomain) (tomek_n@o2.pl@[164.132.48.131]) (envelope-sender ) by smtp.tlen.pl (WP-SMTPD) with ECDHE-RSA-AES256-GCM-SHA384 encrypted SMTP for ; 13 Jan 2019 22:48:33 +0100 From: Tomasz Maciej Nowak To: openwrt-devel@lists.openwrt.org Date: Sun, 13 Jan 2019 22:49:15 +0100 Message-Id: <20190113214915.14059-7-tomek_n@o2.pl> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190113214915.14059-1-tomek_n@o2.pl> References: <20190113214915.14059-1-tomek_n@o2.pl> MIME-Version: 1.0 X-WP-MailID: 5944f3c278591e08a4a851e59c66fd7b X-WP-AV: skaner antywirusowy Poczty o2 X-WP-SPAM: NO 0000000 [USMl] X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190113_134837_501129_4B684623 X-CRM114-Status: UNSURE ( 8.69 ) X-CRM114-Notice: Please train this message. X-Spam-Score: 0.0 (/) X-Spam-Report: SpamAssassin version 3.4.2 on bombadil.infradead.org summary: Content analysis details: (0.0 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (tomek_n[at]o2.pl) Subject: [OpenWrt-Devel] [RFC 6/6] grub2: add preinit hook for bootloader upgrade X-BeenThere: openwrt-devel@lists.openwrt.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "openwrt-devel" Errors-To: openwrt-devel-bounces+incoming=patchwork.ozlabs.org@lists.openwrt.org The current OpenWrt installations lack the necessary bits to upgrade bootloader on sysupgrade, therefore add preinit hook which will perform upgrade of bootloader on first boot. Signed-off-by: Tomasz Maciej Nowak --- package/boot/grub2/Makefile | 6 ++++++ .../boot/grub2/files/81_upgrade_bootloader | 20 +++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 package/boot/grub2/files/81_upgrade_bootloader diff --git a/package/boot/grub2/Makefile b/package/boot/grub2/Makefile index 4445a30ea8..a0ab36f328 100644 --- a/package/boot/grub2/Makefile +++ b/package/boot/grub2/Makefile @@ -143,6 +143,9 @@ define Package/grub2-generic/install $(1)/usr/lib/grub/grub2/ printf 'BL=$(PKG_NAME)\nBL_VARIANT=generic\nBL_VERSION=$(PKG_VERSION)\nBL_RELEASE=$(PKG_RELEASE)\n' \ > $(1)/usr/lib/grub/grub2/bl-release + + $(INSTALL_DIR) $(1)/lib/preinit + $(CP) ./files/81_upgrade_bootloader $(1)/lib/preinit/ endef define Package/grub2-legacy/install @@ -155,6 +158,9 @@ define Package/grub2-legacy/install $(1)/usr/lib/grub/grub2/ printf 'BL=$(PKG_NAME)\nBL_VARIANT=legacy\nBL_VERSION=$(PKG_VERSION)\nBL_RELEASE=$(PKG_RELEASE)\n' \ > $(1)/usr/lib/grub/grub2/bl-release + + $(INSTALL_DIR) $(1)/lib/preinit + $(CP) ./files/81_upgrade_bootloader $(1)/lib/preinit/ endef $(eval $(call HostBuild)) diff --git a/package/boot/grub2/files/81_upgrade_bootloader b/package/boot/grub2/files/81_upgrade_bootloader new file mode 100644 index 0000000000..c1f2325cc0 --- /dev/null +++ b/package/boot/grub2/files/81_upgrade_bootloader @@ -0,0 +1,20 @@ +#!/bin/sh + +upgrade_bootloader() { + local diskdev + + . /lib/upgrade/common.sh + + if [ ! -f /boot/bl-release ] && export_bootdevice && export_partdevice diskdev 0; then + echo "(hd0) /dev/$diskdev" > /tmp/device.map + echo "- bootloader upgrade -" + /usr/sbin/grub-bios-setup \ + -m "/tmp/device.map" \ + -d "/usr/lib/grub/grub2" \ + -r "hd0,msdos1" \ + "/dev/$diskdev" \ + && cp -f /usr/lib/grub/grub2/bl-release /boot/ + fi +} + +[ "$INITRAMFS" = "1" ] || boot_hook_add preinit_main upgrade_bootloader