Gentoo Archives: gentoo-powerpc

From: Leno Hou <lenohou@×××××.com>
To: Leno Hou <lenohou@×××××.com>, gentoo-dev@l.g.o, gentoo-powerpc@l.g.o, "Anthony G. Basile" <blueness@g.o>, Mike Frysinger <vapier@g.o>
Subject: [gentoo-powerpc] Re: [gentoo-dev] Introduce ppc64le architecture into gentoo ! please share your comments
Date: Fri, 14 Aug 2015 07:52:51
Message-Id: CAGQVrL8ei1py2LW2vNnwQbCa1r4gAeB4mfWg8iLatw9_a7c3Ww@mail.gmail.com
1 On Wed, Aug 12, 2015 at 3:47 PM, Mike Frysinger <vapier@g.o> wrote:
2
3 > On 12 Aug 2015 15:20, Leno Hou wrote:
4 > > 2. How to control endian difference via profiles ? i.e. *How to get
5 > > ppc64le as a full stage/profile along side ppc64* ?
6 > > Could you give me in detail ?
7 >
8 > you probably want to create a new profile dir:
9 > profiles/arch/powerpc/ppc64/little-endian/
10 > then add a make.defaults file with the right CHOST defaults. as we find
11 > packages that have problems on little endian, that provides you a safe
12 > space to mask features too.
13 >
14 > then create a new target for linux users:
15 >
16 > profiles/default/linux/powerpc/ppc64/13.0/64bit-userland/little-endian/
17 > that'll inherit the arch/powerpc/ppc64/little-endian parent
18 >
19 > > 5. https://wiki.gentoo.org/wiki/Porting The Section 'Converting to
20 > > Gentoo' needs to be updated.
21 > > From portage-2.2.20 on, please download portage and install it by
22 > > 'python setup.py install'
23 >
24 > you mean my bootstrap-portage script ?
25 >
26
27 See my comments in below mail.
28
29 >
30 > > **Most importantly, Any Ideas/steps of how to porting gentoo on ppc64le
31 > > architecture?**
32 >
33 > do you have hardware ? then it's simply a matter of booting Gentoo in it
34 > and
35 > filing/fixing bugs :).
36 >
37
38 YES. We have KVM virtual machine of ppc64le. Can we booting/filing/fixing
39 by KVM ?
40
41 > -mike
42 >
43
44 Greetings !~~
45
46
47 *What I have done according to your suggestions.*
48
49 Once you have these packages, you can easily install Portage.
50
51 root #wget http://distfiles.gentoo.org/distfiles/portage-2.2.20.tar.bz2
52 root #tar -xvf portage-2.2.20
53 root #cd portage-2.2.20 && python setup.py install
54
55
56
57 1, sync up and we should have our Portage tree!
58
59 root #emerge --sync
60
61 Then we need to create a new profile for the new architecture ppc64le:
62
63 root #cd /usr/portage/profiles/arch/powerpc/ppc64/ && mkdir little-endian
64 root #cd little-endian
65 root #echo '..' > parent
66 root #cat << EOF > make.defaults
67 CHOST="powerpc64le-linux-gnu"
68 EOF
69
70
71 2, create a new target for linux users:
72
73 root #cd
74 /usr/portage/profiles/default/linux/powerpc/ppc64/13.0/64bit-userland/
75 root #mkdir little-endian && cd little-endian
76 root #cat << EOF > parent
77 ..
78 ../../../../../../../arch/powerpc/ppc64/little-endian
79 EOF
80 root #cd /etc/portage
81 root #ln -s
82 ../../usr/portage/profiles/default/linux/powerpc/ppc64/13.0/64bit-userland/little-endian
83 make.profile
84 root #cd /etc/portage
85 root #cat << EOF > make.conf
86 PORTDIR_OVERLAY=/usr/local/portage
87 MAKEOPTS="-j8"
88 CFLAGS="-mcpu=power8 -mtune=power8 -O2 -pipe -I/gentoo/usr/include
89 -L/gentoo/usr/lib64 -L/gentoo/lib -L/gentoo/lib64 -lpthread "
90 CXXFLAGS="${CFLAGS}"
91 CPPFLAGS="${CFLAGS}"
92 LDFLAGS="-I/gentoo/usr/include -L/gentoo/usr/lib64 -L/gentoo/lib
93 -L/gentoo/lib64 -lpthread "
94 LC_ALL="en_US.UTF-8"
95 FEATURES="buildpkg"
96 USE="python_targets_python2_7"
97 EOF
98
99
100 3, Fix Problem with sandbox
101
102 root #apt-get install pax-utils build-essential gawk
103 root # emerge --nodeps --ask sandbox
104
105
106 4, Build the whole system
107
108 root #ROOT=/gentoo emerge @system
109 Results: https://bpaste.net/show/e6db5a5a70aa
110
111
112 Should `ROOT=/gentoo emerge glibc` or `ROOT=/gentoo emerge gcc`
113 first to fix the circle dependencies ?
114 Please let me know forward/steps to port gentoo on ppc64le.
115
116 /etc/portage/package.accept_keywords in ppc64le and bug reports as
117 following links.
118 >=dev-libs/libffi-3.2.1 ~ppc64
119 >=dev-libs/gmp-6.0.0a ~ppc64
120
121 Links:
122 https://bugzilla.redhat.com/show_bug.cgi?id=1083429
123 https://github.com/ffi/ffi/issues/413