Date: Mon, 28 May 2012 10:44:18 -0400 From: Eric McCorkle <eric@shadowsun.net> To: soc-status@FreeBSD.org Cc: "Andrey V. Elsukov" <ae@FreeBSD.org> Subject: Status report Message-ID: <4FC38F42.1070007@shadowsun.net>
next in thread | raw e-mail | index | archive | help
The majority of my efforts for the first week were code review and familiarization. At this point, I've managed to build loader.efi for i386, when building world. However, running make in the individual sys/boot/i386/efi directory seems to produce errors for various reasons: 1) Several source files #include headers in the x86/ subdirectory. This directory does not exist in the source tree, but rather is created in a temporary tree in the obj/ directory during buildworld. The result is that doing "cd sys/boot/i386/efi && make" will fail. (Incidentally, some other standalone builds also fail for this reason, so I'm not sure at this point if I'm missing some crucial step, or if this is an outstanding issue) 2) If x86 symlinks are directly created, the build still fails, as essential libraries (ficl, libefi, libstand) are build position-dependent code. The EFI app ABI is requires position-independent code, and thus liking fails. I can work without standalone builds for now, but I will probably need get it working, or else find a workaround solution, as building world to test a change is tedious to say the least. Specific changes I've made: Copied elf64_freebsd.c from libi386 into the efi directory, and modified the makefile to use the appropriate file for the target architecture. Copied bootinfo.h from sys/i386/include into sys/amd64/include, so that builds on amd64 don't fail due to <machine/bootinfo.h> not existing. If bootinfo is the same for both i386 and amd64, might I suggest moving it to sys/x86/include and installing stubs? Current status: I've successfully produced loader.efi for i386. I have not yet tested it with QEMU/TianoCore, because I'm currently reinstalling the KDE ports in an attempt to get rid of some KDE-related issues. Based on comments in the subversion logs, I am going to focus primarily on getting things working for i386, then get amd64 working. The commit logs seemed to indicate that as the existing plan. Plans for this week: Look into the issue of the kernel being able to handle being non-contiguous in memory and figure out what needs to be done there. Also, make some attempt to figure out what needs to be done to build for amd64 (probably this will just involve liking with libi386, or else copying files from that directory).
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4FC38F42.1070007>