1 |
Hi, |
2 |
|
3 |
> Also what do I do next? I need X and Blackbox or Windowmaker, how I do that |
4 |
> and keep the build small? |
5 |
> |
6 |
> # Commands to setup a Gentoo ebmedded enviroment |
7 |
> # you must be root |
8 |
> # create the development project directory |
9 |
> mkdir -p /opt/i586-gentoo-uclibc-linux/usr/portage |
10 |
> # download the latest stage 1 or 2 |
11 |
> wget |
12 |
> http://gentoo.osuosl.org/experimental/x86/embedded/stages/stage1-x86-uclibc-2005.0.tar.bz2 |
13 |
> # untar the stage to the project directory |
14 |
> tar -xvjf stage1-x86-uclibc-2005.0.tar.bz2 -C /opt/i586-gentoo-uclibc-linux/ |
15 |
> # mount the new proc filesystem |
16 |
> mount --bind /proc /opt/i586-gentoo-uclibc-linux/proc/ |
17 |
> mount --bind /usr/portage /opt/i586-gentoo-uclibc-linux/usr/portage |
18 |
> # copy over DNS information to the chroot embedded build system |
19 |
> cp /etc/resolv.conf /opt/i586-gentoo-uclibc-linux/etc/resolv.conf |
20 |
> # chroot into the embedded build system |
21 |
> chroot /opt/i586-gentoo-uclibc-linux /bin/bash --login |
22 |
|
23 |
I always run |
24 |
env-update ; source /etc/profile |
25 |
at this point as it is advised to do in Gentoo Handbook |
26 |
|
27 |
> # modify make.conf file to your liking |
28 |
> nano -w /etc/make.conf |
29 |
|
30 |
Why don't you set the final make.conf at this point? |
31 |
with the CHOST, CFLAGS, etc. for your target. |
32 |
|
33 |
> # work around for bug 90306 |
34 |
> mknod -m 0444 /dev/random c 1 8 |
35 |
> mknod -m 0444 /dev/urandom c 1 9 |
36 |
> # start the bootstrip script |
37 |
> cd /usr/portage/scripts |
38 |
> ./bootstrap -p -v |
39 |
|
40 |
After preretending (-p) you should actually do the |
41 |
bootstrapping with: |
42 |
./bootstrap.sh |
43 |
(this is in case you start form stage1) |
44 |
|
45 |
> # emerge system |
46 |
> emerge -e system |
47 |
|
48 |
What is the point of ruining emerge with --emptytree (-e)? |
49 |
I think emerge system should do it fine. |
50 |
|
51 |
> # fixes for a ebuild bug |
52 |
> emerge python |
53 |
|
54 |
This will be emerged as a dependency to portage, |
55 |
and if there is a bug regarding this (i have not had it |
56 |
manifested) it should be fixed in the ebuild or in the |
57 |
bootstrap script. |
58 |
|
59 |
> # continue with the rest of the emerge system |
60 |
> emerge -e system |
61 |
|
62 |
Why compile anything again? |
63 |
|
64 |
> # modify /etc/make.conf to the target |
65 |
> # this is for my target, Geode x86 processor |
66 |
> CHOST="i586-gentoo-linux-uclibc" |
67 |
|
68 |
You shouldn't change CHOST after getting to stage2. |
69 |
|
70 |
> CFLAGS="-march=i586 -Os -pipe -fomit-frame-pointer -mmmx" |
71 |
> CXXFLAGS="${CFLAGS}" |
72 |
> FEATURES="buildpkg" |
73 |
|
74 |
As it is for an embedded system add nodoc, noinfo and |
75 |
noman FEATURES to save space. |
76 |
|
77 |
> # build busybox and uclibc, put into /dev/shm |
78 |
> ROOT=/dev/shm emerge busybox uclibc |
79 |
|
80 |
Best wishes, |
81 |
Yuri. |
82 |
|
83 |
-- |
84 |
gentoo-embedded@g.o mailing list |