RE: anaconda-runtime documentation?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> > --UlVJffcvxoiEqYs2
> > Content-Type: text/plain; charset=us-ascii
> > Content-Disposition: inline
> > Content-Transfer-Encoding: quoted-printable
> > 
> > On Thu, 03 Jan 2002, Bob Tanner wrote:
> > 
> > > Where can I find documentation for the anaconda-runtime rpm?
> > >=20
> > > In particular, what do all the files do /usr/lib/anaconda-runtime.
> > 
> > The best documentation is to just look at the files and see 
> what they
> > do.  A lot of them are scripts called by other scripts in 
> there.  The
> > most important two are buildinstall which takes an RPM tree 
> and builds
> > all the anaconda boot and stage2 images for it, as well as 
> doing stuff
> > like genhdlist.  The other is splitdistro which splits a big install
> > root into two directory trees, one for each disc, for 
> burning purposes.
> 
> 
> Not very practical for those without a good understanding of C, Python
> *AND* bash.
> 
> Frankly, I think if some Red Hatter put together some basic 
> documentation,
> the effort would be repaid the next time a new Red Hatter had 
> to learn the
> system.
> 
> 
> I've looked at the scripts etc (did so before joining this 
> list). Python's
> a big mystery to me, I have hardly any idea what's going on.
> 
> My C is a little better, but my examination of genhdlist has 
> revealed a bug
> (which I found before looking at the code) but next to no 
> light on what its
> argments mean. I especially have not been able to discover 
> what format the
> file argument to --fileorder is (other than strings).
> 
> As for comments, the only multiline comments in the entire program are
> where there's a group of lines commented out.
> 
> 
> 
> The bug?
> [summer@numbat summer]$ /usr/lib/anaconda-runtime/genhdlist --help
> genhdlist: bad argument --help: unknown option
> [summer@numbat summer]$
> 
> 
> There's a usage() function in the program, it's called in at 
> least one place:
> [summer@numbat summer]$ /usr/lib/anaconda-runtime/genhdlist 
> --fileorder fred
> genhdlist:              genhdlist [--withnumbers] 
> [--fileorder <path>] [--hdlist <path>] <paths>+
> [summer@numbat summer]$
> 
> 
> Not that it actually tells me how to feed it.
> 
> I've gone through a good deal of anaconda-list and 
> kickstart-list and so
> far have no clues on how to run genhdlist or splitdistro. 
> buildinstall I
> can manage, at least in the simple case.
> 
> 
> 
> -- 
> Cheers
> John Summerfield
> 
> Microsoft's most solid OS: http://www.geocities.com/rcwoolley/
> 
> Note: mail delivered to me is deemed to be intended for me, 
> for my disposition.

This is how I use those programs:

Copy both CDs to an i386 directory, and the source CDs to SRPMS.  For this
explanation I will use /redhat/rh72/i386 and /redhat/rh72/SRPMS.  If you
want to do the very minimum, create these directories:

# mkdir -p /redhat/rh72/i386/RedHat/RPMS
# mkdir -p /redhat/rh72/i386/RedHat/base
# mkdir -p /redhat/rh72/SRPMS/SRPMS

and copy these files on the CDs to the new directories:

# cd /mnt/cdrom
# cp COPYING RPM-GPG-KEY README autorun /redhat/rh72/i386
# cd /mnt/cdrom/RedHat/RPMS
# cp *.rpm /redhat/rh72/i386/RedHat/RPMS (for each CD)
# cd /mnt/cdrom/RedHat/base
# cp comps /redhat/rh72/i386/RedHat/base

{optional}
Get the source CDs and copy them over as well:
# cd /mnt/cdrom/SRPMS/SRPMS
# cp *.rpm /redhat/rh72/SRPMS/SRPMS (for each CD)

Install anaconda & anaconda-runtime, and I find it easier to copy the
anaconda-runtime files to the /redhat directory:

# rpm -ivh /rh72/i386/RedHat/RPMS/anaconda-*
# cp -a /usr/lib/anaconda-runtime/* /redhat

To change the bootdisks or other things on the CD that you want installed,
change anaconda from the src.rpm, rebuild it, and put the new anaconda*
packages into the /redhat/rh72/i386/RedHat/RPMS directory, and they will be
used to build the new CDs.

Run genhdlist before _and_ after splitdistro.

# cd /redhat
# ./genhdlist --withnumbers /redhat/rh72/i386 
You must specify the full path, or you will get a 'no such file or
directory' error.

Run pkgorder to get the order that the packages will be installed.

# PYTHONPATH=/usr/lib/anaconda ./pkgorder rh72/i386 i386 > pkgfile

Run buildinstall which creates the boot images, hdstg1.img, stage2.img,
netstg1.img, etc.

# ./buildinstall --pkgorder pkgfile --version 7.2 rh72/i386

I found a bug in splitdistro, where it won't move the /preview directory to
disc2, thus disc1 is too large.  You can either move that directory manually
(mv rh72/i386-disc1/preview rh72/i386-disc2), or edit splitdistro like this:

[around line 169]

moveFiles("%s/RedHat/RPMS" % disc1Dir,
          "%s/RedHat/RPMS" % disc2Dir,
          disc2pkgs);

+# Move /preview to disc2
+os.rename("%s/preview" % disc1Dir,
+          "%s/preview" % disc2Dir);

# ./splitdistro --fileorder pkgfile rh72/ i386

# ./genhdlist --withnumbers /redhat/rh72/i386-disc1 /redhat/rh72/i386-disc2

Then you can run mkisofs to create the CDs.

Forrest





[Index of Archives]     [Kickstart]     [Fedora Users]     [Fedora Legacy List]     [Fedora Maintainers]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]
  Powered by Linux