From mboxrd@z Thu Jan 1 00:00:00 1970 Delivery-date: Wed, 13 Dec 2023 15:48:15 +0100 Received: from metis.whiteo.stw.pengutronix.de ([2a0a:edc0:2:b01:1d::104]) by lore.white.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1rDQX1-002G6o-01 for lore@lore.pengutronix.de; Wed, 13 Dec 2023 15:48:15 +0100 Received: from localhost ([127.0.0.1] helo=metis.whiteo.stw.pengutronix.de) by metis.whiteo.stw.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1rDQX1-0007ba-5m; Wed, 13 Dec 2023 15:48:15 +0100 Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.whiteo.stw.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1rDQWt-0007TI-Pz; Wed, 13 Dec 2023 15:48:07 +0100 Received: from [2a0a:edc0:0:1101:1d::ac] (helo=dude04.red.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rDQWt-00FapM-CL; Wed, 13 Dec 2023 15:48:07 +0100 Received: from rhi by dude04.red.stw.pengutronix.de with local (Exim 4.96) (envelope-from ) id 1rDQWt-0081CI-16; Wed, 13 Dec 2023 15:48:07 +0100 From: Roland Hieber To: distrokit@pengutronix.de Date: Wed, 13 Dec 2023 15:47:47 +0100 Message-Id: <20231213144750.1899431-2-rhi@pengutronix.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20231213144750.1899431-1-rhi@pengutronix.de> References: <20231213144750.1899431-1-rhi@pengutronix.de> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Subject: [DistroKit] [PATCH next v3 1/4] systemd: make systemd-repart work for mips X-BeenThere: distrokit@pengutronix.de X-Mailman-Version: 2.1.29 Precedence: list List-Id: DistroKit Mailinglist List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Roland Hieber Sender: "DistroKit" X-SA-Exim-Connect-IP: 127.0.0.1 X-SA-Exim-Mail-From: distrokit-bounces@pengutronix.de X-SA-Exim-Scanned: No (on metis.whiteo.stw.pengutronix.de); SAEximRunCond expanded to false systemd v254 doesn't know about the partition type GUID for big-endian MIPS root partitions yet, so systemd-repart fails to parse the "Type=3Droot" setting in its config, and fails to start. Backport a patch from systemd 255-rc1, which will wire up the respective GUID. Signed-off-by: Roland Hieber --- ...d-defines-for-big-endian-MIPS-MIPS64.patch | 122 ++++++++++++++++++ patches/systemd-254.5/series | 1 + 2 files changed, 123 insertions(+) create mode 100644 patches/systemd-254.5/0001-sd-gpt-add-defines-for-big-e= ndian-MIPS-MIPS64.patch create mode 100644 patches/systemd-254.5/series diff --git a/patches/systemd-254.5/0001-sd-gpt-add-defines-for-big-endian-M= IPS-MIPS64.patch b/patches/systemd-254.5/0001-sd-gpt-add-defines-for-big-en= dian-MIPS-MIPS64.patch new file mode 100644 index 000000000000..ca65e413ab66 --- /dev/null +++ b/patches/systemd-254.5/0001-sd-gpt-add-defines-for-big-endian-MIPS-MIP= S64.patch @@ -0,0 +1,122 @@ +From 7c6dd200468f88c189d042c7ee25547032e296cd Mon Sep 17 00:00:00 2001 +From: Roland Hieber +Date: Tue, 10 Oct 2023 11:34:20 +0200 +Subject: [PATCH] sd-gpt: add defines for big-endian MIPS/MIPS64 + +According to the respective change in the DPS: + + +Signed-off-by: Roland Hieber +Upstream-Status: Backport [https://github.com/systemd/systemd/commit/7c6dd= 200468f88c189d0] +--- + man/systemd-gpt-auto-generator.xml | 2 +- + src/shared/gpt.c | 2 ++ + src/systemd/sd-gpt.h | 27 +++++++++++++++++++++++++++ + 3 files changed, 30 insertions(+), 1 deletion(-) + +diff --git a/man/systemd-gpt-auto-generator.xml b/man/systemd-gpt-auto-gen= erator.xml +index e70bce69758e..d962ac63f79e 100644 +--- a/man/systemd-gpt-auto-generator.xml ++++ b/man/systemd-gpt-auto-generator.xml +@@ -97,7 +97,7 @@ + + + +- SD_GPT_ROOT_ALPHA SD_GPT_ROO= T_ARC SD_GPT_ROOT_ARM SD_GPT_ROOT= _ARM64 SD_GPT_ROOT_IA64 SD_GPT_RO= OT_LOONGARCH64 SD_GPT_ROOT_MIPS_LE SD_GPT_ROOT_MIPS64_LE SD_GPT_ROOT_PARISC = SD_GPT_ROOT_PPC SD_GPT_ROOT_PPC64= SD_GPT_ROOT_PPC64_LE SD_GPT_ROOT_RISCV32 SD_GPT_ROOT_RISCV64 SD_GPT_ROOT_S39= 0 SD_GPT_ROOT_S390X SD_GPT_ROOT_T= ILEGX SD_GPT_ROOT_X86 SD_GPT_ROOT= _X86_64 SD_GPT_USR_ALPHA SD_GPT_U= SR_ARC SD_GPT_USR_ARM SD_GPT_USR_= IA64 SD_GPT_USR_LOONGARCH64 SD_GP= T_USR_MIPS_LE SD_GPT_USR_MIPS64_LE SD_GPT_USR_PARISC SD_GPT_USR_PPC SD_GPT_USR_PPC64 SD_GPT_USR_PPC64_LE SD_GPT_USR_RISCV32 SD_GPT_USR_RISCV64= SD_GPT_USR_S390 SD_GPT_USR_S390X= SD_GPT_USR_TILEGX SD_GPT_USR_X86 ++ SD_GPT_ROOT_ALPHA SD_GPT_ROO= T_ARC SD_GPT_ROOT_ARM SD_GPT_ROOT= _ARM64 SD_GPT_ROOT_IA64 SD_GPT_RO= OT_LOONGARCH64 SD_GPT_ROOT_MIPS S= D_GPT_ROOT_MIPS64 SD_GPT_ROOT_MIPS_LE SD_GPT_ROOT_MIPS64_LE SD_GPT_ROOT_PARISC SD_GPT_ROOT_PPC SD_GPT_ROOT_PPC64 SD_GPT_ROOT_PPC64_LE SD_GPT_ROOT_RISCV32= SD_GPT_ROOT_RISCV64 SD_GPT_ROOT_= S390 SD_GPT_ROOT_S390X SD_GPT_ROO= T_TILEGX SD_GPT_ROOT_X86 SD_GPT_R= OOT_X86_64 SD_GPT_USR_ALPHA SD_GP= T_USR_ARC SD_GPT_USR_ARM SD_GPT_U= SR_IA64 SD_GPT_USR_LOONGARCH64 SD= _GPT_USR_MIPS_LE SD_GPT_USR_MIPS64_LE SD_GPT_USR_PARISC SD_GPT_USR_PPC SD_GPT_USR_PPC64 SD_GPT_USR_PPC64_LE <= constant>SD_GPT_USR_RISCV32 SD_GPT_USR_RISCV64 SD_GPT_USR_S390 SD_GPT_USR_S390X SD_GPT_USR_TILEGX SD_GPT_USR_X86 + + root partitions for other architectures + / +diff --git a/src/shared/gpt.c b/src/shared/gpt.c +index 2846bad5b802..d639463c24f5 100644 +--- a/src/shared/gpt.c ++++ b/src/shared/gpt.c +@@ -143,6 +143,8 @@ const GptPartitionType gpt_partition_type_table[] =3D { + _GPT_ARCH_SEXTET(ARM64, "aarch64"), /* Alias: must be liste= d after arm64 */ + _GPT_ARCH_SEXTET(IA64, "ia64"), + _GPT_ARCH_SEXTET(LOONGARCH64, "loongarch64"), ++ _GPT_ARCH_SEXTET(MIPS, "mips"), ++ _GPT_ARCH_SEXTET(MIPS64, "mips64"), + _GPT_ARCH_SEXTET(MIPS_LE, "mips-le"), + _GPT_ARCH_SEXTET(MIPS64_LE, "mips64-le"), + _GPT_ARCH_SEXTET(PARISC, "parisc"), +diff --git a/src/systemd/sd-gpt.h b/src/systemd/sd-gpt.h +index dc389f649938..7ffa57a94513 100644 +--- a/src/systemd/sd-gpt.h ++++ b/src/systemd/sd-gpt.h +@@ -29,6 +29,8 @@ _SD_BEGIN_DECLARATIONS; + #define SD_GPT_ROOT_ARM64 SD_ID128_MAKE(b9,21,b0,45,1d,f0,41,c3,af,= 44,4c,6f,28,0d,3f,ae) + #define SD_GPT_ROOT_IA64 SD_ID128_MAKE(99,3d,8d,3d,f8,0e,42,25,85,= 5a,9d,af,8e,d7,ea,97) + #define SD_GPT_ROOT_LOONGARCH64 SD_ID128_MAKE(77,05,58,00,79,2c,4f,94,b3,= 9a,98,c9,1b,76,2b,b6) ++#define SD_GPT_ROOT_MIPS SD_ID128_MAKE(e9,43,45,44,6e,2c,47,cc,ba,= e2,12,d6,de,af,b4,4c) ++#define SD_GPT_ROOT_MIPS64 SD_ID128_MAKE(d1,13,af,76,80,ef,41,b4,bd,= b6,0c,ff,4d,3d,4a,25) + #define SD_GPT_ROOT_MIPS_LE SD_ID128_MAKE(37,c5,8c,8a,d9,13,41,56,a2,= 5f,48,b1,b6,4e,07,f0) + #define SD_GPT_ROOT_MIPS64_LE SD_ID128_MAKE(70,0b,da,43,7a,34,45,07,b1,= 79,ee,b9,3d,7a,7c,a3) + #define SD_GPT_ROOT_PARISC SD_ID128_MAKE(1a,ac,db,3b,54,44,41,38,bd,= 9e,e5,c2,23,9b,23,46) +@@ -48,6 +50,8 @@ _SD_BEGIN_DECLARATIONS; + #define SD_GPT_USR_ARM64 SD_ID128_MAKE(b0,e0,10,50,ee,5f,43,90,94,= 9a,91,01,b1,71,04,e9) + #define SD_GPT_USR_IA64 SD_ID128_MAKE(43,01,d2,a6,4e,3b,4b,2a,bb,= 94,9e,0b,2c,42,25,ea) + #define SD_GPT_USR_LOONGARCH64 SD_ID128_MAKE(e6,11,c7,02,57,5c,4c,be,9a,= 46,43,4f,a0,bf,7e,3f) ++#define SD_GPT_USR_MIPS SD_ID128_MAKE(77,3b,2a,bc,2a,99,43,98,8b,= f5,03,ba,ac,40,d0,2b) ++#define SD_GPT_USR_MIPS64 SD_ID128_MAKE(57,e1,39,58,73,31,43,65,8e,= 6e,35,ee,ee,17,c6,1b) + #define SD_GPT_USR_MIPS_LE SD_ID128_MAKE(0f,48,68,e9,99,52,47,06,97,= 9f,3e,d3,a4,73,e9,47) + #define SD_GPT_USR_MIPS64_LE SD_ID128_MAKE(c9,7c,1f,32,ba,06,40,b4,9f,= 22,23,60,61,b0,8a,a8) + #define SD_GPT_USR_PARISC SD_ID128_MAKE(dc,4a,44,80,69,17,42,62,a4,= ec,db,93,84,94,9f,25) +@@ -70,6 +74,8 @@ _SD_BEGIN_DECLARATIONS; + #define SD_GPT_ROOT_ARM64_VERITY SD_ID128_MAKE(df,33,00,ce,d6,9f,4c= ,92,97,8c,9b,fb,0f,38,d8,20) + #define SD_GPT_ROOT_IA64_VERITY SD_ID128_MAKE(86,ed,10,d5,b6,07,45= ,bb,89,57,d3,50,f2,3d,05,71) + #define SD_GPT_ROOT_LOONGARCH64_VERITY SD_ID128_MAKE(f3,39,3b,22,e9,af,46= ,13,a9,48,9d,3b,fb,d0,c5,35) ++#define SD_GPT_ROOT_MIPS_VERITY SD_ID128_MAKE(7a,43,07,99,f7,11,4c= ,7e,8e,5b,1d,68,5b,d4,86,07) ++#define SD_GPT_ROOT_MIPS64_VERITY SD_ID128_MAKE(57,95,36,f8,6a,33,40= ,55,a9,5a,df,2d,5e,2c,42,a8) + #define SD_GPT_ROOT_MIPS_LE_VERITY SD_ID128_MAKE(d7,d1,50,d2,2a,04,4a= ,33,8f,12,16,65,12,05,ff,7b) + #define SD_GPT_ROOT_MIPS64_LE_VERITY SD_ID128_MAKE(16,b4,17,f8,3e,06,4f= ,57,8d,d2,9b,52,32,f4,1a,a6) + #define SD_GPT_ROOT_PARISC_VERITY SD_ID128_MAKE(d2,12,a4,30,fb,c5,49= ,f9,a9,83,a7,fe,ef,2b,8d,0e) +@@ -89,6 +95,8 @@ _SD_BEGIN_DECLARATIONS; + #define SD_GPT_USR_ARM64_VERITY SD_ID128_MAKE(6e,11,a4,e7,fb,ca,4d= ,ed,b9,e9,e1,a5,12,bb,66,4e) + #define SD_GPT_USR_IA64_VERITY SD_ID128_MAKE(6a,49,1e,03,3b,e7,45= ,45,8e,38,83,32,0e,0e,a8,80) + #define SD_GPT_USR_LOONGARCH64_VERITY SD_ID128_MAKE(f4,6b,2c,26,59,ae,48= ,f0,91,06,c5,0e,d4,7f,67,3d) ++#define SD_GPT_USR_MIPS_VERITY SD_ID128_MAKE(6e,5a,1b,c8,d2,23,49= ,b7,bc,a8,37,a5,fc,ce,b9,96) ++#define SD_GPT_USR_MIPS64_VERITY SD_ID128_MAKE(81,cf,9d,90,74,58,4d= ,f4,8d,cf,c8,a3,a4,04,f0,9b) + #define SD_GPT_USR_MIPS_LE_VERITY SD_ID128_MAKE(46,b9,8d,8d,b5,5c,4e= ,8f,aa,b3,37,fc,a7,f8,07,52) + #define SD_GPT_USR_MIPS64_LE_VERITY SD_ID128_MAKE(3c,3d,61,fe,b5,f3,41= ,4d,bb,71,87,39,a6,94,a4,ef) + #define SD_GPT_USR_PARISC_VERITY SD_ID128_MAKE(58,43,d6,18,ec,37,48= ,d7,9f,12,ce,a8,e0,87,68,b2) +@@ -110,6 +118,8 @@ _SD_BEGIN_DECLARATIONS; + #define SD_GPT_ROOT_ARM64_VERITY_SIG SD_ID128_MAKE(6d,b6,9d,e6,29,f= 4,47,58,a7,a5,96,21,90,f0,0c,e3) + #define SD_GPT_ROOT_IA64_VERITY_SIG SD_ID128_MAKE(e9,8b,36,ee,32,b= a,48,82,9b,12,0c,e1,46,55,f4,6a) + #define SD_GPT_ROOT_LOONGARCH64_VERITY_SIG SD_ID128_MAKE(5a,fb,67,eb,ec,c= 8,4f,85,ae,8e,ac,1e,7c,50,e7,d0) ++#define SD_GPT_ROOT_MIPS_VERITY_SIG SD_ID128_MAKE(bb,a2,10,a2,9c,5= d,45,ee,9e,87,ff,2c,cb,d0,02,d0) ++#define SD_GPT_ROOT_MIPS64_VERITY_SIG SD_ID128_MAKE(43,ce,94,d4,0f,3= d,49,99,82,50,b9,de,af,d9,8e,6e) + #define SD_GPT_ROOT_MIPS_LE_VERITY_SIG SD_ID128_MAKE(c9,19,cc,1f,44,5= 6,4e,ff,91,8c,f7,5e,94,52,5c,a5) + #define SD_GPT_ROOT_MIPS64_LE_VERITY_SIG SD_ID128_MAKE(90,4e,58,ef,5c,6= 5,4a,31,9c,57,6a,f5,fc,7c,5d,e7) + #define SD_GPT_ROOT_PARISC_VERITY_SIG SD_ID128_MAKE(15,de,61,70,65,d= 3,43,1c,91,6e,b0,dc,d8,39,3f,25) +@@ -129,6 +139,8 @@ _SD_BEGIN_DECLARATIONS; + #define SD_GPT_USR_ARM64_VERITY_SIG SD_ID128_MAKE(c2,3c,e4,ff,44,b= d,4b,00,b2,d4,b4,1b,34,19,e0,2a) + #define SD_GPT_USR_IA64_VERITY_SIG SD_ID128_MAKE(8d,e5,8b,c2,2a,4= 3,46,0d,b1,4e,a7,6e,4a,17,b4,7f) + #define SD_GPT_USR_LOONGARCH64_VERITY_SIG SD_ID128_MAKE(b0,24,f3,15,d3,3= 0,44,4c,84,61,44,bb,de,52,4e,99) ++#define SD_GPT_USR_MIPS_VERITY_SIG SD_ID128_MAKE(97,ae,15,8d,f2,1= 6,49,7b,80,57,f7,f9,05,77,0f,54) ++#define SD_GPT_USR_MIPS64_VERITY_SIG SD_ID128_MAKE(05,81,6c,e2,dd,4= 0,4a,c6,a6,1d,37,d3,2d,c1,ba,7d) + #define SD_GPT_USR_MIPS_LE_VERITY_SIG SD_ID128_MAKE(3e,23,ca,0b,a4,b= c,4b,4e,80,87,5a,b6,a2,6a,a8,a9) + #define SD_GPT_USR_MIPS64_LE_VERITY_SIG SD_ID128_MAKE(f2,c2,c7,ee,ad,c= c,43,51,b5,c6,ee,98,16,b6,6e,16) + #define SD_GPT_USR_PARISC_VERITY_SIG SD_ID128_MAKE(45,0d,d7,d1,32,2= 4,45,ec,9c,f2,a4,3a,34,6d,71,ee) +@@ -216,6 +228,21 @@ _SD_BEGIN_DECLARATIONS; + # define SD_GPT_USR_NATIVE_VERITY SD_GPT_USR_LOONGARCH64_VERITY + # define SD_GPT_USR_NATIVE_VERITY_SIG SD_GPT_USR_LOONGARCH64_VERITY_SIG +=20 ++#elif defined(__mips__) && !defined(__mips64) && __BYTE_ORDER__ =3D=3D __= ORDER_BIG_ENDIAN__ ++# define SD_GPT_ROOT_NATIVE SD_GPT_ROOT_MIPS ++# define SD_GPT_ROOT_NATIVE_VERITY SD_GPT_ROOT_MIPS_VERITY ++# define SD_GPT_ROOT_NATIVE_VERITY_SIG SD_GPT_ROOT_MIPS_VERITY_SIG ++# define SD_GPT_USR_NATIVE SD_GPT_USR_MIPS ++# define SD_GPT_USR_NATIVE_VERITY SD_GPT_USR_MIPS_VERITY ++# define SD_GPT_USR_NATIVE_VERITY_SIG SD_GPT_USR_MIPS_VERITY_SIG ++#elif defined(__mips64) && __BYTE_ORDER__ =3D=3D __ORDER_BIG_ENDIAN__ ++# define SD_GPT_ROOT_NATIVE SD_GPT_ROOT_MIPS64 ++# define SD_GPT_ROOT_NATIVE_VERITY SD_GPT_ROOT_MIPS64_VERITY ++# define SD_GPT_ROOT_NATIVE_VERITY_SIG SD_GPT_ROOT_MIPS64_VERITY_SIG ++# define SD_GPT_USR_NATIVE SD_GPT_USR_MIPS64 ++# define SD_GPT_USR_NATIVE_VERITY SD_GPT_USR_MIPS64_VERITY ++# define SD_GPT_USR_NATIVE_VERITY_SIG SD_GPT_USR_MIPS64_VERITY_SIG ++ + #elif defined(__mips__) && !defined(__mips64) && __BYTE_ORDER__ =3D=3D __= ORDER_LITTLE_ENDIAN__ + # define SD_GPT_ROOT_NATIVE SD_GPT_ROOT_MIPS_LE + # define SD_GPT_ROOT_NATIVE_VERITY SD_GPT_ROOT_MIPS_LE_VERITY diff --git a/patches/systemd-254.5/series b/patches/systemd-254.5/series new file mode 100644 index 000000000000..177c544453cd --- /dev/null +++ b/patches/systemd-254.5/series @@ -0,0 +1 @@ +0001-sd-gpt-add-defines-for-big-endian-MIPS-MIPS64.patch --=20 2.39.2