added more nic support
[hdw-linux/hdw-linux.git] / doc / INSTALL
1 # hdw - linux INSTALL file
2
3 this is a short introduction on how to install hdw-linux. you should have build
4 your hdw distro already or at least have the hdw-linux sources installed to use
5 the hdw-get script to install from precompiled binaries.
6 it is supposed to work, at least for me. though this may hurt your baby, be
7 warned. i mean it!
8
9 there are two diffrent ways of how to setup your hdw-linux system. the first
10 one assumes you have finished a build as explained in doc/BUILD. for the other
11 way you need to have the binary tarballs accessible which you may have created
12 after/during build procedure or on cd from someone else. please note that
13 hdw-get is able to fetch them from a http/ftp server too. i keep trying to
14 offer the binaries of the latest stable release on hackdaworld.dyndns.org,
15 mirrors appreciated! finally some configuration issues are discussed and the
16 system is prepared for reboot.
17
18 for both ways you will need kernel 2.6 running to do the chroot later on!
19
20 here we go ...
21
22 1. way - hdw-distro ready @ $hdw_build_dir
23 ------------------------------------------
24
25 in case your hdw-build directory alreday has been mounted on a seperated 
26 partition you may skip the following and read on at chapter 'final steps'.
27 otherwise copy over the hdw system to your target partition. please make sure
28 unmount the hdw related mounts which the scripts may not have umounted.
29         
30         example:
31
32         mke2fs <target partition>
33         mkdir -p /mnt/hdw-target
34         mount <target partition> /mnt/hdw-target
35         (feel free to create more partitions like /usr, /var, /boot and so on)
36         mke2fs <another partition>
37         mkdir -p /mnt/hdw-target/boot
38         mount <another partition> /mnt/hdw-target/boot
39
40         umount $hdw_build_dir/dev/{shm,pts}
41         umount $hdw_build_dir/{dev,sys,proc}
42         umount $hdw_build_dir/usr/src/hdw-linux/{download,binaries}
43         cp -a $hdw_build_dir/* /mnt/hdw-target
44
45 2. way - hdw-get
46 ----------------
47
48 hdw-get is a minimal packet manager used to install/remove packages from your
49 hdw distribution. please have a look at the hdw-get script, it is simple and
50 thus more easy to get its functionality. two diffrent ways using hde-get are
51 introduced now. the hdw-get script can be found in the hdw-linux source tree
52 in the ./misc/hdw-tools directory.
53
54         installing binaries explicitly pointing to them
55         -----------------------------------------------
56         in that case you may just install one package after another.
57         
58         example:
59
60         mke2fs <target partition>
61         mount <target partition> /mnt/hdw-target
62         (again feel free to create more partitions)
63
64         for i in /point/to/binaries/*.tar.bz2; do
65                 hdw-get install /mnt/hdw-target $i
66         done
67
68         this is not a nice way since what you want is more control of the
69         packages going to be installed. please try to use the next method.
70
71         install binaries according to a distribution package list
72         ---------------------------------------------------------
73         in that case binaries should be located in bin_dir or net_addr of your
74         hdw-get.conf file within the same directory structure as created by
75         scripts/Create-Binary. wget is needed if you want to fetch the binaries
76         via internet. please note that due to harddisk limitations binaries for
77         only one arch/optimization and hdw version can be offered via internet.
78         if you thnk this is bad and you could help out, please contact me!
79         
80         example:
81         
82         cat > /etc/hdw-get.conf << EOF
83         net_addr="http://hackdaworld.dyndns.org/download"
84         bin_addr="/usr/src/hdw-linux/binaries"
85         # note that there dont exist binaries of all versions/archs
86         hdw_version="0.3"
87         hdw_arch="ia32" ; hdw_arch_opt="i686"
88         EOF
89
90         ./scripts/Helper -create_dist_file
91         ./misc/hdw-tools/hdw-get dist-install /mnt/hdw-target \
92                                                 ./distro/<target name>
93
94         you may edit the distribution file, hdw-get should actually warn you
95         about runtime dependencies. please note that dependency checking is
96         still in development, even for the stable releases, so be sure you know
97         what you are doing.
98
99         hint: (how i am using hdw ...)
100                 o build target all-dev, skip packages that wont build by
101                   touching a logfile
102                 o upload all the created binaries to a networked computer with
103                   apache installed
104                 o boot your other debian/suse/old-hdw systems, get the hdw-linux
105                   sources, create appropriate distro files and run hdw-get
106                   (or even use an automated method using pxe boot,
107                    see ./doc/FAI)
108
109 final steps
110 -----------
111
112 |--------------------------------------------------------------------------|
113 | you may want/need to mount proc/sysfs somewhere in tis steps, simply do: |
114 | mount /proc ; mount /sys  (when you think its needed)                    | 
115 |--------------------------------------------------------------------------|
116
117 - chroot to your new build system and compile a new kernel
118   (you have to do this if you are not booting via nfsroot!)
119         
120         example:
121         
122         chroot /mnt/hdw-target /bin/bash \
123                 PATH="/sbin:/bin:/usr/sbin:/usr/bin" --login
124         cd /usr/src/linux
125         make menuconfig
126         (disable CONFIG_ROOT_NFS, if you are not booting via nfsroot!)
127         make dep bzImage modules modules_install
128
129 - yo may want to set a root password (default is 'hdw' iirc)
130         
131         example:
132         
133         passwd
134         (type your password, yes, type it twice :)
135
136 - leave the chroot (beside you are not installing from rescue disks or via FAI)
137   and make the kernel bootable
138
139         example:
140         
141         exit
142         cp /mnt/hdw-target/usr/src/linux/arch/i386/boot/bzImage \
143                 /boot/vmlinuz_hdw
144         vi /etc/lilo.conf
145         (add vmlinuz_hdw)
146         lilo
147
148 - create essential console and null nodes (!important!)
149
150         example:
151         
152         mknod -m 0666 /mnt/hdw-target/dev/null c 1 3
153         mknod -m 0600 /mnt/hdw-target/dev/console c 5 1
154
155         [ WARNING : your system will not start up without these nodes ]
156
157 - have a look at the config files in /mnt/hdw-target/etc/* and adjust to your 
158   needs. reboot then - good luck! ;)
159         
160         example:
161         
162         init 6
163
164
165 troubleshooting:
166 ----------------
167
168 - visit: irc.hackdaworld.dyndns.org, #hackdaworld
169 - visit: http://www.hackdaworld.dyndns.org/contents/mailing-list/
170 - visit: www.linuxfromscratch.org, www.linuxdoc.org, www.rocklinux.org ;)
171
172
173 regards hackbard