1 |
On Mon, 2004-07-26 at 16:32, Alex wrote: |
2 |
> > I'm rather fond of building packages and then installing those packages |
3 |
> > into the $ROOT vs |
4 |
> |
5 |
> So when you want to emerge a package, you do something like: |
6 |
> |
7 |
> (ARCH/USE/etc) emerge -B app --nodeps |
8 |
> (ARCH/USE/etc) ROOT="/someroot" emerge --usepkg app |
9 |
> |
10 |
|
11 |
> How do you handle libc and PAM dependencies? What about things like |
12 |
> baselayout? How do you handle dependencies? |
13 |
|
14 |
Well here is currently what I'm doing. (not really officially support |
15 |
yet) |
16 |
|
17 |
I have a native-uclibc-x86 chroot which I emerge stuff all day long in |
18 |
with FEATURES="buildpkg" |
19 |
I then use two scripts I wrote to handle staging these into my desired |
20 |
ROOT |
21 |
|
22 |
First one converts the package format from .tbz2 into .ipk and cleans up |
23 |
some of the left over cruft that's not needed at runtime (like .a/.h |
24 |
files etc) |
25 |
Then those ipk files are installed to my target dir and I do a second |
26 |
round of cleaning to clean out some of the other cruft I don't desire. |
27 |
|
28 |
The whole thing sorta looks like this. |
29 |
|
30 |
uCsimple shm # ./genipkg install |
31 |
>>> Installing baselayout-lite-1.0_pre1.ipk to /dev/shm/binroot |
32 |
>>> Installing uclibc-0.9.26-r3.ipk to /dev/shm/binroot |
33 |
>>> Installing busybox-1.0.0_pre20040726.ipk to /dev/shm/binroot |
34 |
>>> Installing bridge-utils-0.9.6-r1.ipk to /dev/shm/binroot |
35 |
>>> Installing chillispot-0.94.ipk to /dev/shm/binroot |
36 |
>>> Installing dropbear-0.42.ipk to /dev/shm/binroot |
37 |
>>> Installing ebtables-2.0.6.ipk to /dev/shm/binroot |
38 |
>>> Installing iproute2-2.4.7.20020116.ipk to /dev/shm/binroot |
39 |
>>> Installing iptables-1.2.9-r4.ipk to /dev/shm/binroot |
40 |
>>> Installing libpcap-0.8.3-r1.ipk to /dev/shm/binroot |
41 |
>>> Installing lilo-22.5.9-r1.ipk to /dev/shm/binroot |
42 |
>>> Installing net-snmp-5.1.1.ipk to /dev/shm/binroot |
43 |
>>> Installing pcmcia-cs-3.2.5-r1.ipk to /dev/shm/binroot |
44 |
>>> Installing vtun-2.6.ipk to /dev/shm/binroot |
45 |
>>> Installing zlib-1.2.1-r2.ipk to /dev/shm/binroot |
46 |
>>> Installing tcpdump-3.8.3-r1.ipk to /dev/shm/binroot |
47 |
>>> Installing wireless-tools-26-r1.ipk to /dev/shm/binroot |
48 |
>>> Installing madwifi-driver-0.1_pre20040726.ipk to /dev/shm/binroot |
49 |
>>> Installing hostap-driver-0.1.3.ipk to /dev/shm/binroot |
50 |
>>> Installing hostap-utils-0.1.2.ipk to /dev/shm/binroot |
51 |
>>> Installing hostapd-0.1.0.ipk to /dev/shm/binroot |
52 |
>>> Setting up busybox symlinks |
53 |
>>> Setting up linux kernel /usr/src/linux/arch/i386/boot/bzImage |
54 |
>>> Setting up cramfs - 4.8M |
55 |
>>> Setting up squashfs - 4.3M |
56 |
>>> Done |
57 |
9.7M . |
58 |
|
59 |
-- |
60 |
So if I wanted to add apache to this environment I'd do |
61 |
|
62 |
uCsimple shm # ./genipkg install apache |
63 |
>>> Repacking apache-2.0.50.tbz2 apache-2.0.50.ipk |
64 |
>>> Installing apache-2.0.50.ipk to /dev/shm/binroot |
65 |
>>> Setting up busybox symlinks |
66 |
>>> Setting up linux kernel /usr/src/linux/arch/i386/boot/bzImage |
67 |
>>> Setting up cramfs - 5.9M |
68 |
>>> Setting up squashfs - 5.2M |
69 |
>>> Done |
70 |
14M . |
71 |
|
72 |
-- |
73 |
Here is the script I'm playing with (use at your own risk). |
74 |
It fetches the other as needed. |
75 |
http://oc12.net/~solar/uclibc/gentoo/x86/packages/genipkg |
76 |
|
77 |
But this only works in a native-environment. |
78 |
For cross-* many things still have to be planned among the lot of us |
79 |
developers and users. And unfortunately I've gotten really crappy |
80 |
feedback or none from people wanting to cross compile. |
81 |
|
82 |
PAM? pam is not even an option in my minds eye as it's not supported in |
83 |
uclibc environments and glibc in an embedded environment is a joke. |
84 |
|
85 |
> Then to build for an embedded system, you end up generating a script of |
86 |
> which packages (and in what order) to emerge? |
87 |
> |
88 |
> Thanks |
89 |
> |
90 |
> -Alex |
91 |
-- |
92 |
Ned Ludd <solar@g.o> |
93 |
Gentoo (hardened,security,infrastructure,embedded,toolchain) Developer |