Skip to contentSkip to conversation

systemd: work around the boot problem on qemuarm64

PATCH In review Chen Qi 3 participants 7 messages Jan 22, 2016 – Jan 26, 2016

lore
Share & tools
lore

Chen Qi

author
#0 lore raw

cover systemd: work around the boot problem on qemuarm64

The problem is that systemd based systems cannot boot on qemuarm64.

The patch is a workaround and I hope people who have more knowledge in this area come up with a better fix.

The following changes since commit 8084c185c43cb7e7f5e29d31939dfd308f8a0f93:

udev: Add 2 patches to support 4.4 kernel (2016-01-20 09:20:06 +0000)

are available in the git repository at:

git://git.openembedded.org/openembedded-core-contrib ChenQi/systemd-qemuarm64
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=ChenQi/systemd-qemuarm64

Chen Qi (1):
systemd: work around the boot problem on qemuarm64

 meta/recipes-core/systemd/systemd_228.bb | 1 +
 1 file changed, 1 insertion(+)
Signature · 1 line
1.9.1
author
#1 lore raw

PATCH 1/1 systemd: work around the boot problem on qemuarm64

This is a workaround to make qemuarm64 boot for systemd systems.

---
 meta/recipes-core/systemd/systemd_228.bb | 1 +
 1 file changed, 1 insertion(+)
meta/recipes-core/systemd/systemd_228.bb +1 -0
index aa2e846..3bc5927 100644
@@ -133,6 +133,7 @@ EXTRA_OECONF_append_libc-uclibc = " --disable-myhostname --disable-sysusers"
 
 # per the systemd README, define VALGRIND=1 to run under valgrind
 CFLAGS .= "${@bb.utils.contains('PACKAGECONFIG', 'valgrind', ' -DVALGRIND=1', '', d)}"
+CFLAGS_append_qemuarm64 = " -O1"
 
 # disable problematic GCC 5.2 optimizations [YOCTO #8291]
 FULL_OPTIMIZATION_append_arm = " -fno-schedule-insns -fno-schedule-insns2"
Signature · 1 line
1.9.1
#2 lore raw
Quoted 12 lines · Chen Qi

This is a workaround to make qemuarm64 boot for systemd systems.

---
 meta/recipes-core/systemd/systemd_228.bb | 1 +
 1 file changed, 1 insertion(+)
meta/recipes-core/systemd/systemd_228.bb +0 -0
index aa2e846..3bc5927 100644

meta/recipes-core/systemd/systemd_228.bb EXTRA_OECONF_append_libc-uclibc = " --disable-myhostname --disable-sysusers" · line 136

Quoted 4 lines
meta/recipes-core/systemd/systemd_228.bb +1 -0
@@ -133,6 +133,7 @@ EXTRA_OECONF_append_libc-uclibc = " --disable-myhostname --disable-sysusers"
 
 # per the systemd README, define VALGRIND=1 to run under valgrind
 CFLAGS .= "${@bb.utils.contains('PACKAGECONFIG', 'valgrind', ' -DVALGRIND=1', '', d)}"
+CFLAGS_append_qemuarm64 = " -O1"

This is general aarch64 problem, so make this across all aarch64 this is the original problem

https://github.com/systemd/systemd/pull/1190#issuecomment-166294683

Quoted 11 lines
meta/recipes-core/systemd/systemd_228.bb +0 -1
 # disable problematic GCC 5.2 optimizations [YOCTO #8291]
 FULL_OPTIMIZATION_append_arm = " -fno-schedule-insns -fno-schedule-insns2"
--

1.9.1

--
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

author
#5 lore raw
Quoted 5 lines · Khem Raj
Quoted 4 lines · Ross
Quoted 3 lines · Khem Raj

This is general aarch64 problem, so make this across all aarch64 this is the original problem

Quoted 11 lines
Quoted 5 lines
Quoted 1 line

https://github.com/systemd/systemd/pull/1190#issuecomment-166294683

And according to that link, is a binutils problem. Can't we just fix that instead?

We can. May be try out the binutils patches I posted and see if that fixes it
https://github.com/kraj/openembedded-core/tree/kraj/binutils-2.26

Quoted 1 line

Ross

Thanks all !
I'll try it out ASAP.

Regards,
Chen Qi

author
#6 lore raw
In reply to Khem Raj
Quoted 5 lines · Khem Raj
Quoted 4 lines · Ross
Quoted 3 lines · Khem Raj

This is general aarch64 problem, so make this across all aarch64 this is the original problem

Quoted 11 lines
Quoted 5 lines
Quoted 1 line

https://github.com/systemd/systemd/pull/1190#issuecomment-166294683

And according to that link, is a binutils problem. Can't we just fix that instead?

We can. May be try out the binutils patches I posted and see if that fixes it
https://github.com/kraj/openembedded-core/tree/kraj/binutils-2.26

Quoted 1 line

Ross

Hi Khem and Ross,

I've verified the patch above does fix the systemd qemuarm64 problem. Thanks all :)

Best Regards,
Chen Qi