summaryrefslogtreecommitdiffstats
path: root/README
blob: 0ccc7a6b20956e5ab2fb09549b22b8c74d2eb87a (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
76
77
PTXdist
=======


Intro
-----

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

	make i386-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
----------------

bootdisk/	skeleton for bootdisk (if you need one)	
build/		Here all the packages are extracted and being built
config/		Configuration system, ext. configuration scripts
etc/		skeleton for /etc for the target system
local/		tools which are installed locally go to this dir
root/		root filesystem for the target
rules/		Makefiles for all packages
scripts/	several little helper scripts
src/		original sources and patches 
src_ptx/	local sources
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
----

- busybox: patch compiler config variable in configuration

- check if all tools use the correct compilers 

- search for FIXMEs

- before starting you should look at the .config file and fix PTXCONF_PREFIX 
  to point to a directory where you want the local stuff to be builded (like 
  cross compilers etc).
  
Robert Schwebel <r.schwebel@pengutronix.de>