Linuxulator Dynamic Paths
Bruno Lauzé
brunolauze at msn.com
Wed Sep 4 17:56:17 UTC 2013
Hi,
I trying to see how dynamic paths could be implemented in the linuxulator to handle multiple linux base installation.
Everything would still default to /compat/linux but an environment variable could change it so we can execute multiple applications from multiple installation.
Here's the two file that would need to be changed:
sys/compat/linux/linux_util.c:
const char linux_emul_path[] = "/compat/linux";
sys/amd64/linux32/linux32_sysvec.c:
static Elf32_Brandinfo linux_brand = { .brand = ELFOSABI_LINUX, .machine = EM_386, .compat_3_brand = "Linux", .emul_path = "/compat/linux", .interp_path = "/lib/ld-linux.so.1", .sysvec = &elf_linux_sysvec, .interp_newpath = NULL, .brand_note = &linux32_brandnote, .flags = BI_CAN_EXEC_DYN | BI_BRAND_NOTE};
static Elf32_Brandinfo linux_glibc2brand = { .brand = ELFOSABI_LINUX, .machine = EM_386, .compat_3_brand = "Linux", .emul_path = "/compat/linux", .interp_path = "/lib/ld-linux.so.2", .sysvec = &elf_linux_sysvec, .interp_newpath = NULL, .brand_note = &linux32_brandnote, .flags = BI_CAN_EXEC_DYN | BI_BRAND_NOTE};
More information about the freebsd-emulation
mailing list