カーネルはコマンド「make buildkernel」でビルドされます。/usr/src/Makefile.inc1
buildkernel の定義を見ると、次のようになります。
@echo "--------------------------------------------------------------"
@echo ">>> stage 3.2: building everything"
@echo "--------------------------------------------------------------"
cd ${KRNLOBJDIR}/${_kernel}; ${KMAKE} all -DNO_MODULES_OBJ
@echo "--------------------------------------------------------------"
@echo ">>> Kernel build for ${_kernel} completed on `LC_ALL=C date`"
@echo "--------------------------------------------------------------"
カーネル ビルドの makefile を調べると(GENERIC カーネルをビルドしていると仮定して)、ファイルとが含まれ/usr/obj/usr/src/sys/GENERIC/Makefile
ていることがわかります。見ると、次のリンカー定義が表示されます。kern.pre.mk
kern.post.mk
kern.pre.mk
SYSTEM_LD= @${LD} -Bdynamic -T ${LDSCRIPT} \
-warn-common -export-dynamic -dynamic-linker /red/herring \
-o ${.TARGET} -X ${SYSTEM_OBJS} vers.o
さまざまなアーキテクチャのldscript
ファイルは、/usr/src/sys/conf/
.