Well here is a little description of what panoramix needs to work in comparison
to the standard newt install.

********************************************************************************
* CVS **************************************************************************
********************************************************************************
Like all good free software, panoramix is in CVS :)

You can access it using:
% export CVSROOT=:pserver:anoncvs@linux-mandrake.com:/home/cvs/cooker
% cvs login
% Passwd: cvs
% cvs checkout gi

This is only read-only access. If you want more, tell me (pixel@mandrakesoft.com)

Alas, all is not in CVS as a lot of things are binary files.
For the other things, take cooker-contrib others/src/gi.tar.bz2

Please note that redoing *all* the stuff is not for the faint of heart. I myself
sometimes wonder what the whole make does :-%
Instead, changing some .pm files is quite easy (nice interpreted language)

********************************************************************************
* Making your custom install cdrom *********************************************
********************************************************************************
If you have your own rpms you want to add, or make your own updated cdrom, you
just have to update:
- Mandrake/base/hdlist: use ``misc/genhdlist .''
- Mandrake/base/depslist: use ``misc/gendepslist -h Mandrake/base/depslist Mandrake/base/hdlist''

Optionnally, you can modify Mandrake/base/compss, compssList and compssUsers
See below for information about these files.

********************************************************************************
* FILES ************************************************************************
********************************************************************************
First he are the different things needed :

Mandrake/base/hdlist
	table of rpm's headers. 
	! Need to be remade when Mandrake/RPMS changes !

Mandrake/base/depslist
	for each packages, tell which package it depends on. Also contains the
	size for some (obscure) bloody reasons.
	! Need to be remade when Mandrake/RPMS changes !

Mandrake/base/compss
	obsoletes comps. It store packages in different categories, a bit like
	the %{GROUP} field

Mandrake/base/compssUsers
	obsoletes comps. It contains the different user classes like ``Graphics
	Manipulation'' and ``Games''

Mandrake/base/compssList
	for each packages, it gives the appreciation for each type of user.
	used to preselect packages
	used to decide to show or hide packages.

Mandrake/mdkinst
	live system used on certain installs. See ``Ramdisk or not'' below for
	more.

Mandrake/base/mdkinst_stage2.gz
	for the ramdisk. 
	live sytem in ext2 filesystem gzipped. See ``Ramdisk or not'' below for
	more.

images/gi_*.img
	boot images to use with panoramix. Use:
	- gi_hd for hard-disk install
	- gi_cdrom for cdrom install
	- gi_network for ftp/nfs install
	- gi_pcmcia for pcmcia install (see ``PCMCIA install'' below for more)


Some optional files :

Mandrake/base/depslist.html
	html formatted depslist

********************************************************************************
* logs *************************************************************************
********************************************************************************
During install, a lot of interesting stuff can be found in different places:
in consoles and in files. To switch to console 2 for example, do Ctrl-Alt-F2
from the X install.
- alt-F1: the stdout of the install. Not very interesting stuff
- alt-F2: simple shell. Quite a lot of commands are available but as they are
written in perl (for space), they do not handle the very same options as normal.
After install, you can do ``chroot /mnt'' to see your system just like after
rebooting. ``rpm -qa'' works for example.
- alt-F3: a lot of interesting things. Be carefull, some ``ERROR'' messages are
not interesting.
- alt-F4: kernel's place. aka the output of dmesg.
- alt-F5: the graphical install lives there (may switch to console 7 one day :)
- alt-F7: the output of commands (like lilo or mke2fs).

- /tmp/ddebug.log: same (or nearly the same) as alt-F3
- /tmp/syslog: same as alt-F4
- /mnt/root/ddebug.log: at the end of each step, DrakX tries to backup
/tmp/ddebug.log to /mnt/root. Available only after mounting of /.
- /mnt/root/install.log: the log of the installation (or upgrade) of the rpms
(just like rpm's /mnt/tmp/(install|upgrade).log)
- /mnt/root/auto_inst.cfg.pl: a kickstart file generated at the end of each
step. Can be used in 2 ways: kickstart install or ``defcfg'' install. Hopefully
you know about kickstart. ``defcfg'' is a way to customize the default values in
install. For example, French can be the default language with a qwerty keyboard,
the auto-partitionning partitions can be changed, the default user class can be
set to developer (!)...

********************************************************************************
* po translation files *********************************************************
********************************************************************************
DrakX uses .po files for its translation. A script takes the different
strings out of the .pm files. It generates the panoramix.pot file which contains
all the english strings to translate.
To add a new language, you just have to add it to lang.pm (if it's not there
already) and put the .po in the perl-install/po directory (see ``Ramdisk or
not'' to know if you have to regenerate the mdkinst_stage2.gz)

********************************************************************************
* PCMCIA install ***************************************************************
********************************************************************************
If the media you use to install is a pcmcia device, you have two choices:
- use the gi_pcmcia boot disk
- use another boot disk and it will ask you a supplementary disk. Give it the
gi_pcmcia disk.


********************************************************************************
* Ramdisk or not ***************************************************************
********************************************************************************
The panoramix install is much bigger than the newt one. So the ramdisk which was
used is getting big, and costs a lot in memory 
(eg: the mdkinst_stage2 is 14MB - 23/09/99)

|       | newt    | panoramix
|-------+---------+----------------------------------------------------------
| nfs   | live    | live
| ftp   | ramdisk | ramdisk
| http  | ramdisk | not yet :(
| hd    | ramdisk | live if Mandrake/mdkinst/usr/bin/runinstall2 is a link,
|       |         |   ramdisk otherwise
| cdrom | ramdisk | live if memory < 40MB, ramdisk otherwise

When i say live, it means that the install1 stage will *mount* the
Mandrake/mdkinst and use it that way.

The ramdisk is used in place of the live in some cases. This ramdisk is filled
with mdkinst_stage2.gz

For cdrom install, the ramdisk is used to speed up things (access time is quite
high on cdrom drives)

For pcmcia, it depends on the type of install.


********************************************************************************
* modules **********************************************************************
********************************************************************************
Modules can be found in at least 3 places:
- in /modules/modules.cgz
- in /lib/modules/
- in /lib/modules/modules.cpio.bz2

/modules/modules.cgz is used in stage1. It contains only modules interesting for
one kind of install. For example in an gi_hd install, it contains scsi modules.
For an gi_network install, it contains network card modules.

/lib/modules/ contains modules that should be in /lib/modules/modules.cpio.bz2
but are not for speed up. The serial.o module is there to speed up mouseconfig.

/lib/modules/modules.cpio.bz2 contains every module except those of
/lib/modules/


To install a module, use modprobe which is in /usr/bin. It's a perl wrapper
around /usr/bin/insmod. It uses the dependencies found in
/lib/modules/modules.dep (stage1).

/usr/bin/insmod is a wrapper around /usr/bin/insmod_. It just extracts the
module out of /lib/modules/modules.cpio.bz2 in /tmp. Then it calls insmod_.

/usr/bin/insmod_ is the real prog (which you usually find in /sbin/). You need
to give it the complete path.