Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 38724 - Smaller/more flexible basic CD
Summary: Smaller/more flexible basic CD
Status: RESOLVED LATER
Alias: None
Product: Gentoo Release Media
Classification: Unclassified
Component: Everything (show other bugs)
Hardware: All Linux
: Lowest enhancement (vote)
Assignee: Gentoo Release Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-01-19 10:14 UTC by John Richard Moser
Modified: 2004-01-30 06:39 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description John Richard Moser 2004-01-19 10:14:35 UTC
All of the basic CD stages (stage 1, 2, and 3) need an internet connection to work.  The only way to install without a net connection is with the 2 CD GRP set.  The basic CD does not make up the first of the set, so why does it have the stages on the CD?  It's safe to assume that the user has an Internet connection, correct?

You could offer more stages on the Basic CD (stage 1, 2, and 3 UP TO DATE, hardened stages for selinux and etdyn/ssp, experimental stages, etc) and shrink the size of the CD by getting the stages on demand.

First, you need a script, called "unpack_stage" in this example.  Its syntax would be:

unpack_stage <stage> <destination>
`unpack_stage -l` gives a list of available stages

unpack_stage would read a file on the live cd (or even on the ramdisk, if you boot with cdcache; the file would be small enough that you could do this easily) containing a table of stage names and their locations.  It would then download a list of mirrors (like mirrorselect does) and pick one (either at random or by pinging until one responds within 200 mS :P).  Then it would grab that stage.

Stages on the ftp would have to be accessed by symlinks pointing at the stage, since the date on the stages changes when new stages are built.  This should not be a problem.

The end result would look something like this:

unpack_stage stage1 /mnt/gentoo
  Looking up stage1... stages/x86/standard/stage1.tar.bz2
  Downloading a list of mirrors... done
  Choosing a random mirror... ftp.genmirror.org/pub/mirrors/gentoo
  unpacking stage...
  wget -q -O - ftp://ftp.genmirror.org/pub/mirrors/gentoo/stages/x86/standard/stage1.tar.bz2 | tar -jxp -C /mnt/gentoo
  Done unpacking stage.
  Copying /etc/resolv.conf to /mnt/gentoo/etc/... done.
  stage1 unpacked to /mnt/gentoo.  You may now `chroot /mnt/gentoo` and continue the installation from `emerge sync`.

In this way, you would save the user from downloading all 3 stages when downloading the basic CD, shrinking the size of the CD image; and you would also  be able to provide stages such as:
Normal: {stage1,stage2,stage3}
Experimental: {stage1_exp,stage2_exp,stage3_exp}
Hardened (SSP/ET_DYN): {stage1_pie-ssp,stage2_pie-ssp,stage3_pie-ssp}
Hardened (seLinux): {stage1_selinux,stage2_selinux,stage3_selinux}
Comment 1 Benjamin Judas (RETIRED) gentoo-dev 2004-01-30 06:39:27 UTC
Not for 2004.0