Problem with /etc/src.conf and make release

Hi,

I would ask for advice please. I will want to make own ISO installation image with some modifications (image for Hyper-V server).

I am doing these steps:
  1. Fullfill the /etc/src/ directory with the FreeBSD 9.2 source code: svn checkout [url=http://svn.freebsd.org/base/releng/9.2]http://svn.freebsd.org/base/releng/9.2[/url] ..
  2. Create a custom kernel configuration file.
  3. Compile the system and kernel make buildworld; make buildkernel.
  4. cd /usr/src/release and there make cdrom -DNOSRC -DNODOCS -DNOPORTS.
  5. The ISO image is successfully created - that is OK.

But now, I have created my own /usr/src.conf with these settings:
Code:
WITHOUT_BLUETOOTH=YES
WITHOUT_ACPI=YES
WITHOUT_CLANG=YES
WITHOUT_CPP=YES
WITHOUT_CXX=YES
WITHOUT_CVS=YES
WITHOUT_FREEBSD_UPDATE=YES
WITHOUT_GCC=YES
WITHOUT_HTML=YES
WITHOUT_INFO=YES
WITHOUT_IPX=YES
WITHOUT_KERNEL_SYMBOLS=YES
WITHOUT_KVM=YES
WITHOUT_MAN=YES
WITHOUT_NIS=YES
WITHOUT_PPP=YES
WITHOUT_SHAREDOCS=YES
WITHOUT_SYSINSTALL=YES
WITHOUT_USB=YES
WITHOUT_WIRELESS=YES
WITHOUT_ZFS=YES
The make commands for building the system and kernel ended successfully, but make cdrom has failed with this output:
Code:
cd /usr/src; MAKEOBJDIRPREFIX=/usr/obj MACHINE_ARCH=amd64 MACHINE=amd64 CPUTYPE= PATH=/usr/obj/usr/src/tmp/legacy/usr/sbin:/usr/obj/usr/src/tmp/legacy/usr/bin:/usr/obj/usr/src/tmp/legacy/usr/games:/usr/obj/usr/src/tmp/legacy/bin:/usr/obj/usr/src/tmp/usr/sbin:/usr/obj/usr/src/tmp/usr/bin:/usr/obj/usr/src/tmp/usr/games:/tmp/install.TtrdTj9f  LD_LIBRARY_PATH=/tmp/install.TtrdTj9f  PATH_LOCALE=/tmp/install.TtrdTj9f/locale /usr/obj/usr/src/make.amd64/make -f Makefile.inc1    __MAKE_SHELL=/tmp/install.TtrdTj9f/sh redistribute;  MAKEOBJDIRPREFIX=/usr/obj MACHINE_ARCH=amd64 MACHINE=amd64 CPUTYPE= PATH=/usr/obj/usr/src/tmp/legacy/usr/sbin:/usr/obj/usr/src/tmp/legacy/usr/bin:/usr/obj/usr/src/tmp/legacy/usr/games:/usr/obj/usr/src/tmp/legacy/bin:/usr/obj/usr/src/tmp/usr/sbin:/usr/obj/usr/src/tmp/usr/bin:/usr/obj/usr/src/tmp/usr/games:/tmp/install.TtrdTj9f  LD_LIBRARY_PATH=/tmp/install.TtrdTj9f  PATH_LOCALE=/tmp/install.TtrdTj9f/locale rm -rf /tmp/install.TtrdTj9f
cc: not found
"/usr/src/share/mk/bsd.compiler.mk", line 9: warning: "cc --version" returned non-zero status
"/usr/src/share/mk/bsd.compiler.mk", line 17: Unable to determine compiler type for cc
*** [distributeworld] Error code 1
Stop in /usr/src.
*** [distributeworld] Error code 1
Stop in /usr/src.
*** [base.txz] Error code 1
Stop in /usr/src/release.

Is there any way to solve this problem?

Thank you.
With regards.

Tomas
 
You disabled building both gcc and clang. So it does not find any cc at all. Modifying usr/src/share/mk/bsd.compiler.mk could get around that, but later portions may depend on it.
 
Hello,

I try to compile FreeBSD without included compilers, because on virtual machines (from my FreeBSD image) I am not expecting to do any compilations. Only installing prepared binary packages.

I see src.conf(5), there is WITHOUT_TOOLCHAIN, but there is a notice:
Code:
The option does not work for build targets.
I am not sure what this means?

Thank you,
Tomas
 
It means that you must have a working C compiler included in your src.conf(5). The world and kernel builds do not use the C compiler of the host system to avoid problems from version mismatch but use the compiler that is bootstrapped from the sources.
 
The make commands for building the system and kernel ended successfully

Hi !

Because you have succesfully build your own ISO image, let me gently pose the following question.

I'd like to build my own ISO adding packaging from ports.
Do you know the way to declare them using release(7) ?

There are several solutions that solve this problem, but they use poudriere to create a custom FreeBSD repository for packages installation.
Is it possible avoid poudriere ?


Thanks in advance.
 
Back
Top