All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] UEFI and systemD
@ 2018-10-12  8:45 lpdev at cordier.org
  2018-10-13 15:41 ` Arnout Vandecappelle
  0 siblings, 1 reply; 2+ messages in thread
From: lpdev at cordier.org @ 2018-10-12  8:45 UTC (permalink / raw)
  To: buildroot

Hi everybody,

I finally succeed to compile and start a linux kernel using EFI. My kernel is booting, but it seems that systemd is not starting. (I only get output from the kernel, and when I plugin/plugoff devices). I have no tty for interacting with the operating system.

After digging in systemd.mk, I noticed that in SYSTEMD_CONF_OPTS, 2 options are disabled:

??? -Defi=false \
??? -Dgnu-efi=false \

Is it normal? Any clue to how to make systemd boot while using Uefi?

Following is my defconfig. Thank you very much for your time.

BR2_x86_64=y
BR2_CCACHE=y
BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_14=y
BR2_GCC_VERSION_5_X=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_GCC_ENABLE_OPENMP=y
BR2_TARGET_GENERIC_HOSTNAME="cstick"
BR2_TARGET_GENERIC_ISSUE="Welcome to Cstick!"
BR2_INIT_SYSTEMD=y
BR2_TARGET_GENERIC_GETTY_PORT="tty1"
BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_D_PATH)/board/cstick/rootfs-overlay"
BR2_ROOTFS_POST_BUILD_SCRIPT="$(BR2_EXTERNAL_D_PATH)/board/cstick/post_build.sh"
BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_D_PATH)/board/cstick/gen_uefi_image.sh"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.14.16"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_D_PATH)/board/cstick/linux-4.4.config"
BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y
BR2_PACKAGE_BZIP2=y
BR2_PACKAGE_CHECK=y
BR2_PACKAGE_MAKE=y
BR2_PACKAGE_SED=y
BR2_PACKAGE_TREE=y
BR2_PACKAGE_EXFAT=y
BR2_PACKAGE_EXFAT_UTILS=y
BR2_PACKAGE_LIBVA_UTILS=y
BR2_PACKAGE_MESA3D=y
BR2_PACKAGE_MESA3D_DRI_DRIVER_I915=y
BR2_PACKAGE_MESA3D_DRI_DRIVER_I965=y
BR2_PACKAGE_XKEYBOARD_CONFIG=y
BR2_PACKAGE_LINUX_FIRMWARE=y
BR2_PACKAGE_LINUX_FIRMWARE_I915=y
BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_8000C=y
BR2_PACKAGE_ACPID=y
BR2_PACKAGE_ACPITOOL=y
BR2_PACKAGE_DBUS_GLIB=y
BR2_PACKAGE_KBD=y
BR2_PACKAGE_LSHW=y
BR2_PACKAGE_PCIUTILS=y
BR2_PACKAGE_PORTAUDIO=y
BR2_PACKAGE_LIBSHA1=y
BR2_PACKAGE_FONTCONFIG=y
BR2_PACKAGE_JASPER=y
BR2_PACKAGE_LIBPNG=y
BR2_PACKAGE_PIXMAN=y
BR2_PACKAGE_TIFF=y
BR2_PACKAGE_GNU_EFI=y
BR2_PACKAGE_LIBXKBCOMMON=y
BR2_PACKAGE_MTDEV=y
BR2_PACKAGE_LIBNL=y
BR2_PACKAGE_LIBEVDEV=y
BR2_PACKAGE_NCURSES_TARGET_PROGS=y
BR2_PACKAGE_PCRE2=y
BR2_PACKAGE_PCRE2_16=y
BR2_PACKAGE_XUTIL_UTIL_MACROS=y
BR2_PACKAGE_DHCPCD=y
BR2_PACKAGE_IPTABLES=y
BR2_PACKAGE_WIRELESS_TOOLS=y
BR2_PACKAGE_BASH=y
BR2_PACKAGE_FILE=y
BR2_PACKAGE_TIME=y
BR2_PACKAGE_WHICH=y
BR2_PACKAGE_EFIBOOTMGR=y
BR2_PACKAGE_HTOP=y
BR2_PACKAGE_PROCPS_NG=y
BR2_PACKAGE_SYSTEMD_HIBERNATE=y
BR2_PACKAGE_SYSTEMD_VCONSOLE=y
BR2_PACKAGE_TAR=y
BR2_PACKAGE_VIM=y
BR2_TARGET_ROOTFS_CPIO=y
BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_EXT2_4=y
BR2_TARGET_ROOTFS_EXT2_LABEL="obr"
BR2_TARGET_ROOTFS_EXT2_SIZE="600M"
BR2_TARGET_GRUB2=y
BR2_TARGET_GRUB2_X86_64_EFI=y
BR2_PACKAGE_HOST_CMAKE=y
BR2_PACKAGE_HOST_DOSFSTOOLS=y
BR2_PACKAGE_HOST_MTOOLS=y
BR2_PACKAGE_HOST_PKGCONF=y

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20181012/df75754c/attachment.html>

^ permalink raw reply	[flat|nested] 2+ messages in thread

* [Buildroot] UEFI and systemD
  2018-10-12  8:45 [Buildroot] UEFI and systemD lpdev at cordier.org
@ 2018-10-13 15:41 ` Arnout Vandecappelle
  0 siblings, 0 replies; 2+ messages in thread
From: Arnout Vandecappelle @ 2018-10-13 15:41 UTC (permalink / raw)
  To: buildroot



On 12/10/18 10:45, lpdev at cordier.org wrote:
> Hi everybody,
> 
> I finally succeed to compile and start a linux kernel using EFI. My kernel is
> booting, but it seems that systemd is not starting. (I only get output from the
> kernel, and when I plugin/plugoff devices). I have no tty for interacting with
> the operating system.
> 
> After digging in systemd.mk, I noticed that in SYSTEMD_CONF_OPTS, 2 options are
> disabled:
> 
> ??? -Defi=false \
> ??? -Dgnu-efi=false \
> 
> Is it normal? Any clue to how to make systemd boot while using Uefi?

 Try setting those options to true and see if it helps...

 The -Defi=false option has been there since the option was introduced in the
bump from 44 to 207. Probably just not something considered relevant at the time.

 The -Dgnu-efi=false was introduced in ac0a31090ad44531fd14a3e3b1bb7e23c1577f68
with the following explanation:

    - Add --disable-gnuefi to configure options to avoid a failure like this
      one:

      checking for /usr/lib/gnuefi/elf_ia32_efi.lds... configure: error:
      cannot check for file existence when cross compiling

 With the switch to meson, that's probably not relevant anymore and it should
instead become something like this:

ifeq ($(BR2_PACKAGE_GNU_EFI),y)
SYSTEMD_DEPENDENCIES += gnu-efi
SYSTEMD_CONF_OPTS += -Dgnu-efi=true
else
SYSTEMD_CONF_OPTS += -Dgnu-efi=false
endif


 If you do get success with these changes, could you send two patches to
Buildroot? The first one to enable the optional gnu-efi dependency, the second
one to enable efi when appropriate. For the latter, of course, you should first
find out when it is appropriate to enable efi.


 Regards,
 Arnout

[snip]
-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2018-10-13 15:41 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-10-12  8:45 [Buildroot] UEFI and systemD lpdev at cordier.org
2018-10-13 15:41 ` Arnout Vandecappelle

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.