Gentoo Linux Zaurus
http://gentoo-zaurus.sourceforge.jp/
nagatomo at users.sourceforge.jp

gentoo-zaurus-cross-compile-howto-0.202006/09/28

ʸŪϡLinux Zaurus ΥѥĶκ Gentoo Linux 
¸ˡ뤳ȤǤGentoo 夫 zemerge ץ եȥ̾ 
¹Ԥǥ륹Υѥåñ˺Ǥޤ

ʸϡˤʤˡޤǤǽޤޤʸ
ˡϲΥӥɴĶǳǧƤޤμ¤ưݾڤϤޤ

i686-pc-linux-gnu
binutils-2.16.1-r3
gcc-3.4.6-r1
glibc-2.3.6-r4

ޤʸˡǺХʥϡSL-C3100 Special Kernel(v18h) ư뤳
ȤǧƤޤμ¤ư뤳ȤݾڤΤǤϤޤ󡣤ʸˤĤơ
Ϥոޤ nagatomo at users.sourceforge.jp ޤǡ

⤷Gentoo LinuxˤĤƾܤΤꤿˤϡΥȤͤˤʤޤ
http://www.gentoo.org/doc/ja/
http://www.gentoo.gr.jp/
http://gentoo-wiki.com/

ʸǤϡsudo  rpm2targz ѤޤΤǡޤ󥹥ȡ뤵Ƥʤϡ
󥹥ȡ뤷Ʋ

ޤѥԤ桼ޤǤϡ zaurus Ȥޤ⤷ۤʤ
桼ǰʲƤ¹ԤŬɤߤƲ

ޤ
#ǻϤޤ륳ޥɤroot¤
$ǻϤޤ륳ޥɤϥ桼¤Ǽ¹ԤƤ

# useradd -m -g users -G wheel -s /bin/bash zaurus

sudo 
ˡ桼 zaurusθ¤ emerge  ebuild 򤹤뤿 sudo 򤷤ޤ
/etc/sudoers ǲʬ񤭴Ƥ

#nano /etc/sudoers

# Uncomment to allow users in group wheel to export variables
Defaults:%wheel !env_reset

# Samples
# %users  ALL=/sbin/mount /cdrom,/sbin/umount /cdrom
# %users  localhost=/sbin/shutdown -h now
%wheel  ALL=NOPASSWD:/usr/bin/emerge,/usr/bin/ebuild


Ǥϡ桼 zaurus ǥ󤷤ƤޤѥԤޤ
~/.bashrc ѥ

$ nano ~/.bashrc
export PATH="${HOEM}/gentoo-zaurus/bin:${HOME}/gentoo-zaurus/cross_tools/bin:$PATH"

$ source ~/.basrc

http://sourceforge.jp/projects/gentoo-zaurus/ ꡢ
gentoo-zaurus-cross-compile-howto-0.20.tgz ɤƤƲ

Ŭʥǥ쥯ȥ㤨Хۡǥ쥯ȥ /home/zaurus Ÿޤ

$ tar -zxvf gentoo-zaurus-cross-compile-howto-0.20.tgz

Ÿ줿ǥ쥯ȥϤ줾ʲŪǻȤޤ
gentoo-zaurus/bin		sudo  emerge ebuild ƤӽФץ
gentoo-zaurus/cross_tools	ѥġ
gentoo-zaurus/dir_root		Zaurus Хʥ
gentoo-zaurus/make_cross	ѥġ륹ץȤȺ
gentoo-zaurus/overlay		ebuild  overlay 
gentoo-zaurus/pkg		ѥǺ tbz2 ѥå
gentoo-zaurus/src		ġΥ
gentoo-zaurus/var		portage κ

ޤӥɴĶŬڤꤷޤ礦
ե
gentoo-zaurus/bin/make.conf

DIR_GLZ_BIN=`which zemerge`
export DIR_GLZ="${DIR_GLZ_BIN%%/bin/zemerge}"
export ROOT="${DIR_GLZ}/dir_root"
export PORTAGE_CONFIGROOT="${ROOT}"
export USE="arm emacs nls hpn berkdb readline ssl zlib $USE"
export PORTAGE_TMPDIR="${DIR_GLZ}/var/tmp"
export BUILD_PREFIX="${DIR_GLZ}/var/tmp/portage"
export PKGDIR="${DIR_GLZ}/pkg"
export PORT_LOGDIR="${DIR_GLZ}/var/log/portage"
export PORTDIR_OVERLAY="${ROOT}/usr/local/portage"
export CHOST="arm-linux-gnu"
export CBUILD="i686-pc-linux-gnu"
export ACCEPT_KEYWORDS="arm"
export ARCH="arm"
export FEATURES="sandbox"
export VIDEO_CARDS="dummy fbdev vga"
export GLZ_INC_PATH="${ROOT}/usr/include"
export GLZ_LIB_PATH="${ROOT}/usr/lib"



gentoo-zaurus/make_cross/00env.sh

DIR_PWD=`pwd`
export DIR_GLZ=`dirname ${DIR_PWD}`
export DIR_CROSS=${DIR_GLZ}/cross_tools
export DIR_ROOT=${DIR_GLZ}/dir_root
export CROSS_TARGET=arm-linux-gnu
export CROSS_BUILD=i686-pc-linux-gnu
export MIN_KV=2.4.1
export DIR_BINUTILS=${DIR_GLZ}/src/binutils-2.16.1
export DIR_GCC=${DIR_GLZ}/src/gcc-3.4.6
export DIR_GLIBC=${DIR_GLZ}/src/glibc-2.3.6


ĤǤ
CBUILD  CROSS_BUILD ĤδĶѿӥɤ륷ƥ˹碌ޤ礦

Ǥϡȥǥ쥯ȥ˰ưޤ礦

$ cd gentoo-zaurus

ʲΥޥɤǡGentoo Linux  portage ȤäƥġΥ
ɤƤޤ

$ zebuild /usr/portage/sys-devel/binutils/binutils-2.16.1-r3.ebuild unpack 
$ zebuild /usr/portage/sys-devel/gcc/gcc-3.4.6-r1.ebuild unpack 
$ zebuild /usr/portage/sys-libs/glibc/glibc-2.3.6-r4.ebuild unpack

ޤSHARP  HP ꥫͥإåɤ ebuild źդޤ
$ zebuild overlay/sys-kernel/linux-headers/linux-headers-2.4.6_beta.ebuild unpack 

root ˤʤꡢեνͭԸ¤ѹޤ

# chown -R zaurus:users var/tmp/portage/

桼ꡢsrc ǥ쥯ȥ˥եưޤ

$ mv var/tmp/portage/binutils-2.16.1-r3/work/binutils-2.16.1/ src/
$ mv var/tmp/portage/gcc-3.4.6-r1/work/gcc-3.4.6/ src/
$ mv var/tmp/portage/glibc-2.3.6-r4/work/glibc-2.3.6/ src/

ޤͥإåե cross_tools ǥ쥯ȥ˰ưޤ

$ mv var/tmp/portage/linux-headers-2.4.6_beta/work/opt/Embedix/tools/arm-linux/include cross_tools/

褤衢ѥѥġΥѥǤñʥץȤѰդޤΤǡ
¹ԤƤߤޤ礦Ȥ configure  make Ϣ³¹ԤƤǤ
ΤȤgcc  specs եĴǥեȤ -march=armv5te -mtune=xscale 
ץͭˤƤޤϡѥ˻Ѥ CFLAGS ӥɴĶ
gcc ȥĶ gcc ξ˻Ѥ뤿Ǥ CFLAGS  -march 򵭽Ҥ
ΥեȥΥѥ˥ӥɴĶΡgcc Ѥ쥨顼Фޤ

$ cd make_cross
$ sh make_toolchain.sh

ġΥѥˤϿʬʾλ֤ޤ
δ֤ˡʤꡢϤʤꡢ٤ߤɤǤ礦

Աˤ⡢ѥ뤬Ԥ顢ޤޤǤμǧƤߤޤ礦
ޤХ䤽βˡ򸫤Ĥϡ nagatomo at users.sourceforge.jp ޤ
Ϣ򤪴ꤤޤ

顼̵ƤΥѥ뤬λϡǤȤޤ
ǡZaurusΥХʥνǤޤ
ǸˡäȤĴ򤷤ơºݤ˥ХʥƤߤޤ礦

μ¤˥ѥ̤ˡ󥯤Ϥޤ

# cd /usr/bin
# ln -s /home/zaurus/gentoo-zaurus/cross_tools/bin/arm-linux-gnu-* .

Ǥϡͥإåե륤󥹥ȡ뤷ơ glibc 򥳥ѥ뤷ޤ礦
ˤ⤫ʤ֤ޤ
ƥ饤֥ΥѥĴ뤿 gcc  specs ե˥ѥå򤢤Ƥޤ
zemerge ǻѤĶѿ bin/make.conf ˵ҤƤޤ
ߤ˹碌USEե饰ѹƲ
-b  buildpkg ץǤ portage  tbz2 ѥåơpkg 
ǥ쥯ȥݴɤޤ

$ zemerge -abv =sys-kernel/linux-headers-2.4.6_beta
$ zemerge.glibc -abv =sys-libs/glibc-2.3.6-r4
$ patch -p0 < patch-ld-sysroot

Ǹˡbash 򥳥ѥ뤷Ƥߤޤ礦ѤversionǤϡ
configureΥ顼򤱤뤿˲ѿꤹɬפޤ

$ ac_cv_func_setvbuf_reversed=no zemerge -abv =app-shells/bash-3.1_p17 

夬ädir_root ǥ쥯ȥʲ򰵽̤ Zaurus ˥ԡŬ
ǥ쥯ȥŸޤ53MByteΤ;͵ΤѡƥƲ

륹ǥߥʥ뤫 chroot ޤ

# chroot /your/path /bin/bash
bash: /dev/null: No such file or directory
I have no name@zaurus / #

ʾɽФСǤѥǺ bash Хʥ Zaurus 
ưޤ /dev/null 顼Ϥޤ/dev /your/path/dev 
˥ޥȤƤʤǤޤI have no name  /etc/passwd ե뤬
¸ߤʤǤ

baselayout  portage  zemerge Сä Gentoo 餷ʤޤ
ʸϰϤۤΤǡܤϽҤ٤ޤ
tbz2ѥåΥ󥹥ȡɬפʺǾ¤δĶܻؤ 
gentoo-zaurus-minimum-portage-howto Բ
ޤեѥĶκܻؤ gentoo-zaurus-self-compile-howto 
ˤԲ


ǸˡʸκˤäƻͤΥȤκԤ˴դޤ
http://www.sable.mcgill.ca/~dbelan2/crossdev/crossdev-powerpc-i686.html
http://trac.cross-lfs.org/
http://gentoo-wiki.com/HOWTO_setup_gentoo_on_a_pda_or_embedded_system
