reorganized Config file
[hdw-linux/hdw-linux.git] / doc / BUILD
1 # hdw - linux BUILD file
2
3 welcome to hdw-linux!
4
5 this is a short introduction on how to build hdw-linux. the latest stable
6 release is supposed to build properly, well at least it works for me.
7 please note that the scripts may fuckup your system, especially if you dont
8 have any idea what this is all about after reading the files in ./doc.
9 be warned, i mean it!
10
11 requirements:
12 -------------
13
14 - working linux system, including gcc and other essential development tools
15   (latest versions of automake, autoconf, m4 recommended)
16 - wget, cvs
17 - internet connection, or local server using -mirror option
18 - kernel with devfs support for versions <= 0.2
19 - at least kernel version 2.6 with hotplug support for versions > 0.2
20 - a not used partition (900mb-3gb) for building. 250-900mb for sources
21   depending on the selected target
22 - x86 hardware for default users, any hardware for development ;)
23
24 what to do: (for the impatient)
25 -------------------------------
26
27         build your distribution:
28         ------------------------
29
30 - get the latest stable release of hdw-linux (much better: use cvs)
31   from http://hackdaworld.dyndns.org/hdw-linux
32
33         example:
34         mkdir -p /usr/src && cd /usr/src
35         cvs -d:pserver:anonymous@cvs.hackdaworld.dyndns.org:/hdw-linux \
36         co hdw-linux
37         cd hdw-linux
38
39 - create a filesystem on the empty partition and mount it wherever you want to
40         
41         example:
42         mke2fs /dev/ide/host0/bus0/target0/lun0/part6
43         mkdir -p /mnt/hdw-build
44         mount /dev/ide/host0/bus0/target0/lun0/part6 /mnt/hdw-build
45
46 - edit ./Config: insert the above mountpoint to hdw_build_dir and select your
47   prefered target
48         
49         example:
50
51         vi Config
52
53         - modify the following line to read:
54         export hdw_build_dir="/mnt/hdw-build"
55         
56         - choose your target:
57         export hdw_target="mobile"
58         
59 - if you want to add targets/packages made by the hdw hackers & user community,
60   run ./scripts/Update-Tree
61   (this is optional - in fact it is maybe causing harm to your build!)
62
63         example:
64         ./scripts/Update-Tree
65
66   (maybe you want to chose another target now in ./Config -- see 'ls ./targets')
67
68 - run ./scripts/Puzzle to create the target depending PKGS files
69
70         example:
71         ./scripts/Puzzle
72
73 - run ./scripts/Download to fetch the sources needed to build that target,
74   alternatively run ./scripts/Download -mirror <mirrorsite>
75
76         example:
77         ./scripts/Download
78         - after that, if you didnt get all the sources:
79         ./scripts/Download -mirror http://we-have-no-mrror-by-now/hdw/
80
81 - you may now start building: 
82         
83         example:
84          ./scripts/Build-Distro
85
86 - do not relax, do not get some drinks ... the build will fail and you have to
87   hack the source! in case everything works fine, you may want to have binary
88   packages of your builds. if not, skip the next part.
89
90 - create binaries:
91
92         example:
93         
94         - create binary packages of all packages from the target
95         ./scripts/Create-Binary all
96         
97         - create single packages
98         ./scripts/Create-Binary -package gcc
99
100 - your build is completed now, congrats!
101
102 for further information on how to install hdw-linux refer to the INSTALL file
103 in ./doc directory.
104
105
106 troubleshooting:
107 ----------------
108
109 - visit: irc.hackdaworld.dyndns.org, #hackdaworld
110 - visit: http://www.hackdaworld.dyndns.org/contents/mailing-list/
111 - visit: www.linuxfromscratch.org, www.linuxdoc.org, www.rocklinux.org ;)
112
113
114 regards, hackbard.