Information about the CPIO file format can be found here:
https://www.kernel.org/doc/Documentation/early-userspace/buffer-format.txt
Signed-off-by: Robert Hrusecky <roberth@cs.utexas.edu>
Signed-off-by: Omar Jamil <omarj2898@gmail.com>
Signed-off-by: Sachin Beldona <sachinbeldona@utexas.edu>
Signed-off-by: Gabriel Mocanu <gabi.mocanu98@gmail.com>
Signed-off-by: Alexander Jung <a.jung@lancs.ac.uk>
Reviewed-by: Simon Kuenzer <simon.kuenzer@neclab.eu>
Tested-by: Unikraft CI <monkey@unikraft.io>
GitHub-Pull-Request: #179
$(eval $(call _import_lib,$(CONFIG_UK_BASE)/lib/ukmpi))
$(eval $(call _import_lib,$(CONFIG_UK_BASE)/lib/ukring))
$(eval $(call _import_lib,$(CONFIG_UK_BASE)/lib/ukbus))
+$(eval $(call _import_lib,$(CONFIG_UK_BASE)/lib/ukcpio))
$(eval $(call _import_lib,$(CONFIG_UK_BASE)/lib/uksglist))
$(eval $(call _import_lib,$(CONFIG_UK_BASE)/lib/uknetdev))
$(eval $(call _import_lib,$(CONFIG_UK_BASE)/lib/uk9p))
--- /dev/null
+config LIBUKCPIO
+ bool "ukcpio: CPIO archive extraction"
+ # We use `depends on` and not `select` for the option below to prevent
+ # recursive dependency between vfscore and ukcpio as vfscore has
+ # additional options todo with automatically mounting the desired
+ # filesystem and also initializing it (in the case of ramfs) with
+ # ukcpio.
+ depends on LIBVFSCORE
+ select LIBNOLIBC if !HAVE_LIBC
+ default n
--- /dev/null
+$(eval $(call addlib_s,libukcpio,$(CONFIG_LIBUKCPIO)))
+
+CINCLUDES-$(CONFIG_LIBUKCPIO) += -I$(LIBUKCPIO_BASE)/include
+CXXINCLUDES-$(CONFIG_LIBUKCPIO) += -I$(LIBUKCPIO_BASE)/include