* qemuarm64 use lib64 as multilib
@ 2023-12-27 12:43 ` teddyxiong53
0 siblings, 0 replies; 6+ messages in thread
From: teddyxiong53 @ 2023-12-27 12:41 UTC (permalink / raw)
To: poky
[-- Attachment #1: Type: text/plain, Size: 1338 bytes --]
Hey guys,
I use poky as the test environment. work on kirkstone branch. test on qemuarm64.
I add this to local.conf
```
require conf/multilib.conf
MULTILIBS = "multilib:lib64"
DEFAULTTUNE = "armv7athf-neon"
DEFAULTTUNE:virtclass-multilib-lib64 = "armv8a"
DEFAULTTUNE:pn-linux-yocto = "armv8a"
```
I wish to use as this :
bitbake attr : this would output 32bit file by default
bitbake lib64-attr: this output 64bit file
I know most people use lib64 as default, but I have to use lib32 as default.
I have to use a 64bit kernel (including all kernel module), and all the userspace as 32bit.
Now I bitbake yocto, I see this error.
```
ERROR: Nothing PROVIDES 'virtual/aarch64-poky-linux-binutils' (but /mnt/fileroot/hanliang.xiong/work/yocto-study/code/poky/meta/recipes-kernel/linux/linux-yocto_5.15.bb DEPENDS on or otherwise requires it). Close matches:
virtual/arm-poky-linux-gnueabi-binutils
virtual/arm-poky-linux-gnueabi-rust
virtual/lib64-aarch64-pokymllib64-linux-binutils
ERROR: Required build target 'linux-yocto' has no buildable providers.
Missing or unbuildable dependency chain was: ['linux-yocto', 'virtual/aarch64-poky-linux-binutils']
```
The DEPENDS is from kernel.bbclass, it expands to virtual/aarch64-poky-linux-binutils
But it seems no such provider.
Then how can I make it work?
[-- Attachment #2: Type: text/html, Size: 2065 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* qemuarm64 use lib64 as multilib
@ 2023-12-27 12:43 ` teddyxiong53
0 siblings, 0 replies; 6+ messages in thread
From: teddyxiong53 @ 2023-12-27 12:43 UTC (permalink / raw)
To: poky
[-- Attachment #1: Type: text/plain, Size: 1362 bytes --]
Hey guys,
I use poky as the test environment. work on kirkstone branch. test on qemuarm64.
I add this to local.conf
```
require conf/multilib.conf
MULTILIBS = "multilib:lib64"
DEFAULTTUNE = "armv7athf-neon"
DEFAULTTUNE:virtclass-multilib-lib64 = "armv8a"
DEFAULTTUNE:pn-linux-yocto = "armv8a"
```
I wish to use as this :
bitbake attr : this would output 32bit file by default
bitbake lib64-attr: this output 64bit file
I know most people use lib64 as default, but I have to use lib32 as default.
I have to use a 64bit kernel (including all kernel module), and all the userspace as 32bit.
Now I bitbake linux-yocto to compile kernel, I see this error.
```
ERROR: Nothing PROVIDES 'virtual/aarch64-poky-linux-binutils' (but /mnt/fileroot/hanliang.xiong/work/yocto-study/code/poky/meta/recipes-kernel/linux/linux-yocto_5.15.bb DEPENDS on or otherwise requires it). Close matches:
virtual/arm-poky-linux-gnueabi-binutils
virtual/arm-poky-linux-gnueabi-rust
virtual/lib64-aarch64-pokymllib64-linux-binutils
ERROR: Required build target 'linux-yocto' has no buildable providers.
Missing or unbuildable dependency chain was: ['linux-yocto', 'virtual/aarch64-poky-linux-binutils']
```
The DEPENDS is from kernel.bbclass, it expands to virtual/aarch64-poky-linux-binutils
But it seems no such provider.
Then how can I make it work?
[-- Attachment #2: Type: text/html, Size: 2040 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* RE: [poky] qemuarm64 use lib64 as multilib
2023-12-27 12:43 ` teddyxiong53
(?)
@ 2023-12-28 2:38 ` Chen, Qi
2023-12-28 2:51 ` teddyxiong53
-1 siblings, 1 reply; 6+ messages in thread
From: Chen, Qi @ 2023-12-28 2:38 UTC (permalink / raw)
To: teddyxiong53@gmail.com, poky@lists.yoctoproject.org
[-- Attachment #1: Type: text/plain, Size: 1708 bytes --]
How about enabling multilib in a normal way and then ‘bitbake lib32-core-image-xxx’?
Regards,
Qi
From: poky@lists.yoctoproject.org <poky@lists.yoctoproject.org> On Behalf Of teddyxiong53 via lists.yoctoproject.org
Sent: Wednesday, December 27, 2023 8:41 PM
To: poky@lists.yoctoproject.org
Subject: [poky] qemuarm64 use lib64 as multilib
Hey guys,
I use poky as the test environment. work on kirkstone branch. test on qemuarm64.
I add this to local.conf
```
require conf/multilib.conf
MULTILIBS = "multilib:lib64"
DEFAULTTUNE = "armv7athf-neon"
DEFAULTTUNE:virtclass-multilib-lib64 = "armv8a"
DEFAULTTUNE:pn-linux-yocto = "armv8a"
```
I wish to use as this :
bitbake attr : this would output 32bit file by default
bitbake lib64-attr: this output 64bit file
I know most people use lib64 as default, but I have to use lib32 as default.
I have to use a 64bit kernel (including all kernel module), and all the userspace as 32bit.
Now I bitbake yocto, I see this error.
```
ERROR: Nothing PROVIDES 'virtual/aarch64-poky-linux-binutils' (but /mnt/fileroot/hanliang.xiong/work/yocto-study/code/poky/meta/recipes-kernel/linux/linux-yocto_5.15.bb DEPENDS on or otherwise requires it). Close matches:
virtual/arm-poky-linux-gnueabi-binutils
virtual/arm-poky-linux-gnueabi-rust
virtual/lib64-aarch64-pokymllib64-linux-binutils
ERROR: Required build target 'linux-yocto' has no buildable providers.
Missing or unbuildable dependency chain was: ['linux-yocto', 'virtual/aarch64-poky-linux-binutils']
```
The DEPENDS is from kernel.bbclass, it expands to virtual/aarch64-poky-linux-binutils
But it seems no such provider.
Then how can I make it work?
[-- Attachment #2: Type: text/html, Size: 6702 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: qemuarm64 use lib64 as multilib
2023-12-28 2:38 ` [poky] " Chen, Qi
@ 2023-12-28 2:51 ` teddyxiong53
2023-12-28 21:21 ` [poky] " Alexandre Belloni
0 siblings, 1 reply; 6+ messages in thread
From: teddyxiong53 @ 2023-12-28 2:51 UTC (permalink / raw)
To: poky
[-- Attachment #1: Type: text/plain, Size: 136 bytes --]
No, I am providing a SDK to customer, they refuse the bitbake lib32-core-image-xxx solution.
They don't want see any lib32- prefix.
[-- Attachment #2: Type: text/html, Size: 150 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [poky] qemuarm64 use lib64 as multilib
2023-12-28 2:51 ` teddyxiong53
@ 2023-12-28 21:21 ` Alexandre Belloni
2024-01-03 12:27 ` teddyxiong53
0 siblings, 1 reply; 6+ messages in thread
From: Alexandre Belloni @ 2023-12-28 21:21 UTC (permalink / raw)
To: teddyxiong53; +Cc: poky
On 27/12/2023 18:51:42-0800, teddyxiong53@gmail.com wrote:
> No, I am providing a SDK to customer, they refuse the bitbake lib32-core-image-xxx solution.
>
> They don't want see any lib32- prefix.
But this is the proper solution, else you won't be able to build a 64b
kernel.
--
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: qemuarm64 use lib64 as multilib
2023-12-28 21:21 ` [poky] " Alexandre Belloni
@ 2024-01-03 12:27 ` teddyxiong53
0 siblings, 0 replies; 6+ messages in thread
From: teddyxiong53 @ 2024-01-03 12:27 UTC (permalink / raw)
To: poky
[-- Attachment #1: Type: text/plain, Size: 1188 bytes --]
I have made it works with 64bit kernel and pure 32bit userspace
The solution is as below:
1. write a bbclass file for kernel and moduel recipe file to inherit.
```
PATH:prepend = "/toolchain/gcc/linux-x86/aarch64/gcc-arm-10.2-2020.11-x86_64-aarch64-none-linux-gnu/bin:"
export PATH
export UBOOT_ARCH = "arm64"
export ARCH = "arm64"
export CROSS_COMPILE = "aarch64-none-linux-gnu-"
export STRIP = "aarch64-none-linux-gnu-strip"
export OBJDUMP = "aarch64-none-linux-gnu-objdump"
export OBJCOPY = "aarch64-none-linux-gnu-objcopy"
KERNEL_CC = "aarch64-none-linux-gnu-gcc"
KERNEL_LD = "aarch64-none-linux-gnu-ld"
KERNEL_AR = "aarch64-none-linux-gnu-ar"
# do_package[noexec] = "1"
# do_package_write_ipk[noexec] = "1"
# do_packagedata[noexec] = "1"
do_package_qa[noexec] = "1"
```
2. Adjust the kernel and module compile command
3. Modify a little code in poky to adjust the toolchain name. kernel-module-split.bbclass
```
- cmd = "%sobjcopy -j .modinfo -O binary %s %s" % (d.getVar("HOST_PREFIX") or "", tmpkofile, tmpfile)
+ cmd = "%sobjcopy -j .modinfo -O binary %s %s" % ("aarch64-none-linux-gnu-", tmpkofile, tmpfile)
```
[-- Attachment #2: Type: text/html, Size: 2653 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2024-01-03 12:27 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-12-27 12:41 qemuarm64 use lib64 as multilib teddyxiong53
2023-12-27 12:43 ` teddyxiong53
2023-12-28 2:38 ` [poky] " Chen, Qi
2023-12-28 2:51 ` teddyxiong53
2023-12-28 21:21 ` [poky] " Alexandre Belloni
2024-01-03 12:27 ` teddyxiong53
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.