summaryrefslogtreecommitdiffstats
path: root/README
blob: b9feed621333d0f9a13d97200e2e6b5b30540c74 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
PTXdist
=======


Intro
-----

For the impatient: try out to compile your own Linux system for generic
i586 and above machines with 

	make i586-generic-glibc_config
	make world
	chroot root/ /bin/sh

If you have more time to find out how it works, read on. 


Idea
----

PTXdist is a tool which can be used to generate a root tree for all
kinds of Linux systems. It was written with embedded systems in mind,
but there is no reason why you can't use it to configure your firewall,
router or whatever dedicated "device" comes to your mind. 

The job works like this: you run 'make menuconfig' or 'make xconfig',
configure what you need and get a .config file. Run 'make world' and
you'll find a root tree in root/. Voila. 


Directory layout
----------------

build/		Here all the packages are extracted and being built
config/		Configuration system, ext. configuration scripts
		The actual config files live in rules/xxx.in
images/		'make images' creates tarballs and filesystem images
		in this directory. 
local/		tools which are installed locally go to this dir
projects/	Each project has a project directory here. Note that
		there needs to be a corresponding .ptxconfig file in
		this directory. 
root/		root filesystem for the target
rules/		Makefiles and Kconfig files for all packages
scripts/	several little helper scripts
src/		original sources and patches; normally you want to 
		delete this directory and make it a symlink to your
		real source directory. 
state/		state files (show in which state packages currently are
		during the compilation)


Installation Instructions
-------------------------

The installation takes it's configuration from a config file in the
toplevel directory: .config. You can either copy them to this location
or enter "make menuconfig" or "make xconfig" to generate a
configuration. For predefined board support packages you can use "make
foobar_config" to bring the config file in place.

When everything is configured just enter "make world" and wait... The
resulting root filesystem will be in the root/ directory. Just chroot
into it for local tests (if your build host has the same architecture as
your target) or copy it to your embedded system. 


Bugs
----

- search for FIXMEs
- see TODO, which is out of date :-) 
  
Robert Schwebel <r.schwebel@pengutronix.de>, 2005-01-17