Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Failed to run statically compiled helloworld with elfloader #20

Open
prcuzz opened this issue Jul 4, 2023 · 0 comments
Open

Failed to run statically compiled helloworld with elfloader #20

prcuzz opened this issue Jul 4, 2023 · 0 comments

Comments

@prcuzz
Copy link

prcuzz commented Jul 4, 2023

I tried to run the statically compiled helloworld based on the contents of the page https://unikraft.org/docs/usage/bin_compat/ and the following error message was reported:

➜  elfloader git:(staging) ✗ ./../../unikraft/support/scripts/qemu-guest -k ./build/elfloader_qemu-x86_64 -i example/helloworld/helloworld_static
Trying to get root privileges...
qemu-system-x86_64: -device sga: warning: -device sga is deprecated, use -machine graphics=off
**************************************************************************
 QEMU:
   Name:                  7f1376bb-d229-4c23-bc80-92bee37208a3
   PID:                   9616
   Monitor socket:        /run/qemu-guest-9598_monitor.socket
   VNC listen:            5900

   SMP configuration:     sockets=1,cores=1,threads=1
   Memory:                64 MB
   Kernel:                ./build/elfloader_qemu-x86_64
   InitRD:                example/helloworld/helloworld_static
   Parameters:            console=ttyS0

   Warning: No networking for guest!
   Warning: Guest will be terminated with CTRL+C!
**************************************************************************
Starting VM...
Connecting to serial output...

Google, Inc.
Serial Graphics Adapter 12/14/21
SGABIOS $Id$ (build@debian) Tue Dec 14 20:42:46 UTC 2021
Term: 204x40
4 0








































SeaBIOS (version 1.15.0-1)
Booting from ROM...
Powered by
o.   .o       _ _               __ _
Oo   Oo  ___ (_) | __ __  __ _ ' _) :_
oO   oO ' _ `| | |/ /  _)' _` | |_|  _)
oOo oOO| | | | |   (| | | (_) |  _) :_
 OoOoO ._, ._:_:_,\_._,  .__,_:_, \___)
                  Atlas 0.13.1~1b1387c4
[    0.115614] ERR:  [appelfloader] <elf_load.c @  657> console=ttyS0: Failed to execute console=ttyS0: Not a directory
Console terminated, terminating guest (PID: 9616)...

The configuration file contains the following contents:

➜  elfloader git:(staging) ✗ cat .config
#
# Automatically generated file; DO NOT EDIT.
# Unikraft/0.13.1~1b1387c4 Configuration
#
CONFIG_UK_FULLVERSION="0.13.1~1b1387c4"
CONFIG_UK_CODENAME="Atlas"
CONFIG_UK_ARCH="x86_64"
CONFIG_UK_BASE="/home/zzc/Desktop/zzc/my-unikernel/unikraft"
CONFIG_UK_APP="/home/zzc/Desktop/zzc/my-unikernel/apps/elfloader"
CONFIG_UK_DEFNAME="elfloader"

#
# Architecture Selection
#
CONFIG_ARCH_X86_64=y
# CONFIG_ARCH_ARM_64 is not set
# CONFIG_ARCH_ARM_32 is not set
# CONFIG_MARCH_X86_64_NATIVE is not set
CONFIG_MARCH_X86_64_GENERIC=y
# CONFIG_MARCH_X86_64_NOCONA is not set
# CONFIG_MARCH_X86_64_CORE2 is not set
# CONFIG_MARCH_X86_64_COREI7 is not set
# CONFIG_MARCH_X86_64_COREI7AVX is not set
# CONFIG_MARCH_X86_64_COREI7AVXI is not set
# CONFIG_MARCH_X86_64_ATOM is not set
# CONFIG_MARCH_X86_64_K8 is not set
# CONFIG_MARCH_X86_64_K8SSE3 is not set
# CONFIG_MARCH_X86_64_AMDFAM10 is not set
# CONFIG_MARCH_X86_64_BTVER1 is not set
# CONFIG_MARCH_X86_64_BDVER1 is not set
# CONFIG_MARCH_X86_64_BDVER2 is not set
# CONFIG_MARCH_X86_64_BDVER3 is not set
# CONFIG_MARCH_X86_64_BTVER2 is not set

#
# Processor Features
#
CONFIG_X86_64_HAVE_RANDOM=y
# end of Processor Features

CONFIG_STACK_SIZE_PAGE_ORDER=4
CONFIG_HAVE_RANDOM=y
# end of Architecture Selection

#
# Platform Configuration
#
CONFIG_PLAT_KVM=y
CONFIG_KVM_BOOT_PROTO_MULTIBOOT=y
CONFIG_KVM_VMM_QEMU=y
# CONFIG_KVM_VMM_FIRECRACKER is not set

#
# Console Options
#
CONFIG_KVM_KERNEL_SERIAL_CONSOLE=y
CONFIG_KVM_KERNEL_VGA_CONSOLE=y
CONFIG_KVM_DEBUG_SERIAL_CONSOLE=y
CONFIG_KVM_DEBUG_VGA_CONSOLE=y

#
# Serial console configuration
#
CONFIG_KVM_SERIAL_BAUD_115200=y
# CONFIG_KVM_SERIAL_BAUD_57600 is not set
# CONFIG_KVM_SERIAL_BAUD_38400 is not set
# CONFIG_KVM_SERIAL_BAUD_19200 is not set
# end of Serial console configuration
# end of Console Options

CONFIG_KVM_MAX_IRQ_HANDLER_ENTRIES=8
CONFIG_KVM_PCI=y
CONFIG_VIRTIO_BUS=y

#
# Virtio
#
CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_NET=y
CONFIG_VIRTIO_9P=y
# end of Virtio

CONFIG_UKPLAT_ALLOW_GIC=y

#
# Platform Interface Options
#
# CONFIG_UKPLAT_MEMRNAME is not set
CONFIG_UKPLAT_LCPU_MAXCOUNT=1
CONFIG_PAGING=y
# CONFIG_PAGING_5LEVEL is not set
# CONFIG_PAGING_STATS is not set
CONFIG_HAVE_PAGING=y
CONFIG_HAVE_PAGING_DIRECTMAP=y
# end of Platform Interface Options

CONFIG_HZ=100
# end of Platform Configuration

#
# Library Configuration
#
CONFIG_LIB9PFS=y
CONFIG_LIBDEVFS=y
# CONFIG_LIBDEVFS_DEV_NULL is not set
# CONFIG_LIBDEVFS_DEV_ZERO is not set
# CONFIG_LIBDEVFS_DEV_STDOUT is not set
# CONFIG_LIBFDT is not set
CONFIG_LIBISRLIB=y
CONFIG_LIBNOLIBC=y
CONFIG_LIBNOLIBC_UKDEBUG_ASSERT=y
# CONFIG_LIBNOLIBC_SYSLOG is not set
# CONFIG_LIBPOSIX_ENVIRON is not set
# CONFIG_LIBPOSIX_EVENT is not set
# CONFIG_LIBPOSIX_FUTEX is not set
# CONFIG_LIBPOSIX_LIBDL is not set
CONFIG_LIBPOSIX_MMAP=y
# CONFIG_LIBPOSIX_MMAP_TEST is not set
CONFIG_LIBPOSIX_PROCESS=y
CONFIG_LIBPOSIX_PROCESS_PIDS=y
CONFIG_LIBPOSIX_PROCESS_MAX_PID=31
# CONFIG_LIBPOSIX_PROCESS_INIT_PIDS is not set
# CONFIG_LIBPOSIX_PROCESS_CLONE is not set
# CONFIG_LIBPOSIX_PROCESS_DEBUG is not set
CONFIG_LIBPOSIX_SOCKET=y
# CONFIG_LIBPOSIX_SOCKET_PRINT_ERRORS is not set
CONFIG_LIBPOSIX_SYSINFO=y
CONFIG_LIBPOSIX_TIME=y
CONFIG_LIBPOSIX_USER=y
CONFIG_LIBRAMFS=y
CONFIG_LIBSYSCALL_SHIM=y
# CONFIG_LIBSYSCALL_SHIM_LIBCSTUBS is not set
CONFIG_LIBSYSCALL_SHIM_HANDLER=y
CONFIG_LIBSYSCALL_SHIM_HANDLER_ULTLS=y

#
# Debugging
#
# CONFIG_LIBSYSCALL_SHIM_DEBUG_SYSCALLS is not set
# CONFIG_LIBSYSCALL_SHIM_DEBUG_HANDLER is not set
# CONFIG_LIBSYSCALL_SHIM_STRACE is not set
# CONFIG_LIBSYSCALL_SHIM_DEBUG is not set
CONFIG_LIBSYSCALL_SHIM_LEGACY_VERBOSE=y
# end of Debugging

# CONFIG_LIBUBSAN is not set
CONFIG_LIBUK9P=y
CONFIG_LIBUK9P_ERRATUM_WSTAT_FSYNC_ZERO=y
CONFIG_LIBUKALLOC=y
# CONFIG_LIBUKALLOC_IFMALLOC is not set
# CONFIG_LIBUKALLOC_IFSTATS is not set
CONFIG_LIBUKALLOCBBUDDY=y
# CONFIG_LIBUKALLOCPOOL is not set
# CONFIG_LIBUKALLOCREGION is not set
CONFIG_LIBUKARGPARSE=y
# CONFIG_LIBUKARGPARSE_TEST is not set
# CONFIG_LIBUKBLKDEV is not set
CONFIG_LIBUKBOOT=y
# CONFIG_LIBUKBOOT_BANNER_NONE is not set
# CONFIG_LIBUKBOOT_BANNER_MINIMAL is not set
# CONFIG_LIBUKBOOT_BANNER_CLASSIC is not set
CONFIG_LIBUKBOOT_BANNER_POWEREDBY=y
# CONFIG_LIBUKBOOT_BANNER_POWEREDBY_ANSI is not set
# CONFIG_LIBUKBOOT_BANNER_POWEREDBY_ANSI2 is not set
# CONFIG_LIBUKBOOT_BANNER_POWEREDBY_EA is not set
# CONFIG_LIBUKBOOT_BANNER_POWEREDBY_EAANSI is not set
# CONFIG_LIBUKBOOT_BANNER_POWEREDBY_EAANSI2 is not set
# CONFIG_LIBUKBOOT_BANNER_POWEREDBY_U8 is not set
# CONFIG_LIBUKBOOT_BANNER_POWEREDBY_U8ANSI is not set
# CONFIG_LIBUKBOOT_BANNER_POWEREDBY_U8ANSI2 is not set
CONFIG_LIBUKBOOT_MAXNBARGS=60
CONFIG_LIBUKBOOT_INITBBUDDY=y
# CONFIG_LIBUKBOOT_INITREGION is not set
# CONFIG_LIBUKBOOT_NOALLOC is not set
CONFIG_LIBUKBOOT_HEAP_BASE=0x400000000
CONFIG_LIBUKBOOT_INITSCHEDCOOP=y
# CONFIG_LIBUKBOOT_NOSCHED is not set
CONFIG_LIBUKBUS=y
# CONFIG_LIBUKCPIO is not set
CONFIG_LIBUKDEBUG=y
CONFIG_LIBUKDEBUG_PRINTK=y
# CONFIG_LIBUKDEBUG_PRINTK_INFO is not set
# CONFIG_LIBUKDEBUG_PRINTK_WARN is not set
CONFIG_LIBUKDEBUG_PRINTK_ERR=y
# CONFIG_LIBUKDEBUG_PRINTK_CRIT is not set
# CONFIG_LIBUKDEBUG_PRINTD is not set
# CONFIG_LIBUKDEBUG_NOREDIR is not set
CONFIG_LIBUKDEBUG_REDIR_PRINTD=y
# CONFIG_LIBUKDEBUG_REDIR_PRINTK is not set
CONFIG_LIBUKDEBUG_PRINT_TIME=y
# CONFIG_LIBUKDEBUG_PRINT_THREAD is not set
# CONFIG_LIBUKDEBUG_PRINT_CALLER is not set
CONFIG_LIBUKDEBUG_PRINT_SRCNAME=y
# CONFIG_LIBUKDEBUG_ANSI_COLOR is not set
CONFIG_LIBUKDEBUG_ENABLE_ASSERT=y
# CONFIG_LIBUKDEBUG_TRACEPOINTS is not set
CONFIG_LIBUKFALLOC=y
CONFIG_LIBUKFALLOCBUDDY=y
CONFIG_LIBUKFALLOCBUDDY_MAX_ALLOC_ORDER=30
# CONFIG_LIBUKFALLOCBUDDY_DEBUG is not set
# CONFIG_LIBUKFALLOCBUDDY_STATS is not set
CONFIG_LIBUKLIBPARAM=y
CONFIG_LIBUKLOCK=y
CONFIG_LIBUKLOCK_SEMAPHORE=y
CONFIG_LIBUKLOCK_MUTEX=y
# CONFIG_LIBUKLOCK_MUTEX_METRICS is not set
CONFIG_LIBUKLOCK_RWLOCK=y
# CONFIG_LIBUKMMAP is not set
CONFIG_LIBUKMPI=y
CONFIG_LIBUKMPI_MBOX=y
CONFIG_LIBUKNETDEV=y
CONFIG_LIBUKNETDEV_MAXNBQUEUES=1
CONFIG_LIBUKNETDEV_DISPATCHERTHREADS=y
# CONFIG_LIBUKNOFAULT is not set
# CONFIG_LIBUKRING is not set
# CONFIG_LIBUKRUST is not set
CONFIG_LIBUKSCHED=y
# CONFIG_LIBUKSCHED_DEBUG is not set
CONFIG_LIBUKSCHEDCOOP=y
CONFIG_LIBUKSGLIST=y
# CONFIG_LIBUKSIGNAL is not set
# CONFIG_LIBUKSP is not set
# CONFIG_LIBUKSTORE is not set
CONFIG_LIBUKSTREAMBUF=y
# CONFIG_LIBUKSTREAMBUF_TEST is not set
CONFIG_LIBUKSWRAND=y
# CONFIG_LIBUKSWRAND_MWC is not set
CONFIG_LIBUKSWRAND_CHACHA=y
CONFIG_LIBUKSWRAND_INITIALSEED_TIME=y
# CONFIG_LIBUKSWRAND_INITIALSEED_USECONSTANT is not set
# CONFIG_LIBUKSWRAND_DEVFS is not set
# CONFIG_LIBUKTEST is not set
CONFIG_LIBUKTIMECONV=y
CONFIG_LIBUKVMEM=y
CONFIG_LIBUKVMEM_DEMAND_PAGE_IN_SIZE=12
CONFIG_LIBUKVMEM_PAGEFAULT_HANDLER_PRIO=4
CONFIG_LIBUKVMEM_DEFAULT_BASE=0x0000001000000000
CONFIG_LIBUKVMEM_DEDICATED_ANON_BASE=y
CONFIG_LIBUKVMEM_ANON_BASE=0x0000001000000000
CONFIG_LIBUKVMEM_DEDICATED_DMA_BASE=y
CONFIG_LIBUKVMEM_DMA_BASE=0x0000002000000000
CONFIG_LIBUKVMEM_DEDICATED_FILE_BASE=y
CONFIG_LIBUKVMEM_FILE_BASE=0x0000003000000000
CONFIG_LIBUKVMEM_DEDICATED_STACK_BASE=y
CONFIG_LIBUKVMEM_STACK_BASE=0x0000004000000000
# CONFIG_LIBUKVMEM_TEST is not set
CONFIG_LIBVFSCORE=y

#
# vfscore: Configuration
#
CONFIG_LIBVFSCORE_PIPE_SIZE_ORDER=16
# CONFIG_LIBVFSCORE_AUTOMOUNT_ROOTFS is not set
# end of vfscore: Configuration

CONFIG_HAVE_BOOTENTRY=y
CONFIG_HAVE_TIME=y
CONFIG_HAVE_SCHED=y
CONFIG_HAVE_SYSCALL=y
CONFIG_LIBELF=y
# CONFIG_LIBLWIP is not set
# end of Library Configuration

#
# Build Options
#
# CONFIG_OPTIMIZE_NONE is not set
CONFIG_OPTIMIZE_PERF=y
# CONFIG_OPTIMIZE_SIZE is not set

#
# Hint: Specify a CPU type to get most benefits from performance optimization
#
CONFIG_OPTIMIZE_NOOMITFP=y
# CONFIG_OPTIMIZE_DEADELIM is not set
# CONFIG_OPTIMIZE_LTO is not set
# CONFIG_DEBUG_SYMBOLS_LVL0 is not set
# CONFIG_DEBUG_SYMBOLS_LVL1 is not set
# CONFIG_DEBUG_SYMBOLS_LVL2 is not set
CONFIG_DEBUG_SYMBOLS_LVL3=y
# CONFIG_OPTIMIZE_WARNISERROR is not set
# CONFIG_OPTIMIZE_SYMFILE is not set
CONFIG_OPTIMIZE_COMPRESS=y
# CONFIG_RECORD_BUILDTIME is not set
CONFIG_CROSS_COMPILE=""
CONFIG_LLVM_TARGET_ARCH=""
# end of Build Options

#
# Application Options
#
CONFIG_APPELFLOADER_DEPENDENCIES=y
CONFIG_APPELFLOADER_VFSEXEC=y
# CONFIG_APPELFLOADER_INITRDEXEC is not set
CONFIG_APPELFLOADER_CUSTOMAPPNAME=y
CONFIG_APPELFLOADER_VFSEXEC_EXECBIT=y

#
# System call implementations
#
CONFIG_APPELFLOADER_BRK=y
CONFIG_APPELFLOADER_BRK_NBPAGES=512
CONFIG_APPELFLOADER_ARCH_PRCTL=y
# end of System call implementations

CONFIG_APPELFLOADER_STACK_NBPAGES=32
# CONFIG_APPELFLOADER_DEBUG is not set
# end of Application Options

CONFIG_UK_NAME="elfloader"

I don't understand what's wrong, please help me, thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant