-- MikePatterson - 14 Mar 2005

scrub the existing software tree (rm -r /{vendor,xhbin}, clear out /fsys1/.software, recreate links, etc).

Set capo's access-rights to:

freebsd5.cscf    capo    arch= admin=cscf.cs

Since I know already from XhierOnFreeBSD2 that I can just brand the binaries, I'll try copying over /.software/arch/{xhier,mfcf-basics,os-extras} from debian30 and then brand 'em.

1>(root)@debian30.math[104]% pwd
/fsys1/.software/arch
1>(root)@debian30.math[105]% rdist -c -w xhier freebsd5.cscf:/tmp
updating host freebsd5.cscf
installing: /tmp/xhier
installing: /tmp/xhier/servers
installing: /tmp/xhier/servers/xh-merge-inetd-conf

Then mv /tmp/xhier /fsys1/.software/arch on freebsd5.cscf. Do the same thing for mfcf-basics and os-extras.

freebsd5# ./hostnames
ELF binary type "0" not known.
./hostnames: Exec format error. Binary file not executable.
freebsd5# brandelf -t Linux hostnames
freebsd5# ./hostnames
freebsd5.cscf freebsd5.cscf freebsd5
freebsd5# 

woo hoo.

Now I've branded all the ELF stuff in /fsys1/.software/arch/*/{bin,maintenance,servers}... make a backup of /fsys1/.software/arch in case I screw this up and need to start again.

cscf.cs# xh-first-time -v freebsd5.cscf
xh-first-time FYI: checking to see if "freebsd5.cscf" is accessible.
xh-first-time FYI: Checking the architecture claimed by "freebsd5.cscf".
xh-first-time warning: The remote host hasn't specified an architecture
xh-first-time warning:    in /software/xhier/config/local/allowed-types.
xh-first-time warning:    Assuming for now that it has the same type as the
xh-first-time warning:    local host, namely "SunOS5.8-Sun4".
xh-first-time FYI: Checking the basic "/software" structure.
xh-first-time: basic check of "freebsd5.cscf" failed.
/tmp/tempware/mfcf-basics/bin/absolute: Exec format error. Binary file not executable.

So I tried chflags schg absolute in /tmp/tempware/mfcf-basics/bin (so it couldn't remove the file next time) and now I get:

rm: /tmp/tempware/mfcf-basics/bin/absolute: Operation not permitted
rm: /tmp/tempware/mfcf-basics/bin: Directory not empty
rm: /tmp/tempware/mfcf-basics: Directory not empty
rm: /tmp/tempware: Directory not empty
mkdir: /tmp/tempware: File exists
xh-first-time FYI: Checking the basic "/software" structure.
xh-first-time: Unable to copy "xh-check" to host "freebsd5.cscf":
xh-first-time:     ./mfcf-basics/bin/absolute: Can't open './mfcf-basics/bin/absolute': File exists
cscf.cs# xh-distribute -h freebsd5.cscf -t admin xhier
xh-distribute warning: the host "freebsd5.cscf" doesn't receive
xh-distribute warning:   admin type files for
xh-distribute warning:   this package (xhier)
xh-distribute warning:   from this host (cscf.cs).

Of course, it helps if the file I branded as a Linux binary actually was such. On debian30, make a quick and dirty change to access-rights and tell it it sends arch to freebsd5.

1>(root)@debian30.math[102]% grep freebsd5 access-rights 
freebsd5.cscf    capo    arch=debian30.math admin=cscf.cs
1>(root)@debian30.math[103]% 

I think I got somewhere this time:

1>(root)@debian30.math[105]% xh-first-time -v freebsd5.cscf
xh-first-time FYI: checking to see if "freebsd5.cscf" is accessible.
xh-first-time FYI: Checking the architecture claimed by "freebsd5.cscf".
xh-first-time warning: The remote host hasn't specified an architecture
xh-first-time warning:    in /software/xhier/config/local/allowed-types.
xh-first-time warning:    Assuming for now that it has the same type as the
xh-first-time warning:    local host, namely "Debian3.0-IA32".
xh-first-time FYI: Checking the basic "/software" structure.
xh-first-time FYI: Verifying access rights to "freebsd5.cscf".
xh-first-time FYI: Making sure "freebsd5.cscf" requests basic packages.
xh-first-time FYI: The target host "freebsd5.cscf" doesn't appear
xh-first-time FYI:   to be configured to receive
xh-first-time FYI:   these packages: os-extras mfcf-basics xhier,
xh-first-time FYI:   so they will be added to:
xh-first-time FYI:   "/software/xhier,dev/data/client-requests/freebsd5.cscf".
xh-first-time FYI: Copying the parts of the basic packages
xh-first-time FYI:   needed for bootstrapping.
xh-first-time warning: Not sending "share" files,
xh-first-time warning:   assuming "freebsd5.cscf" already
xh-first-time warning:   has them (e.g. via NFS).
xh-first-time FYI: Copying arch/xhier to arch/xhier
xh-first-time FYI: Copying arch/mfcf-basics to arch/mfcf-basics
xh-first-time FYI: Copying arch/os-extras to arch/os-extras
xh-first-time FYI: Removing /software/xhier/man
xh-first-time FYI: Removing /software/mfcf-basics/man
xh-first-time FYI: Removing /software/os-extras/man
xh-first-time FYI: Configuring "freebsd5.cscf" to avoid "targets" files.
xh-first-time FYI: Updating "freebsd5.cscf:/.software/local/xhier/config/local/requests".
xh-first-time FYI: Making "freebsd5.cscf:/bin/showpath" if needed.
xh-first-time FYI: Initializing "freebsd5.cscf:/.software/admin/xhier/data/access-rights".
/software/xhier/servers/xh-set-access-rights: Command not found.
xh-first-time FYI: Making "freebsd5.cscf:/.software/admin/xhier/config/local/allowed-types".
xh-first-time FYI: (if it's not there)
xh-first-time FYI: Crude check for missing NFS mounts.
xh-first-time: The shared parts of the "xhier" package
xh-first-time:   seem to be absent from "freebsd5.cscf".
xh-first-time:   Perhaps they need to be NFS mounted
xh-first-time:     and then symlinked to.
1>(root)@debian30.math[106]% 

Edit /fsys1/.software/local/xhier/data/architecture - let's call this FreeBSD5-IA32. Just cos I happened to see that file.

cscf.cs# xh-distribute -h freebsd5.cscf -t admin xhier
xh-distribute warning: the host "freebsd5.cscf" doesn't receive
xh-distribute warning:   admin type files for
xh-distribute warning:   this package (xhier)
xh-distribute warning:   from this host (cscf.cs).
cscf.cs# 

Hrm. I wonder if I can set up allowed-types:

freebsd5# ls -l /fsys1/.software/admin/xhier/config/local/
total 0
-rw-r--r--  1 root  wheel  0 Mar 14 16:40 allowed-types
freebsd5# 

While I'm here, cd /vendor && mkdir etc && cd etc && cp /etc/{passwd,master.passwd,group} ..

Looking at XhierOneZeroOne28Feb2005, I see that Ray suggests we can xh-first-time from the admin machine. So let's try that... nope:

cscf.cs# xh-first-time -v freebsd5.cscf
xh-first-time FYI: checking to see if "freebsd5.cscf" is accessible.
xh-first-time FYI: Checking the architecture claimed by "freebsd5.cscf".
xh-first-time warning: The remote host hasn't specified an architecture
xh-first-time warning:    in /software/xhier/config/local/allowed-types.
xh-first-time warning:    Assuming for now that it has the same type as the
xh-first-time warning:    local host, namely "SunOS5.8-Sun4".
xh-first-time FYI: Checking the basic "/software" structure.
xh-first-time: basic check of "freebsd5.cscf" failed.
/tmp/tempware/mfcf-basics/bin/absolute: Exec format error. Binary file not executable.
xh-first-time:   /software etc. must be created before proceeding.
xh-first-time:   /tmp/tempware/xhier/maintenance/xh-check [-m]
xh-first-time:   may be handy in creating the required paths.
xh-first-time FYI: Verifying access rights to "freebsd5.cscf".
xh-first-time warning: Host "freebsd5.cscf" isn't configured to receive
xh-first-time warning:   architecture specific (i.e. "arch") files
xh-first-time warning:   from this host (cscf.cs),
xh-first-time warning:   so it had better be getting them via NFS
xh-first-time warning:   or from some other machine.

The funny thing is, if I replace the /tmp/tempware's absolute with the "real" arch one, xh-check runs just ducky. Unsurprisingly, capo does the same thing. I tried the same trick as before with chflags to no effect:

capo# xh-first-time -v freebsd5.cscf
xh-first-time FYI: checking to see if "freebsd5.cscf" is accessible.
xh-first-time FYI: Checking the architecture claimed by "freebsd5.cscf".
xh-first-time warning: The remote host hasn't specified an architecture
xh-first-time warning:    in /software/xhier/config/local/allowed-types.
xh-first-time warning:    Assuming for now that it has the same type as the
xh-first-time warning:    local host, namely "SunOS5.8-Sun4".
rm: /tmp/tempware/mfcf-basics/bin/absolute: Operation not permitted
rm: /tmp/tempware/mfcf-basics/bin: Directory not empty
rm: /tmp/tempware/mfcf-basics: Directory not empty
rm: /tmp/tempware: Directory not empty
mkdir: /tmp/tempware: File exists
xh-first-time FYI: Checking the basic "/software" structure.
xh-first-time: Unable to copy "xh-check" to host "freebsd5.cscf":
xh-first-time:     ./mfcf-basics/bin/absolute: Can't open './mfcf-basics/bin/absolute': File exists
capo# 

After some poking, it looks like it might actually be failing because xh-first-time tries to extract the tarball (again?) and fails since it can't overwrite absolute.

Topic revision: r6 - 2006-02-08 - IsaacMorland
Information in this area is meant for use by CSCF staff and is not official documentation, but anybody who is interested is welcome to use it if they find it useful.


Edit

 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2014 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback