iso.1 target and release(8) in RELENG_7 (WAS: Re: release(8)
environmental variables)
Brian A. Seklecki
lavalamp at spiritual-machines.org
Thu Nov 1 11:07:05 PDT 2007
Here's some fun -- I'm pretty sure this worked in RELENG_6:
"make release" in /usr/src/release into RELEASEDIR=/opt/releasedir
The rebuild completes (release.1 -> release.8), the kernels are built,
the file system layout is prepared (ftp.1 -> cdrom.3), then (I think)
the iso.1 target is called and the images are zero-bytes. Log excerpts
below...
Either I'm confused, I have my environmental variables set wrong, or
this is broken. :)
1) My $LOCAL_SCRIPT properly copies mkisofs(1) and mkhybrid(1) into
place in the $CHROOTDIR/usr/bin
$ ls -al /opt/relchroot/usr/bin/mkisofs
-r-xr-xr-x 1 root wheel 510712 Nov 1
02:13 /opt/relchroot/usr/bin/mkisofs
2) On the root of the system, I have to make /R a sylink
to /opt/relchroot/R to make "make iso.1" succeed :
# ls -al /R
lrwxr-xr-x 1 root wheel 16 Oct 29 23:20 /R -> /opt/relchroot/R
Other-wise:
[root at build-fbsd-releng7-amd64 /usr/src/release]# make iso.1
Creating ISO images...
mkisofs: No such file or directory. Invalid node - /R/cdrom/bootonly
*** Error code 2
Stop in /usr/src/release.
3) I don't see how $CHROOTDIR is used in /usr/src/release/Makefile at:
iso.1:
[...]
Unless, when not run as a manual target outside of the chroot(), it
runs in the chroot and /R is relative to $CHROOTDIR?. That would make
sense of the error in the log excerpt below matched what I encounter
on the command line as a manual run.
I'm setting:
# applies to build
export DESTDIR=/opt/dest
export MAKEOBJDIRPREFIX=/opt/obj
export RELEASEDIR=/opt/release
export CHROOTDIR=/opt/relchroot
This is a shell script that runs nightly -- it worked in RELENG_6.
~BAS
[...]
Created /R/stage/floppies/boot.flp
touch floppies.1
touch floppies.3
Setting up FTP distribution area
0 blocks
0 blocks
touch ftp.1
Building CDROM live filesystem image
0 blocks
0 blocks
0 blocks
0 blocks
0 blocks
0 blocks
0 blocks
0 blocks
0 blocks
Copy GENERIC kernel to boot area
Setting up CDROM boot area
touch cdrom.1
Building CDROM disc1 filesystem image
0 blocks
0 blocks
Building CDROM disc2 filesystem image
touch cdrom.2
Building bootonly CDROM filesystem image
touch cdrom.3
Release done
[...]
On Wed, 2007-10-31 at 19:45 +0200, Giorgos Keramidas wrote:
> On 2007-10-31 13:26, "Brian A. Seklecki" <lavalamp at spiritual-machines.org> wrote:
> >>> really sucks.
> >>
> >> I believe that's intentional, so re-running "make release" with
> >> different CHROOTDIR values will produce consistently "similar" binaries.
> >
> > I use LOCAL_SCRIPT to copy /etc/make.conf (well, /etc/src.conf) into place
> > inside the jail for the rebuild so that I can build a custom internal
> > release w/o certain subsystems (IPv6 or CSH, for example)
> >
> > Is there a better way to do it?
>
> LOCAL_SCRIPT sounds fine to me :)
>
> _______________________________________________
> freebsd-questions at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to "freebsd-questions-unsubscribe at freebsd.org"
>
>
>
>
>
>
More information about the freebsd-questions
mailing list