루트 권한 없이 사용자 정의 FreeBSD 버전을 구축하는 방법은 무엇입니까?

루트 권한 없이 사용자 정의 FreeBSD 버전을 구축하는 방법은 무엇입니까?

bhyve를 사용하여 로드할 수 있는 소스에서 사용자 정의 FreeBSD 디스크 이미지를 구축하려고 합니다.

이것은 내가 사용하는 스크립트입니다.

export MAKEOBJDIRPREFIX="$HOME/obj"
export CHROOTDIR="$HOME/var"
ncpu="$(sysctl -n hw.ncpu)"

set -e   

cd 
mkdir -p obj
mkdir -p var

svn co http://svn.freebsd.org/base/head ./src
cd src
make -j$ncpu -DNO_CLEAN buildworld buildkernel

cd release
make release -DNODOC -DNOSRC -DNOPORTS
make install DESTDIR=../../var

내 문제는 그것이 make release실패한다는 것입니다.

뭐가 문제 야?


다음은 오류 메시지의 일부입니다 make release.

...

.:      user (0, 1001, not modified: Operation not permitted)
bin:    user (0, 1001, not modified: Operation not permitted)
boot:   user (0, 1001, not modified: Operation not permitted)
boot/defaults:
        user (0, 1001, not modified: Operation not permitted)
boot/dtb:
        user (0, 1001, not modified: Operation not permitted)
boot/firmware:
        user (0, 1001, not modified: Operation not permitted)
boot/kernel:
        user (0, 1001, not modified: Operation not permitted)
boot/modules:
        user (0, 1001, not modified: Operation not permitted)
boot/zfs:
        user (0, 1001, not modified: Operation not permitted)
dev:    user (0, 1001, not modified: Operation not permitted)
etc:    user (0, 1001, not modified: Operation not permitted)

...

--------------------------------------------------------------
>>> Distributing everything
--------------------------------------------------------------
cd /usr/home/m/src; make -f Makefile.inc1 distribute
===> lib (distribute)
===> lib/csu (distribute)
===> lib/csu/amd64 (distribute)
cd /usr/home/m/src/lib/csu/amd64;  make install installconfig -DNO_SUBDIR DESTDIR=/usr/home/m/obj/usr/home/m/src/release/dist/base SHARED=copies
install  -o root -g wheel  -m 444 crt1.o crti.o crtn.o Scrt1.o gcrt1.o /usr/home/m/obj/usr/home/m/src/release/dist/base/usr/lib/
install: /usr/home/m/obj/usr/home/m/src/release/dist/base/usr/lib/crt1.o: chown/chgrp: Operation not permitted
*** Error code 71

...

답변1

NO_ROOT환경 변수는 다음으로 전달 될 수 있습니다 make.Makefile.inc1자세한 내용은.

관련 정보