mirror of
https://git.yoctoproject.org/meta-arm
synced 2026-07-18 04:27:08 +00:00
Compare commits
19 Commits
5.0.1
..
yocto-5.0.2
| Author | SHA1 | Date | |
|---|---|---|---|
| 8e0f8af90f | |||
| f5f8dfb5a8 | |||
| f3640941c6 | |||
| b6e214752a | |||
| 3cadb81ffa | |||
| a8fe9d22ea | |||
| c22b4f89f7 | |||
| 309d93f9e5 | |||
| a6233bf5fd | |||
| 415215c074 | |||
| a7f27d1641 | |||
| acbba48ee5 | |||
| 7088279c0a | |||
| d67a9b6070 | |||
| 60e31ef2c4 | |||
| 0ce566fb86 | |||
| 218c3bbfea | |||
| 62a4a0a71a | |||
| ba9451a818 |
+1
-1
@@ -17,7 +17,7 @@ repos:
|
||||
meta-arm-toolchain:
|
||||
|
||||
poky:
|
||||
url: https://git.yoctoproject.org/git/poky
|
||||
url: https://git.yoctoproject.org/poky
|
||||
layers:
|
||||
meta:
|
||||
meta-poky:
|
||||
|
||||
+2
-2
@@ -20,9 +20,9 @@ def repo_shortname(url):
|
||||
.replace('*', '.'))
|
||||
|
||||
repositories = (
|
||||
"https://git.yoctoproject.org/git/poky",
|
||||
"https://git.yoctoproject.org/poky",
|
||||
"https://git.openembedded.org/meta-openembedded",
|
||||
"https://git.yoctoproject.org/git/meta-virtualization",
|
||||
"https://git.yoctoproject.org/meta-virtualization",
|
||||
"https://github.com/kraj/meta-clang",
|
||||
)
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@ header:
|
||||
version: 13
|
||||
includes:
|
||||
- kas/arm-systemready-firmware.yml
|
||||
- kas/arm-systemready-linux-distros-unattended-installation.yml
|
||||
|
||||
target:
|
||||
- arm-systemready-linux-distros-opensuse
|
||||
|
||||
@@ -38,6 +38,16 @@ Platform Support
|
||||
- This software release is tested on Corstone-1000 Fast Model platform (FVP) version 11.23_25
|
||||
https://developer.arm.com/tools-and-software/open-source-software/arm-platforms-software/arm-ecosystem-fvps
|
||||
|
||||
SystemReady IR v2.0 Certification Milestone
|
||||
-------------------------------------------
|
||||
|
||||
As of this release, Corstone-1000 has achieved `SystemReady IR v2.0 certification <https://www.arm.com/architecture/system-architectures/systemready-certification-program/ve>`__.
|
||||
This milestone confirms compliance with the SystemReady IR requirements, ensuring broader compatibility and reliability for deployment.
|
||||
|
||||
Applied patch `313ad2a0e600 <https://git.yoctoproject.org/meta-arm/commit/?h=scarthgap&id=313ad2a0e600655d9bfbe53646e356372ff02644>`__ to address compatibility requirements for SystemReady IR v2.0.
|
||||
|
||||
This update is included in tag `CORSTONE1000-2024.06-systemready-ir-v2.0 <https://git.yoctoproject.org/meta-arm/tag/?h=CORSTONE1000-2024.06-systemready-ir-v2.0>`__ and builds on the `CORSTONE1000-2024.06` release.
|
||||
|
||||
***********************
|
||||
Release notes - 2023.11
|
||||
***********************
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
CONFIG_MTD_NAND_FSL_IFC=n
|
||||
@@ -77,6 +77,9 @@ SRC_URI:append:fvp-base = " \
|
||||
#
|
||||
COMPATIBLE_MACHINE:juno = "juno"
|
||||
FILESEXTRAPATHS:prepend:juno := "${ARMBSPFILESPATHS}"
|
||||
SRC_URI:append:juno = " \
|
||||
file://no-fsl-ifc-nand.cfg \
|
||||
"
|
||||
|
||||
#
|
||||
# Musca B1/S2 can't run Linux
|
||||
@@ -103,6 +106,7 @@ SRC_URI:append:n1sdp = " \
|
||||
file://enable-realtek-R8169.cfg \
|
||||
file://enable-usb_conn_gpio.cfg \
|
||||
file://usb_xhci_pci_renesas.cfg \
|
||||
file://no-fsl-ifc-nand.cfg \
|
||||
"
|
||||
# Since we use the intree defconfig and the preempt-rt turns off some configs
|
||||
# do_kernel_configcheck will display warnings. So, lets disable it.
|
||||
|
||||
@@ -1,46 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Source function library
|
||||
. /etc/init.d/functions
|
||||
|
||||
NAME=tee-supplicant
|
||||
PATH=/sbin:/bin:/usr/sbin:/usr/bin
|
||||
DESC="OP-TEE Supplicant"
|
||||
|
||||
DAEMON=@sbindir@/$NAME
|
||||
|
||||
test -f $DAEMON || exit 0
|
||||
|
||||
test -f @sysconfdir@/default/$NAME && . @sysconfdir@/default/$NAME
|
||||
test -f @sysconfdir@/default/rcS && . @sysconfdir@/default/rcS
|
||||
|
||||
SSD_OPTIONS="--oknodo --quiet --exec $DAEMON -- -d $OPTARGS"
|
||||
|
||||
set -e
|
||||
|
||||
case $1 in
|
||||
start)
|
||||
echo -n "Starting $DESC: "
|
||||
start-stop-daemon --start $SSD_OPTIONS
|
||||
echo "${DAEMON##*/}."
|
||||
;;
|
||||
stop)
|
||||
echo -n "Stopping $DESC: "
|
||||
start-stop-daemon --stop $SSD_OPTIONS
|
||||
echo "${DAEMON##*/}."
|
||||
;;
|
||||
restart|force-reload)
|
||||
$0 stop
|
||||
sleep 1
|
||||
$0 start
|
||||
;;
|
||||
status)
|
||||
status ${DAEMON} || exit $?
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 {start|stop|restart|force-reload|status}" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
||||
@@ -1,10 +0,0 @@
|
||||
[Unit]
|
||||
Description=TEE Supplicant on %i
|
||||
|
||||
[Service]
|
||||
User=root
|
||||
EnvironmentFile=-@sysconfdir@/default/tee-supplicant
|
||||
ExecStart=@sbindir@/tee-supplicant $OPTARGS
|
||||
|
||||
[Install]
|
||||
WantedBy=basic.target
|
||||
@@ -0,0 +1,42 @@
|
||||
from oeqa.runtime.case import OERuntimeTestCase
|
||||
|
||||
class SystemReadyOpenSUSEUnattendedTest(OERuntimeTestCase):
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
self.console = self.target.DEFAULT_CONSOLE
|
||||
|
||||
def test_opensuse_unattended(self):
|
||||
# Turn on the FVP.
|
||||
self.target.transition('on')
|
||||
|
||||
# Timeout value = elapsed time * 2; where elapsed time was collected
|
||||
# from the elapsed time in the log.do_testimage for each function after
|
||||
# the build is finished on the development machine.
|
||||
self.target.expect(self.console,
|
||||
'Booting `Installation\'',
|
||||
timeout=(2 * 60))
|
||||
bb.plain('Installation status: Loading the kernel, initrd and basic drivers...')
|
||||
|
||||
self.target.expect(self.console,
|
||||
'Starting hardware detection...',
|
||||
timeout=(40 * 60))
|
||||
bb.plain('Installation status: Starting hardware detection...')
|
||||
|
||||
self.target.expect(self.console,
|
||||
'Loading Installation System',
|
||||
timeout=(60 * 60))
|
||||
bb.plain('Installation status: Loading Installation System...')
|
||||
|
||||
self.target.expect(self.console,
|
||||
'Starting Installer',
|
||||
timeout=(40 * 60))
|
||||
bb.plain('Installation status: Performing Installation...')
|
||||
|
||||
self.target.expect(self.console,
|
||||
'Finishing Configuration',
|
||||
timeout=(15 * 60 * 60))
|
||||
bb.plain('Installation status: Finishing Configuration...')
|
||||
|
||||
# Waiting till the installation is finished.
|
||||
self.target.expect(self.console, r'.*login: ', timeout=(6 * 60 * 60))
|
||||
bb.plain('Installation status: openSUSE installation finished successfully.')
|
||||
@@ -49,9 +49,9 @@ PV = "2.0.0"
|
||||
PV_DATE = "23.03"
|
||||
FULL_PV = "v${PV_DATE}_${PV}"
|
||||
ARM_SYSTEMREADY_IR_ACS_BRANCH ?= "main"
|
||||
IMAGE_FILENAME = "ir-acs-live-image-generic-arm64.wic"
|
||||
IMAGE_FILENAME = "ir-acs-live-image-generic-arm64-${PV}.wic"
|
||||
SRC_URI = " \
|
||||
https://github.com/ARM-software/arm-systemready/raw/${ARM_SYSTEMREADY_IR_ACS_BRANCH}/IR/prebuilt_images/${FULL_PV}/${IMAGE_FILENAME}.xz;name=acs-img \
|
||||
https://github.com/ARM-software/arm-systemready/raw/${ARM_SYSTEMREADY_IR_ACS_BRANCH}/IR/prebuilt_images/${FULL_PV}/ir-acs-live-image-generic-arm64.wic.xz;name=acs-img;downloadfilename=${IMAGE_FILENAME}.xz \
|
||||
git://git.gitlab.arm.com/systemready/systemready-ir-template.git;protocol=https;nobranch=1;destsuffix=systemready-ir-template;name=sr-ir-template \
|
||||
"
|
||||
SRC_URI[acs-img.sha256sum] = "ea52f84dab44bde97de3e2d2224d883acaae35724dd8e2bdfb125de49040f9b3"
|
||||
|
||||
+15
@@ -72,3 +72,18 @@ ISO_TYPE = "DVD"
|
||||
BUILD_NO = "491.1"
|
||||
SRC_URI = "https://download.opensuse.org/distribution/leap/${PV}/iso/openSUSE-Leap-${PV}-${ISO_TYPE}-aarch64-Build${BUILD_NO}-Media.iso;unpack=0;downloadfilename=${ISO_IMAGE_NAME}.iso"
|
||||
SRC_URI[sha256sum] = "456cc4f99b044429d8a89bd302c06e9e382d6ac4dc590139a7096ebb54f5357b"
|
||||
|
||||
TEST_SUITES = "${@oe.utils.vartrue("DISTRO_UNATTENDED_INST_TESTS", "arm_systemready_opensuse_unattended", "", d)}"
|
||||
|
||||
ISO_LABEL = "${@oe.utils.vartrue("DISTRO_UNATTENDED_INST_TESTS", "OEMDRV", "", d)}"
|
||||
BOOT_CATALOG = "${@oe.utils.vartrue("DISTRO_UNATTENDED_INST_TESTS", "boot.catalog", "", d)}"
|
||||
BOOT_IMAGE = "${@oe.utils.vartrue("DISTRO_UNATTENDED_INST_TESTS", "EFI/BOOT/bootaa64.efi", "", d)}"
|
||||
EFI_IMAGE = "${@oe.utils.vartrue("DISTRO_UNATTENDED_INST_TESTS", "boot/aarch64/efi", "", d)}"
|
||||
|
||||
modifyiso() {
|
||||
UNATTENDED_CONF_DIR="${THISDIR}/unattended-boot-conf/openSUSE"
|
||||
|
||||
#create installation configuration files, remove grub timeout, setup network
|
||||
cp "${UNATTENDED_CONF_DIR}/autoinst.xml" ${EXTRACTED_ISO_TEMP_DIR}
|
||||
sed -i 's/timeout=60/timeout=0/g' "${EXTRACTED_ISO_TEMP_DIR}/EFI/BOOT/grub.cfg"
|
||||
}
|
||||
+935
@@ -0,0 +1,935 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE profile>
|
||||
<profile xmlns="http://www.suse.com/1.0/yast2ns" xmlns:config="http://www.suse.com/1.0/configns">
|
||||
<bootloader t="map">
|
||||
<global t="map">
|
||||
<append>splash=silent preempt=full mitigations=auto quiet security=apparmor</append>
|
||||
<cpu_mitigations>auto</cpu_mitigations>
|
||||
<gfxmode>auto</gfxmode>
|
||||
<hiddenmenu>false</hiddenmenu>
|
||||
<os_prober>true</os_prober>
|
||||
<secure_boot>true</secure_boot>
|
||||
<terminal>gfxterm</terminal>
|
||||
<timeout t="integer">8</timeout>
|
||||
<update_nvram>true</update_nvram>
|
||||
</global>
|
||||
<loader_type>grub2-efi</loader_type>
|
||||
</bootloader>
|
||||
<firewall t="map">
|
||||
<default_zone>public</default_zone>
|
||||
<enable_firewall t="boolean">true</enable_firewall>
|
||||
<log_denied_packets>off</log_denied_packets>
|
||||
<start_firewall t="boolean">true</start_firewall>
|
||||
<zones t="list">
|
||||
<zone t="map">
|
||||
<description>Unsolicited incoming network packets are rejected. Incoming packets that are related to outgoing network connections are accepted. Outgoing network connections are allowed.</description>
|
||||
<interfaces t="list"/>
|
||||
<masquerade t="boolean">false</masquerade>
|
||||
<name>block</name>
|
||||
<ports t="list"/>
|
||||
<protocols t="list"/>
|
||||
<services t="list"/>
|
||||
<short>Block</short>
|
||||
<target>%%REJECT%%</target>
|
||||
</zone>
|
||||
<zone t="map">
|
||||
<description>For computers in your demilitarized zone that are publicly-accessible with limited access to your internal network. Only selected incoming connections are accepted.</description>
|
||||
<interfaces t="list"/>
|
||||
<masquerade t="boolean">false</masquerade>
|
||||
<name>dmz</name>
|
||||
<ports t="list"/>
|
||||
<protocols t="list"/>
|
||||
<services t="list">
|
||||
<service>ssh</service>
|
||||
</services>
|
||||
<short>DMZ</short>
|
||||
<target>default</target>
|
||||
</zone>
|
||||
<zone t="map">
|
||||
<description>All network connections are accepted.</description>
|
||||
<interfaces t="list">
|
||||
<interface>docker0</interface>
|
||||
</interfaces>
|
||||
<masquerade t="boolean">false</masquerade>
|
||||
<name>docker</name>
|
||||
<ports t="list"/>
|
||||
<protocols t="list"/>
|
||||
<services t="list"/>
|
||||
<short>docker</short>
|
||||
<target>ACCEPT</target>
|
||||
</zone>
|
||||
<zone t="map">
|
||||
<description>Unsolicited incoming network packets are dropped. Incoming packets that are related to outgoing network connections are accepted. Outgoing network connections are allowed.</description>
|
||||
<interfaces t="list"/>
|
||||
<masquerade t="boolean">false</masquerade>
|
||||
<name>drop</name>
|
||||
<ports t="list"/>
|
||||
<protocols t="list"/>
|
||||
<services t="list"/>
|
||||
<short>Drop</short>
|
||||
<target>DROP</target>
|
||||
</zone>
|
||||
<zone t="map">
|
||||
<description>For use on external networks. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
|
||||
<interfaces t="list"/>
|
||||
<masquerade t="boolean">true</masquerade>
|
||||
<name>external</name>
|
||||
<ports t="list"/>
|
||||
<protocols t="list"/>
|
||||
<services t="list">
|
||||
<service>ssh</service>
|
||||
</services>
|
||||
<short>External</short>
|
||||
<target>default</target>
|
||||
</zone>
|
||||
<zone t="map">
|
||||
<description>For use in home areas. You mostly trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
|
||||
<interfaces t="list"/>
|
||||
<masquerade t="boolean">false</masquerade>
|
||||
<name>home</name>
|
||||
<ports t="list"/>
|
||||
<protocols t="list"/>
|
||||
<services t="list">
|
||||
<service>dhcpv6-client</service>
|
||||
<service>mdns</service>
|
||||
<service>samba-client</service>
|
||||
<service>ssh</service>
|
||||
</services>
|
||||
<short>Home</short>
|
||||
<target>default</target>
|
||||
</zone>
|
||||
<zone t="map">
|
||||
<description>For use on internal networks. You mostly trust the other computers on the networks to not harm your computer. Only selected incoming connections are accepted.</description>
|
||||
<interfaces t="list"/>
|
||||
<masquerade t="boolean">false</masquerade>
|
||||
<name>internal</name>
|
||||
<ports t="list"/>
|
||||
<protocols t="list"/>
|
||||
<services t="list">
|
||||
<service>dhcpv6-client</service>
|
||||
<service>mdns</service>
|
||||
<service>samba-client</service>
|
||||
<service>ssh</service>
|
||||
</services>
|
||||
<short>Internal</short>
|
||||
<target>default</target>
|
||||
</zone>
|
||||
<zone t="map">
|
||||
<description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
|
||||
<interfaces t="list">
|
||||
<interface>eth0</interface>
|
||||
</interfaces>
|
||||
<masquerade t="boolean">false</masquerade>
|
||||
<name>public</name>
|
||||
<ports t="list"/>
|
||||
<protocols t="list"/>
|
||||
<services t="list">
|
||||
<service>dhcpv6-client</service>
|
||||
<service>ssh</service>
|
||||
</services>
|
||||
<short>Public</short>
|
||||
<target>default</target>
|
||||
</zone>
|
||||
<zone t="map">
|
||||
<description>All network connections are accepted.</description>
|
||||
<interfaces t="list"/>
|
||||
<masquerade t="boolean">false</masquerade>
|
||||
<name>trusted</name>
|
||||
<ports t="list"/>
|
||||
<protocols t="list"/>
|
||||
<services t="list"/>
|
||||
<short>Trusted</short>
|
||||
<target>ACCEPT</target>
|
||||
</zone>
|
||||
<zone t="map">
|
||||
<description>For use in work areas. You mostly trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
|
||||
<interfaces t="list"/>
|
||||
<masquerade t="boolean">false</masquerade>
|
||||
<name>work</name>
|
||||
<ports t="list"/>
|
||||
<protocols t="list"/>
|
||||
<services t="list">
|
||||
<service>dhcpv6-client</service>
|
||||
<service>ssh</service>
|
||||
</services>
|
||||
<short>Work</short>
|
||||
<target>default</target>
|
||||
</zone>
|
||||
</zones>
|
||||
</firewall>
|
||||
<general t="map">
|
||||
<mode t="map">
|
||||
<confirm t="boolean">false</confirm>
|
||||
</mode>
|
||||
</general>
|
||||
<groups t="list">
|
||||
<group t="map">
|
||||
<gid>100</gid>
|
||||
<groupname>users</groupname>
|
||||
<userlist/>
|
||||
</group>
|
||||
<group t="map">
|
||||
<gid>499</gid>
|
||||
<groupname>messagebus</groupname>
|
||||
<userlist/>
|
||||
</group>
|
||||
<group t="map">
|
||||
<gid>1</gid>
|
||||
<groupname>bin</groupname>
|
||||
<userlist>daemon</userlist>
|
||||
</group>
|
||||
<group t="map">
|
||||
<gid>488</gid>
|
||||
<groupname>input</groupname>
|
||||
<userlist/>
|
||||
</group>
|
||||
<group t="map">
|
||||
<gid>495</gid>
|
||||
<groupname>kmem</groupname>
|
||||
<userlist/>
|
||||
</group>
|
||||
<group t="map">
|
||||
<gid>493</gid>
|
||||
<groupname>utmp</groupname>
|
||||
<userlist/>
|
||||
</group>
|
||||
<group t="map">
|
||||
<gid>62</gid>
|
||||
<groupname>man</groupname>
|
||||
<userlist/>
|
||||
</group>
|
||||
<group t="map">
|
||||
<gid>477</gid>
|
||||
<groupname>polkitd</groupname>
|
||||
<userlist/>
|
||||
</group>
|
||||
<group t="map">
|
||||
<gid>479</gid>
|
||||
<groupname>systemd-timesync</groupname>
|
||||
<userlist/>
|
||||
</group>
|
||||
<group t="map">
|
||||
<gid>2</gid>
|
||||
<groupname>daemon</groupname>
|
||||
<userlist/>
|
||||
</group>
|
||||
<group t="map">
|
||||
<gid>480</gid>
|
||||
<groupname>systemd-network</groupname>
|
||||
<userlist/>
|
||||
</group>
|
||||
<group t="map">
|
||||
<gid>71</gid>
|
||||
<groupname>ntadmin</groupname>
|
||||
<userlist/>
|
||||
</group>
|
||||
<group t="map">
|
||||
<gid>490</gid>
|
||||
<groupname>dialout</groupname>
|
||||
<userlist/>
|
||||
</group>
|
||||
<group t="map">
|
||||
<gid>59</gid>
|
||||
<groupname>maildrop</groupname>
|
||||
<userlist>postfix</userlist>
|
||||
</group>
|
||||
<group t="map">
|
||||
<gid>478</gid>
|
||||
<groupname>nscd</groupname>
|
||||
<userlist/>
|
||||
</group>
|
||||
<group t="map">
|
||||
<gid>51</gid>
|
||||
<groupname>postfix</groupname>
|
||||
<userlist/>
|
||||
</group>
|
||||
<group t="map">
|
||||
<gid>485</gid>
|
||||
<groupname>tape</groupname>
|
||||
<userlist/>
|
||||
</group>
|
||||
<group t="map">
|
||||
<gid>487</gid>
|
||||
<groupname>render</groupname>
|
||||
<userlist/>
|
||||
</group>
|
||||
<group t="map">
|
||||
<gid>476</gid>
|
||||
<groupname>sshd</groupname>
|
||||
<userlist/>
|
||||
</group>
|
||||
<group t="map">
|
||||
<gid>491</gid>
|
||||
<groupname>cdrom</groupname>
|
||||
<userlist/>
|
||||
</group>
|
||||
<group t="map">
|
||||
<gid>486</gid>
|
||||
<groupname>sgx</groupname>
|
||||
<userlist/>
|
||||
</group>
|
||||
<group t="map">
|
||||
<gid>0</gid>
|
||||
<groupname>root</groupname>
|
||||
<userlist/>
|
||||
</group>
|
||||
<group t="map">
|
||||
<gid>489</gid>
|
||||
<groupname>disk</groupname>
|
||||
<userlist/>
|
||||
</group>
|
||||
<group t="map">
|
||||
<gid>15</gid>
|
||||
<groupname>shadow</groupname>
|
||||
<userlist/>
|
||||
</group>
|
||||
<group t="map">
|
||||
<gid>484</gid>
|
||||
<groupname>video</groupname>
|
||||
<userlist/>
|
||||
</group>
|
||||
<group t="map">
|
||||
<gid>496</gid>
|
||||
<groupname>wheel</groupname>
|
||||
<userlist/>
|
||||
</group>
|
||||
<group t="map">
|
||||
<gid>483</gid>
|
||||
<groupname>audit</groupname>
|
||||
<userlist/>
|
||||
</group>
|
||||
<group t="map">
|
||||
<gid>498</gid>
|
||||
<groupname>mail</groupname>
|
||||
<userlist>postfix</userlist>
|
||||
</group>
|
||||
<group t="map">
|
||||
<gid>5</gid>
|
||||
<groupname>tty</groupname>
|
||||
<userlist/>
|
||||
</group>
|
||||
<group t="map">
|
||||
<gid>65533</gid>
|
||||
<groupname>nogroup</groupname>
|
||||
<userlist/>
|
||||
</group>
|
||||
<group t="map">
|
||||
<gid>65534</gid>
|
||||
<groupname>nobody</groupname>
|
||||
<userlist/>
|
||||
</group>
|
||||
<group t="map">
|
||||
<gid>497</gid>
|
||||
<groupname>lp</groupname>
|
||||
<userlist/>
|
||||
</group>
|
||||
<group t="map">
|
||||
<gid>482</gid>
|
||||
<groupname>chrony</groupname>
|
||||
<userlist/>
|
||||
</group>
|
||||
<group t="map">
|
||||
<gid>492</gid>
|
||||
<groupname>audio</groupname>
|
||||
<userlist/>
|
||||
</group>
|
||||
<group t="map">
|
||||
<gid>494</gid>
|
||||
<groupname>lock</groupname>
|
||||
<userlist/>
|
||||
</group>
|
||||
<group t="map">
|
||||
<gid>36</gid>
|
||||
<groupname>kvm</groupname>
|
||||
<userlist/>
|
||||
</group>
|
||||
<group t="map">
|
||||
<gid>42</gid>
|
||||
<groupname>trusted</groupname>
|
||||
<userlist/>
|
||||
</group>
|
||||
<group t="map">
|
||||
<gid>481</gid>
|
||||
<groupname>systemd-journal</groupname>
|
||||
<userlist/>
|
||||
</group>
|
||||
</groups>
|
||||
<host t="map">
|
||||
<hosts t="list">
|
||||
<hosts_entry t="map">
|
||||
<host_address>127.0.0.1</host_address>
|
||||
<names t="list">
|
||||
<name>localhost</name>
|
||||
</names>
|
||||
</hosts_entry>
|
||||
<hosts_entry t="map">
|
||||
<host_address>::1</host_address>
|
||||
<names t="list">
|
||||
<name>localhost ipv6-localhost ipv6-loopback</name>
|
||||
</names>
|
||||
</hosts_entry>
|
||||
<hosts_entry t="map">
|
||||
<host_address>fe00::0</host_address>
|
||||
<names t="list">
|
||||
<name>ipv6-localnet</name>
|
||||
</names>
|
||||
</hosts_entry>
|
||||
<hosts_entry t="map">
|
||||
<host_address>ff00::0</host_address>
|
||||
<names t="list">
|
||||
<name>ipv6-mcastprefix</name>
|
||||
</names>
|
||||
</hosts_entry>
|
||||
<hosts_entry t="map">
|
||||
<host_address>ff02::1</host_address>
|
||||
<names t="list">
|
||||
<name>ipv6-allnodes</name>
|
||||
</names>
|
||||
</hosts_entry>
|
||||
<hosts_entry t="map">
|
||||
<host_address>ff02::2</host_address>
|
||||
<names t="list">
|
||||
<name>ipv6-allrouters</name>
|
||||
</names>
|
||||
</hosts_entry>
|
||||
<hosts_entry t="map">
|
||||
<host_address>ff02::3</host_address>
|
||||
<names t="list">
|
||||
<name>ipv6-allhosts</name>
|
||||
</names>
|
||||
</hosts_entry>
|
||||
</hosts>
|
||||
</host>
|
||||
<language t="map">
|
||||
<language>en_GB</language>
|
||||
<languages>en_GB</languages>
|
||||
</language>
|
||||
<networking t="map">
|
||||
<dhcp_options t="map">
|
||||
<dhclient_client_id/>
|
||||
<dhclient_hostname_option>AUTO</dhclient_hostname_option>
|
||||
</dhcp_options>
|
||||
<dns t="map">
|
||||
<dhcp_hostname t="boolean">true</dhcp_hostname>
|
||||
<hostname>localhost</hostname>
|
||||
<resolv_conf_policy>auto</resolv_conf_policy>
|
||||
</dns>
|
||||
<interfaces t="list">
|
||||
<interface t="map">
|
||||
<bootproto>dhcp</bootproto>
|
||||
<name>eth0</name>
|
||||
<startmode>auto</startmode>
|
||||
<zone>public</zone>
|
||||
</interface>
|
||||
</interfaces>
|
||||
<ipv6 t="boolean">true</ipv6>
|
||||
<keep_install_network t="boolean">true</keep_install_network>
|
||||
<managed t="boolean">false</managed>
|
||||
<routing t="map">
|
||||
<ipv4_forward t="boolean">false</ipv4_forward>
|
||||
<ipv6_forward t="boolean">false</ipv6_forward>
|
||||
</routing>
|
||||
</networking>
|
||||
<ntp-client t="map">
|
||||
<ntp_policy>auto</ntp_policy>
|
||||
<ntp_servers t="list"/>
|
||||
<ntp_sync>systemd</ntp_sync>
|
||||
</ntp-client>
|
||||
<partitioning t="list">
|
||||
<drive t="map">
|
||||
<device>/dev/vda</device>
|
||||
<disklabel>gpt</disklabel>
|
||||
<enable_snapshots t="boolean">false</enable_snapshots>
|
||||
<partitions t="list">
|
||||
<partition t="map">
|
||||
<create t="boolean">true</create>
|
||||
<filesystem t="symbol">vfat</filesystem>
|
||||
<format t="boolean">true</format>
|
||||
<fstopt>utf8</fstopt>
|
||||
<mount>/boot/efi</mount>
|
||||
<mountby t="symbol">uuid</mountby>
|
||||
<partition_id t="integer">259</partition_id>
|
||||
<partition_nr t="integer">1</partition_nr>
|
||||
<resize t="boolean">false</resize>
|
||||
<size>134217728</size>
|
||||
</partition>
|
||||
<partition t="map">
|
||||
<create t="boolean">true</create>
|
||||
<create_subvolumes t="boolean">true</create_subvolumes>
|
||||
<filesystem t="symbol">btrfs</filesystem>
|
||||
<format t="boolean">true</format>
|
||||
<mount>/</mount>
|
||||
<mountby t="symbol">uuid</mountby>
|
||||
<partition_id t="integer">131</partition_id>
|
||||
<partition_nr t="integer">2</partition_nr>
|
||||
<quotas t="boolean">false</quotas>
|
||||
<resize t="boolean">false</resize>
|
||||
<size>6307167744</size>
|
||||
<subvolumes t="list">
|
||||
<subvolume t="map">
|
||||
<copy_on_write t="boolean">false</copy_on_write>
|
||||
<path>var</path>
|
||||
</subvolume>
|
||||
<subvolume t="map">
|
||||
<copy_on_write t="boolean">true</copy_on_write>
|
||||
<path>usr/local</path>
|
||||
</subvolume>
|
||||
<subvolume t="map">
|
||||
<copy_on_write t="boolean">true</copy_on_write>
|
||||
<path>tmp</path>
|
||||
</subvolume>
|
||||
<subvolume t="map">
|
||||
<copy_on_write t="boolean">true</copy_on_write>
|
||||
<path>srv</path>
|
||||
</subvolume>
|
||||
<subvolume t="map">
|
||||
<copy_on_write t="boolean">true</copy_on_write>
|
||||
<path>root</path>
|
||||
</subvolume>
|
||||
<subvolume t="map">
|
||||
<copy_on_write t="boolean">true</copy_on_write>
|
||||
<path>opt</path>
|
||||
</subvolume>
|
||||
<subvolume t="map">
|
||||
<copy_on_write t="boolean">true</copy_on_write>
|
||||
<path>home</path>
|
||||
</subvolume>
|
||||
<subvolume t="map">
|
||||
<copy_on_write t="boolean">true</copy_on_write>
|
||||
<path>boot/grub2/arm64-efi</path>
|
||||
</subvolume>
|
||||
</subvolumes>
|
||||
<subvolumes_prefix>@</subvolumes_prefix>
|
||||
</partition>
|
||||
</partitions>
|
||||
<type t="symbol">CT_DISK</type>
|
||||
<use>all</use>
|
||||
</drive>
|
||||
</partitioning>
|
||||
<proxy t="map">
|
||||
<enabled t="boolean">false</enabled>
|
||||
</proxy>
|
||||
<services-manager t="map">
|
||||
<default_target>multi-user</default_target>
|
||||
<services t="map">
|
||||
<enable t="list">
|
||||
<service>YaST2-Firstboot</service>
|
||||
<service>YaST2-Second-Stage</service>
|
||||
<service>apparmor</service>
|
||||
<service>auditd</service>
|
||||
<service>klog</service>
|
||||
<service>chronyd</service>
|
||||
<service>cron</service>
|
||||
<service>cups</service>
|
||||
<service>firewalld</service>
|
||||
<service>wickedd-auto4</service>
|
||||
<service>wickedd-dhcp4</service>
|
||||
<service>wickedd-dhcp6</service>
|
||||
<service>wickedd-nanny</service>
|
||||
<service>irqbalance</service>
|
||||
<service>issue-generator</service>
|
||||
<service>kbdsettings</service>
|
||||
<service>wicked</service>
|
||||
<service>nscd</service>
|
||||
<service>postfix</service>
|
||||
<service>purge-kernels</service>
|
||||
<service>rsyslog</service>
|
||||
<service>smartd</service>
|
||||
<service>sshd</service>
|
||||
<service>systemd-pstore</service>
|
||||
<service>systemd-remount-fs</service>
|
||||
</enable>
|
||||
</services>
|
||||
</services-manager>
|
||||
<software t="map">
|
||||
<install_recommended t="boolean">true</install_recommended>
|
||||
<instsource/>
|
||||
<packages t="list">
|
||||
<package>wicked</package>
|
||||
<package>shim</package>
|
||||
<package>os-prober</package>
|
||||
<package>openssh</package>
|
||||
<package>openSUSE-release</package>
|
||||
<package>mokutil</package>
|
||||
<package>kexec-tools</package>
|
||||
<package>grub2-arm64-efi</package>
|
||||
<package>glibc</package>
|
||||
<package>firewalld</package>
|
||||
<package>e2fsprogs</package>
|
||||
<package>dosfstools</package>
|
||||
<package>chrony</package>
|
||||
<package>btrfsprogs</package>
|
||||
<package>autoyast2</package>
|
||||
</packages>
|
||||
<patterns t="list">
|
||||
<pattern>apparmor</pattern>
|
||||
<pattern>base</pattern>
|
||||
<pattern>documentation</pattern>
|
||||
<pattern>enhanced_base</pattern>
|
||||
<pattern>minimal_base</pattern>
|
||||
<pattern>sw_management</pattern>
|
||||
<pattern>yast2_basis</pattern>
|
||||
</patterns>
|
||||
<products t="list">
|
||||
<product>Leap</product>
|
||||
</products>
|
||||
</software>
|
||||
<ssh_import t="map">
|
||||
<copy_config t="boolean">false</copy_config>
|
||||
<import t="boolean">false</import>
|
||||
</ssh_import>
|
||||
<user_defaults t="map">
|
||||
<expire/>
|
||||
<group>100</group>
|
||||
<home>/home</home>
|
||||
<inactive>-1</inactive>
|
||||
<shell>/bin/bash</shell>
|
||||
<umask>022</umask>
|
||||
</user_defaults>
|
||||
<users t="list">
|
||||
<user t="map">
|
||||
<authorized_keys t="list"/>
|
||||
<encrypted t="boolean">true</encrypted>
|
||||
<fullname>user</fullname>
|
||||
<gid>100</gid>
|
||||
<home>/home/user</home>
|
||||
<home_btrfs_subvolume t="boolean">false</home_btrfs_subvolume>
|
||||
<password_settings t="map">
|
||||
<expire/>
|
||||
<flag/>
|
||||
<inact/>
|
||||
<max>99999</max>
|
||||
<min>0</min>
|
||||
<warn>7</warn>
|
||||
</password_settings>
|
||||
<shell>/bin/bash</shell>
|
||||
<uid>1000</uid>
|
||||
<user_password>$6$WV8CB/c6j0zhAi5S$4euhbt4alH7WNfaatS9IJgPiiKDJ48d5Ru1zCZCA0N9GiyOPuefN2PAUWlyYeTgqAInpyvPh1frdp4fFVjvEn0</user_password>
|
||||
<username>user</username>
|
||||
</user>
|
||||
<user t="map">
|
||||
<encrypted t="boolean">true</encrypted>
|
||||
<fullname>User for nscd</fullname>
|
||||
<gid>478</gid>
|
||||
<home>/run/nscd</home>
|
||||
<home_btrfs_subvolume t="boolean">false</home_btrfs_subvolume>
|
||||
<password_settings t="map">
|
||||
<expire/>
|
||||
<flag/>
|
||||
<inact/>
|
||||
<max/>
|
||||
<min/>
|
||||
<warn/>
|
||||
</password_settings>
|
||||
<shell>/sbin/nologin</shell>
|
||||
<uid>478</uid>
|
||||
<user_password>!</user_password>
|
||||
<username>nscd</username>
|
||||
</user>
|
||||
<user t="map">
|
||||
<encrypted t="boolean">true</encrypted>
|
||||
<fullname>systemd Network Management</fullname>
|
||||
<gid>480</gid>
|
||||
<home>/</home>
|
||||
<home_btrfs_subvolume t="boolean">false</home_btrfs_subvolume>
|
||||
<password_settings t="map">
|
||||
<expire/>
|
||||
<flag/>
|
||||
<inact/>
|
||||
<max/>
|
||||
<min/>
|
||||
<warn/>
|
||||
</password_settings>
|
||||
<shell>/usr/sbin/nologin</shell>
|
||||
<uid>480</uid>
|
||||
<user_password>!*</user_password>
|
||||
<username>systemd-network</username>
|
||||
</user>
|
||||
<user t="map">
|
||||
<encrypted t="boolean">true</encrypted>
|
||||
<fullname>Daemon</fullname>
|
||||
<gid>2</gid>
|
||||
<home>/sbin</home>
|
||||
<home_btrfs_subvolume t="boolean">false</home_btrfs_subvolume>
|
||||
<password_settings t="map">
|
||||
<expire/>
|
||||
<flag/>
|
||||
<inact/>
|
||||
<max/>
|
||||
<min/>
|
||||
<warn/>
|
||||
</password_settings>
|
||||
<shell>/usr/sbin/nologin</shell>
|
||||
<uid>2</uid>
|
||||
<user_password>!</user_password>
|
||||
<username>daemon</username>
|
||||
</user>
|
||||
<user t="map">
|
||||
<encrypted t="boolean">true</encrypted>
|
||||
<fullname>systemd Time Synchronization</fullname>
|
||||
<gid>479</gid>
|
||||
<home>/</home>
|
||||
<home_btrfs_subvolume t="boolean">false</home_btrfs_subvolume>
|
||||
<password_settings t="map">
|
||||
<expire/>
|
||||
<flag/>
|
||||
<inact/>
|
||||
<max/>
|
||||
<min/>
|
||||
<warn/>
|
||||
</password_settings>
|
||||
<shell>/usr/sbin/nologin</shell>
|
||||
<uid>479</uid>
|
||||
<user_password>!*</user_password>
|
||||
<username>systemd-timesync</username>
|
||||
</user>
|
||||
<user t="map">
|
||||
<encrypted t="boolean">true</encrypted>
|
||||
<fullname>user for rpcbind</fullname>
|
||||
<gid>65534</gid>
|
||||
<home>/var/lib/empty</home>
|
||||
<home_btrfs_subvolume t="boolean">false</home_btrfs_subvolume>
|
||||
<password_settings t="map">
|
||||
<expire/>
|
||||
<flag/>
|
||||
<inact/>
|
||||
<max/>
|
||||
<min/>
|
||||
<warn/>
|
||||
</password_settings>
|
||||
<shell>/sbin/nologin</shell>
|
||||
<uid>475</uid>
|
||||
<user_password>!</user_password>
|
||||
<username>rpc</username>
|
||||
</user>
|
||||
<user t="map">
|
||||
<encrypted t="boolean">true</encrypted>
|
||||
<fullname>SSH daemon</fullname>
|
||||
<gid>476</gid>
|
||||
<home>/var/lib/sshd</home>
|
||||
<home_btrfs_subvolume t="boolean">false</home_btrfs_subvolume>
|
||||
<password_settings t="map">
|
||||
<expire/>
|
||||
<flag/>
|
||||
<inact/>
|
||||
<max/>
|
||||
<min/>
|
||||
<warn/>
|
||||
</password_settings>
|
||||
<shell>/usr/sbin/nologin</shell>
|
||||
<uid>476</uid>
|
||||
<user_password>!</user_password>
|
||||
<username>sshd</username>
|
||||
</user>
|
||||
<user t="map">
|
||||
<encrypted t="boolean">true</encrypted>
|
||||
<fullname>Postfix Daemon</fullname>
|
||||
<gid>51</gid>
|
||||
<home>/var/spool/postfix</home>
|
||||
<home_btrfs_subvolume t="boolean">false</home_btrfs_subvolume>
|
||||
<password_settings t="map">
|
||||
<expire/>
|
||||
<flag/>
|
||||
<inact/>
|
||||
<max/>
|
||||
<min/>
|
||||
<warn/>
|
||||
</password_settings>
|
||||
<shell>/usr/sbin/nologin</shell>
|
||||
<uid>51</uid>
|
||||
<user_password>!</user_password>
|
||||
<username>postfix</username>
|
||||
</user>
|
||||
<user t="map">
|
||||
<encrypted t="boolean">true</encrypted>
|
||||
<fullname>NFS statd daemon</fullname>
|
||||
<gid>65533</gid>
|
||||
<home>/var/lib/nfs</home>
|
||||
<home_btrfs_subvolume t="boolean">false</home_btrfs_subvolume>
|
||||
<password_settings t="map">
|
||||
<expire/>
|
||||
<flag/>
|
||||
<inact/>
|
||||
<max/>
|
||||
<min/>
|
||||
<warn/>
|
||||
</password_settings>
|
||||
<shell>/sbin/nologin</shell>
|
||||
<uid>474</uid>
|
||||
<user_password>!</user_password>
|
||||
<username>statd</username>
|
||||
</user>
|
||||
<user t="map">
|
||||
<encrypted t="boolean">true</encrypted>
|
||||
<fullname>bin</fullname>
|
||||
<gid>1</gid>
|
||||
<home>/bin</home>
|
||||
<home_btrfs_subvolume t="boolean">false</home_btrfs_subvolume>
|
||||
<password_settings t="map">
|
||||
<expire/>
|
||||
<flag/>
|
||||
<inact/>
|
||||
<max/>
|
||||
<min/>
|
||||
<warn/>
|
||||
</password_settings>
|
||||
<shell>/usr/sbin/nologin</shell>
|
||||
<uid>1</uid>
|
||||
<user_password>!</user_password>
|
||||
<username>bin</username>
|
||||
</user>
|
||||
<user t="map">
|
||||
<authorized_keys t="list"/>
|
||||
<encrypted t="boolean">true</encrypted>
|
||||
<fullname>root</fullname>
|
||||
<gid>0</gid>
|
||||
<home>/root</home>
|
||||
<home_btrfs_subvolume t="boolean">false</home_btrfs_subvolume>
|
||||
<password_settings t="map">
|
||||
<expire/>
|
||||
<flag/>
|
||||
<inact/>
|
||||
<max/>
|
||||
<min/>
|
||||
<warn/>
|
||||
</password_settings>
|
||||
<shell>/bin/bash</shell>
|
||||
<uid>0</uid>
|
||||
<user_password>$6$zAe5W7gw/kja9aKy$mM.BWtNyjalXrDNig4CUfN3bgfmehUIs8.zvBwWn1XroK104G.rY3lyup3OH8TujieUmgO4J74Df.LktV4A1K1</user_password>
|
||||
<username>root</username>
|
||||
</user>
|
||||
<user t="map">
|
||||
<encrypted t="boolean">true</encrypted>
|
||||
<fullname>User for D-Bus</fullname>
|
||||
<gid>499</gid>
|
||||
<home>/run/dbus</home>
|
||||
<home_btrfs_subvolume t="boolean">false</home_btrfs_subvolume>
|
||||
<password_settings t="map">
|
||||
<expire/>
|
||||
<flag/>
|
||||
<inact/>
|
||||
<max/>
|
||||
<min/>
|
||||
<warn/>
|
||||
</password_settings>
|
||||
<shell>/usr/bin/false</shell>
|
||||
<uid>499</uid>
|
||||
<user_password>!</user_password>
|
||||
<username>messagebus</username>
|
||||
</user>
|
||||
<user t="map">
|
||||
<encrypted t="boolean">true</encrypted>
|
||||
<fullname>Manual pages viewer</fullname>
|
||||
<gid>62</gid>
|
||||
<home>/var/lib/empty</home>
|
||||
<home_btrfs_subvolume t="boolean">false</home_btrfs_subvolume>
|
||||
<password_settings t="map">
|
||||
<expire/>
|
||||
<flag/>
|
||||
<inact/>
|
||||
<max/>
|
||||
<min/>
|
||||
<warn/>
|
||||
</password_settings>
|
||||
<shell>/usr/sbin/nologin</shell>
|
||||
<uid>13</uid>
|
||||
<user_password>!</user_password>
|
||||
<username>man</username>
|
||||
</user>
|
||||
<user t="map">
|
||||
<encrypted t="boolean">true</encrypted>
|
||||
<fullname>Printing daemon</fullname>
|
||||
<gid>497</gid>
|
||||
<home>/var/spool/lpd</home>
|
||||
<home_btrfs_subvolume t="boolean">false</home_btrfs_subvolume>
|
||||
<password_settings t="map">
|
||||
<expire/>
|
||||
<flag/>
|
||||
<inact/>
|
||||
<max/>
|
||||
<min/>
|
||||
<warn/>
|
||||
</password_settings>
|
||||
<shell>/usr/sbin/nologin</shell>
|
||||
<uid>497</uid>
|
||||
<user_password>!</user_password>
|
||||
<username>lp</username>
|
||||
</user>
|
||||
<user t="map">
|
||||
<encrypted t="boolean">true</encrypted>
|
||||
<fullname>User for polkitd</fullname>
|
||||
<gid>477</gid>
|
||||
<home>/var/lib/polkit</home>
|
||||
<home_btrfs_subvolume t="boolean">false</home_btrfs_subvolume>
|
||||
<password_settings t="map">
|
||||
<expire/>
|
||||
<flag/>
|
||||
<inact/>
|
||||
<max/>
|
||||
<min/>
|
||||
<warn/>
|
||||
</password_settings>
|
||||
<shell>/usr/sbin/nologin</shell>
|
||||
<uid>477</uid>
|
||||
<user_password>!</user_password>
|
||||
<username>polkitd</username>
|
||||
</user>
|
||||
<user t="map">
|
||||
<encrypted t="boolean">true</encrypted>
|
||||
<fullname>Chrony Daemon</fullname>
|
||||
<gid>482</gid>
|
||||
<home>/var/lib/chrony</home>
|
||||
<home_btrfs_subvolume t="boolean">false</home_btrfs_subvolume>
|
||||
<password_settings t="map">
|
||||
<expire/>
|
||||
<flag/>
|
||||
<inact/>
|
||||
<max/>
|
||||
<min/>
|
||||
<warn/>
|
||||
</password_settings>
|
||||
<shell>/usr/sbin/nologin</shell>
|
||||
<uid>496</uid>
|
||||
<user_password>!</user_password>
|
||||
<username>chrony</username>
|
||||
</user>
|
||||
<user t="map">
|
||||
<encrypted t="boolean">true</encrypted>
|
||||
<fullname>nobody</fullname>
|
||||
<gid>65534</gid>
|
||||
<home>/var/lib/nobody</home>
|
||||
<home_btrfs_subvolume t="boolean">false</home_btrfs_subvolume>
|
||||
<password_settings t="map">
|
||||
<expire/>
|
||||
<flag/>
|
||||
<inact/>
|
||||
<max/>
|
||||
<min/>
|
||||
<warn/>
|
||||
</password_settings>
|
||||
<shell>/bin/bash</shell>
|
||||
<uid>65534</uid>
|
||||
<user_password>!</user_password>
|
||||
<username>nobody</username>
|
||||
</user>
|
||||
<user t="map">
|
||||
<encrypted t="boolean">true</encrypted>
|
||||
<fullname>Mailer daemon</fullname>
|
||||
<gid>498</gid>
|
||||
<home>/var/spool/clientmqueue</home>
|
||||
<home_btrfs_subvolume t="boolean">false</home_btrfs_subvolume>
|
||||
<password_settings t="map">
|
||||
<expire/>
|
||||
<flag/>
|
||||
<inact/>
|
||||
<max/>
|
||||
<min/>
|
||||
<warn/>
|
||||
</password_settings>
|
||||
<shell>/usr/sbin/nologin</shell>
|
||||
<uid>498</uid>
|
||||
<user_password>!</user_password>
|
||||
<username>mail</username>
|
||||
</user>
|
||||
</users>
|
||||
</profile>
|
||||
@@ -15,6 +15,11 @@ EAT_TARGET_SYS:aarch64 ?= "${@ 'aarch64-none-linux-gnu' if os.path.exists('${EXT
|
||||
EAT_TARGET_SYS = "${TARGET_SYS}"
|
||||
TARGET_PREFIX = "${EAT_TARGET_SYS}-"
|
||||
|
||||
EXTERNAL_TOOLCHAIN_LIBDIR = "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', '/usr/lib', '/lib', d)}"
|
||||
EXTERNAL_TOOLCHAIN_DYN_LINKER_PATH:arm ?= " -Wl,--dynamic-linker=${EXTERNAL_TOOLCHAIN_LIBDIR}/ld-linux-armhf.so.3"
|
||||
EXTERNAL_TOOLCHAIN_DYN_LINKER_PATH:aarch64 ?= " -Wl,--dynamic-linker=${EXTERNAL_TOOLCHAIN_LIBDIR}/ld-linux-aarch64.so.1"
|
||||
TARGET_LDFLAGS:append:class-target = "${EXTERNAL_TOOLCHAIN_DYN_LINKER_PATH}"
|
||||
|
||||
EAT_LIBDIR:arm = "lib"
|
||||
EAT_LIBDIR:aarch64 = "lib64"
|
||||
|
||||
|
||||
+74
-49
@@ -118,54 +118,80 @@ do_install() {
|
||||
else
|
||||
cp ${CP_ARGS} ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/libc/lib/${linker_name} ${D}${base_libdir}/
|
||||
fi
|
||||
ln -sf ../../lib/librt.so.1 ${D}${libdir}/librt.so
|
||||
ln -sf ../../lib/libcrypt.so.1 ${D}${libdir}/libcrypt.so
|
||||
ln -sf ../../lib/libresolv.so.2 ${D}${libdir}/libresolv.so
|
||||
ln -sf ../../lib/libnss_hesiod.so.2 ${D}${libdir}/libnss_hesiod.so
|
||||
ln -sf ../../lib/libutil.so.1 ${D}${libdir}/libutil.so
|
||||
ln -sf ../../lib/libBrokenLocale.so.1 ${D}${libdir}/libBrokenLocale.so
|
||||
ln -sf ../../lib/libpthread.so.0 ${D}${libdir}/libpthread.so
|
||||
ln -sf ../../lib/libthread_db.so.1 ${D}${libdir}/libthread_db.so
|
||||
ln -sf ../../lib/libanl.so.1 ${D}${libdir}/libanl.so
|
||||
ln -sf ../../lib/libdl.so.2 ${D}${libdir}/libdl.so
|
||||
ln -sf ../../lib/libnss_db.so.2 ${D}${libdir}/libnss_db.so
|
||||
ln -sf ../../lib/libnss_dns.so.2 ${D}${libdir}/libnss_dns.so
|
||||
ln -sf ../../lib/libnss_files.so.2 ${D}${libdir}/libnss_files.so
|
||||
ln -sf ../../lib/libnss_compat.so.2 ${D}${libdir}/libnss_compat.so
|
||||
ln -sf ../../lib/libm.so.6 ${D}${libdir}/libm.so
|
||||
ln -sf ../../lib/libc_malloc_debug.so.0 ${D}${libdir}/libc_malloc_debug.so
|
||||
|
||||
# remove potential .so duplicates from base_libdir
|
||||
# for all symlinks created above in libdir
|
||||
rm -f ${D}${base_libdir}/librt.so
|
||||
rm -f ${D}${base_libdir}/libcrypt.so
|
||||
rm -f ${D}${base_libdir}/libresolv.so
|
||||
rm -f ${D}${base_libdir}/libnss_hesiod.so
|
||||
rm -f ${D}${base_libdir}/libutil.so
|
||||
rm -f ${D}${base_libdir}/libBrokenLocale.so
|
||||
rm -f ${D}${base_libdir}/libpthread.so
|
||||
rm -f ${D}${base_libdir}/libthread_db.so
|
||||
rm -f ${D}${base_libdir}/libanl.so
|
||||
rm -f ${D}${base_libdir}/libdl.so
|
||||
rm -f ${D}${base_libdir}/libnss_db.so
|
||||
rm -f ${D}${base_libdir}/libnss_dns.so
|
||||
rm -f ${D}${base_libdir}/libnss_files.so
|
||||
rm -f ${D}${base_libdir}/libnss_compat.so
|
||||
rm -f ${D}${base_libdir}/libm.so
|
||||
|
||||
# Move these completely to ${libdir} and delete duplicates in ${base_libdir}
|
||||
for lib in asan hwasan atomic gfortran gomp itm lsan sanitizer stdc++ tsan ubsan; do
|
||||
if [ -e ${D}${base_libdir}/lib${lib}.spec ] ; then
|
||||
mv ${D}${base_libdir}/lib${lib}.spec ${D}${libdir}
|
||||
if ${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', 'false', 'true', d)}; then
|
||||
ln -sf ../../lib/librt.so.1 ${D}${libdir}/librt.so
|
||||
ln -sf ../../lib/libcrypt.so.1 ${D}${libdir}/libcrypt.so
|
||||
ln -sf ../../lib/libresolv.so.2 ${D}${libdir}/libresolv.so
|
||||
ln -sf ../../lib/libnss_hesiod.so.2 ${D}${libdir}/libnss_hesiod.so
|
||||
ln -sf ../../lib/libutil.so.1 ${D}${libdir}/libutil.so
|
||||
ln -sf ../../lib/libBrokenLocale.so.1 ${D}${libdir}/libBrokenLocale.so
|
||||
ln -sf ../../lib/libpthread.so.0 ${D}${libdir}/libpthread.so
|
||||
ln -sf ../../lib/libthread_db.so.1 ${D}${libdir}/libthread_db.so
|
||||
ln -sf ../../lib/libanl.so.1 ${D}${libdir}/libanl.so
|
||||
ln -sf ../../lib/libdl.so.2 ${D}${libdir}/libdl.so
|
||||
ln -sf ../../lib/libnss_db.so.2 ${D}${libdir}/libnss_db.so
|
||||
ln -sf ../../lib/libnss_dns.so.2 ${D}${libdir}/libnss_dns.so
|
||||
ln -sf ../../lib/libnss_files.so.2 ${D}${libdir}/libnss_files.so
|
||||
ln -sf ../../lib/libnss_compat.so.2 ${D}${libdir}/libnss_compat.so
|
||||
ln -sf ../../lib/libm.so.6 ${D}${libdir}/libm.so
|
||||
ln -sf ../../lib/libc_malloc_debug.so.0 ${D}${libdir}/libc_malloc_debug.so
|
||||
if [ -f ${D}${base_libdir}/libmvec.so.1 ]; then
|
||||
ln -sf ../../lib/libmvec.so.1 ${D}${libdir}/libmvec.so
|
||||
fi
|
||||
if [ -e ${D}${base_libdir}/lib${lib}.a ] ; then
|
||||
mv ${D}${base_libdir}/lib${lib}.a ${D}${libdir}
|
||||
fi
|
||||
rm -f ${D}${base_libdir}/lib${lib}*
|
||||
done
|
||||
|
||||
# Clean up duplicate libs that are both in base_libdir and libdir
|
||||
rm -f ${D}${libdir}/libgcc*
|
||||
# remove potential .so duplicates from base_libdir
|
||||
# for all symlinks created above in libdir
|
||||
rm -f ${D}${base_libdir}/librt.so
|
||||
rm -f ${D}${base_libdir}/libcrypt.so
|
||||
rm -f ${D}${base_libdir}/libresolv.so
|
||||
rm -f ${D}${base_libdir}/libnss_hesiod.so
|
||||
rm -f ${D}${base_libdir}/libutil.so
|
||||
rm -f ${D}${base_libdir}/libBrokenLocale.so
|
||||
rm -f ${D}${base_libdir}/libpthread.so
|
||||
rm -f ${D}${base_libdir}/libthread_db.so
|
||||
rm -f ${D}${base_libdir}/libanl.so
|
||||
rm -f ${D}${base_libdir}/libdl.so
|
||||
rm -f ${D}${base_libdir}/libnss_db.so
|
||||
rm -f ${D}${base_libdir}/libnss_dns.so
|
||||
rm -f ${D}${base_libdir}/libnss_files.so
|
||||
rm -f ${D}${base_libdir}/libnss_compat.so
|
||||
rm -f ${D}${base_libdir}/libm.so
|
||||
rm -f ${D}${base_libdir}/libmvec.so
|
||||
|
||||
# Move these completely to ${libdir} and delete duplicates in ${base_libdir}
|
||||
for lib in asan hwasan atomic gfortran gomp itm lsan sanitizer stdc++ tsan ubsan; do
|
||||
if [ -e ${D}${base_libdir}/lib${lib}.spec ] ; then
|
||||
mv ${D}${base_libdir}/lib${lib}.spec ${D}${libdir}
|
||||
fi
|
||||
if [ -e ${D}${base_libdir}/lib${lib}.a ] ; then
|
||||
mv ${D}${base_libdir}/lib${lib}.a ${D}${libdir}
|
||||
fi
|
||||
rm -f ${D}${base_libdir}/lib${lib}*
|
||||
done
|
||||
|
||||
# Clean up duplicate libs that are both in base_libdir and libdir
|
||||
rm -f ${D}${libdir}/libgcc*
|
||||
else
|
||||
ln -sf libcrypt.so.1 ${D}${libdir}/libcrypt.so
|
||||
ln -sf libresolv.so.2 ${D}${libdir}/libresolv.so
|
||||
ln -sf libnss_hesiod.so.2 ${D}${libdir}/libnss_hesiod.so
|
||||
ln -sf libutil.so.1 ${D}${libdir}/libutil.so
|
||||
ln -sf libBrokenLocale.so.1 ${D}${libdir}/libBrokenLocale.so
|
||||
ln -sf libpthread.so.0 ${D}${libdir}/libpthread.so
|
||||
ln -sf libthread_db.so.1 ${D}${libdir}/libthread_db.so
|
||||
ln -sf libanl.so.1 ${D}${libdir}/libanl.so
|
||||
ln -sf libdl.so.2 ${D}${libdir}/libdl.so
|
||||
ln -sf libnss_db.so.2 ${D}${libdir}/libnss_db.so
|
||||
ln -sf libnss_dns.so.2 ${D}${libdir}/libnss_dns.so
|
||||
ln -sf libnss_files.so.2 ${D}${libdir}/libnss_files.so
|
||||
ln -sf libnss_compat.so.2 ${D}${libdir}/libnss_compat.so
|
||||
ln -sf libm.so.6 ${D}${libdir}/libm.so
|
||||
ln -sf libc_malloc_debug.so.0 ${D}${libdir}/libc_malloc_debug.so
|
||||
if [ -f ${D}${libdir}/libmvec.so.1 ]; then
|
||||
ln -sf libmvec.so.1 ${D}${libdir}/libmvec.so
|
||||
fi
|
||||
fi
|
||||
|
||||
# Besides ld-${EAT_VER_LIBC}.so, other libs can have duplicates like lib*-${EAT_VER_LIBC}.so
|
||||
# Only remove them if both are regular files and are identical
|
||||
@@ -205,13 +231,13 @@ do_install() {
|
||||
rm -rf ${D}${includedir}/rpcsvc/rquota.*
|
||||
|
||||
if [ -f ${D}${libdir}/libc.so ];then
|
||||
sed -i -e "s# /${EAT_LIBDIR}/${EAT_TARGET_SYS}# ../../${EAT_LIBDIR}#g" -e "s# /usr/${EAT_LIBDIR}/# /usr/lib/#g" -e "s# /usr/${EAT_LIBDIR}/${EAT_TARGET_SYS}# .#g" -e "s# /${EAT_LIBDIR}/ld-linux# ../../${EAT_LIBDIR}/ld-linux#g" ${D}${libdir}/libc.so
|
||||
sed -i -e "s# /usr/${EAT_LIBDIR}/# /usr/lib/#g" -e "s# /${EAT_LIBDIR}/ld-linux# ../../${base_libdir}/ld-linux#g" ${D}${libdir}/libc.so
|
||||
sed -i -e "s# /${EAT_LIBDIR}/libc.so.6# /lib/libc.so.6#g" ${D}${libdir}/libc.so
|
||||
sed -i -e "s# /lib# ../../lib#g" -e "s# /usr/lib# .#g" ${D}${libdir}/libc.so
|
||||
sed -i -e "s# /lib# ../../${base_libdir}#g" -e "s# /usr/lib# .#g" ${D}${libdir}/libc.so
|
||||
fi
|
||||
|
||||
if [ -f ${D}${base_libdir}/libc.so ];then
|
||||
sed -i -e "s# /${EAT_LIBDIR}/${EAT_TARGET_SYS}# ../../lib#g" -e "s# /usr/${EAT_LIBDIR}/${EAT_TARGET_SYS}# .#g" -e "s# /${EAT_LIBDIR}/# /lib/#g" ${D}${base_libdir}/libc.so
|
||||
sed -i -e "s# /${EAT_LIBDIR}/# /lib/#g" ${D}${base_libdir}/libc.so
|
||||
if [ -f ${D}${base_libdir}/libc.so.6 ]; then
|
||||
sed -i -e "s# /usr/${EAT_LIBDIR}/libc.so.6# /lib/libc.so.6#g" -e "s# /${EAT_LIBDIR}/libc.so.6# /lib/libc.so.6#g" ${D}${base_libdir}/libc.so.6
|
||||
fi
|
||||
@@ -527,7 +553,6 @@ FILES:${PN} += "\
|
||||
${base_libdir}/ld*.so.* \
|
||||
${base_libdir}/ld-*.so \
|
||||
${base_libdir}/libpthread*.so.* \
|
||||
${base_libdir}/libpthread*.so \
|
||||
${base_libdir}/libpthread-*.so \
|
||||
${base_libdir}/libresolv*.so.* \
|
||||
${base_libdir}/libresolv-*.so \
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
SUMMARY = "execstack tool"
|
||||
LICENSE = "GPL-2.0-or-later"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=c93c0550bd3173f4504b2cbd8991e50b"
|
||||
|
||||
DEPENDS = "binutils-native elfutils-native"
|
||||
|
||||
SRC_URI = "git://git.yoctoproject.org/prelink-cross;protocol=https;branch=master"
|
||||
SRCREV = "ff2561c02ade96c5d4d56ddd4e27ff064840a176"
|
||||
PV = "1.0+git${SRCPV}"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit autotools native
|
||||
|
||||
do_compile() {
|
||||
oe_runmake -C ${B}/src execstack
|
||||
}
|
||||
|
||||
do_install() {
|
||||
oe_runmake -C ${B}/src install-binPROGRAMS DESTDIR="${D}"
|
||||
}
|
||||
@@ -14,3 +14,6 @@ UPSTREAM_VERSION_UNKNOWN = "1"
|
||||
MODEL_CODE = "FVP_Base_RevC-2xAEMvA"
|
||||
|
||||
COMPATIBLE_HOST = "(aarch64|x86_64).*-linux"
|
||||
|
||||
require remove-execstack.inc
|
||||
REMOVE_EXECSTACKS:x86-64 = "${FVPDIR}/models/${FVP_ARCH_DIR}*/libarmctmodel.so"
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
# Clear the executable stack flag on named shared libraries. This are typically
|
||||
# not needed, and glibc 2.41 will refuse to dlopen() a library that expects
|
||||
# an executable stack.
|
||||
#
|
||||
# The stack permissions can be checked with readelf -lW <.so> | grep GNU_STACK.
|
||||
# RW is read/write, RWE is read/write/execute.
|
||||
|
||||
DEPENDS += "execstack-native"
|
||||
|
||||
REMOVE_EXECSTACKS ?= ""
|
||||
|
||||
do_install:append() {
|
||||
for SO in ${REMOVE_EXECSTACKS}; do
|
||||
NAME=$(basename $SO)
|
||||
SO=${D}$SO
|
||||
|
||||
test -f $SO || bbfatal remove-execstack: cannot find $SO
|
||||
|
||||
if execstack --query $SO | grep -q ^X; then
|
||||
bbnote "Stripping executable stack bit on $NAME"
|
||||
execstack --clear-execstack $SO
|
||||
else
|
||||
bbwarn "Executable stack stripping no longer required for $NAME, remove"
|
||||
fi
|
||||
done
|
||||
}
|
||||
Reference in New Issue
Block a user