public inbox for gentoo-embedded@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-embedded] x86 SBC Gentoo Embedded HowTo version 0.03 (unfinished)
@ 2005-04-29 13:49 Heath H Holcomb
  2005-04-29 14:27 ` Ned Ludd
  2005-04-29 16:39 ` Kammi Cazze
  0 siblings, 2 replies; 18+ messages in thread
From: Heath H Holcomb @ 2005-04-29 13:49 UTC (permalink / raw
  To: gentoo-embedded

Version 0.03
Please add, delete, modify. Thanks!


#---------------------------------------------------------------------------------------
# Embedded Gentoo How-To for x86
#
# Commands to setup a Gentoo embedded environment, you must be root.
# These commands are to be run on your developement system, 
# any x86 Gentoo Linux computer will do.  The system should be fast,
# to speed developement.  The target can be any x86 based SBC.  I'm
# using a Geode based SBC.  Latter I'll use a Via based SBC.
#
# version 0.03
# 2005.29.04
#
# Heath Holcomb (heath at bulah.com)
# Ned Ludd (original commands posted)
# Yuri Vasilevshi (contributor)
# Mike George (contributor)
#
# Development RootFS = what you use to build the Embedded RootFS
# Embedded RootFS = rootfs you deploy to the target system
# SBC = single board computer (here it's an x86 based)
#
# References
# http://www.gentoo.org/doc/en/handbook/index.xml
# http://www.epiawiki.org
# http://epia.kalf.org
# Gentoo embedded mailing list (gentoo-embedded@lists.gentoo.org)
#
#
#---------------------------------------------------------------------------------------

# create the Development RootFS
# I use i586 becasue of target is a Geode processor
mkdir -p /opt/i586-gentoo-uclibc-linux/usr/portage

# download the latest stage 1 tarball
wget \ 
http://gentoo.osuosl.org/experimental/x86/embedded/stages/stage1-x86-uclibc-2005.0.tar.bz2

# untar the stage to the Development RootFS
tar -xvjf stage1-x86-uclibc-2005.0.tar.bz2 -C /opt/i586-gentoo-uclibc-linux/

# mount the Development RootFS proc and portage directories
# don't understand this someone please add comments
mount --bind /proc /opt/i586-gentoo-uclibc-linux/proc/
mount --bind /usr/portage /opt/i586-gentoo-uclibc-linux/usr/portage

# copy over DNS information to the Development RootFS
cp /etc/resolv.conf /opt/i586-gentoo-uclibc-linux/etc/resolv.conf

# chroot into the Development RootFS, create new environment, load variables 
into memory
chroot /opt/i586-gentoo-uclibc-linux /bin/bash --login
env-update
source /etc/profile

# modify make.conf file to your liking
nano -w /etc/make.conf
# this is for my target, Geode x86 processor
CHOST="i586-gentoo-linux-uclibc"
CFLAGS="-march=i586 -Os -pipe -fomit-frame-pointer -mmmx"
CXXFLAGS="${CFLAGS}"
FEATURES="buildpkg"

# work around for bug 90306
mknod -m 0444 /dev/random c 1 8
mknod -m 0444 /dev/urandom c 1 9

# start the bootstrip script
cd /usr/portage/scripts
./bootstrap.sh -p -v
./bootstrap.sh

# emerge system
emerge -e system
# fixes a emerge ebuild bug, this should go away soon
emerge python
# continue with the rest of the emerge system
emerge -e system

# modify make.conf and set you USE flags for the target embedded build
# these use flags build a smaller system with no documentation, man or info 
pages installed
# the make-symlinks option of for busybox to automatically create the symlinks 
to it
nano -w /etc/make.conf
USE="make-symlinks nodoc noinfo noman"

# build busybox and uclibc, put into the Embedded RootFS (/Embedded RootFS)
# don't understand exactally how this works, someone please add comments
mkdir /Embedded RootFS
ROOT=/Embedded RootFS emerge busybox uclibc

# emerge other software you need for you embedded target
ROOT=/Embedded RootFS emerge xxxxxxxxx

# install a kernel into Embedded RootFS
ROOT=/Embedded RootFS emerge vanilla-sources
cd /Embedded RootFS/usr/src
ln -s linux-

......... more stuff here ...........
......... install xorg-x11, less than 10MB hopefully
......... install light window manager (blackbox, windowmaker, ???)
......... install very light X11 toolkit (?????)
......... purge to the Embedded RootFS of unwanted files and libaries
......... edit all config files
......... set up the test harddrive on the target SBC 
......... install grub or lilo on the test harddrive on the target SBC
......... transfer Embedded RootFS to the test harddrive on the target SBC 
......... debug system, and rebuild
......... deploy Embedded RootFS from the test harddrive to flash 
......... (DiskOnChip, Compact Flash)
......... tweak, rebuild, redeploy 

-- 
Heath Holcomb
heath@bulah.com
www.bulah.com
-- 
gentoo-embedded@gentoo.org mailing list


^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2005-06-10  0:37 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-04-29 13:49 [gentoo-embedded] x86 SBC Gentoo Embedded HowTo version 0.03 (unfinished) Heath H Holcomb
2005-04-29 14:27 ` Ned Ludd
2005-04-30 20:04   ` Heath H Holcomb
2005-04-30 21:41     ` Ned Ludd
2005-05-02  4:14     ` Yuri Vasilevski
2005-06-09 13:25       ` Heath H Holcomb
2005-06-10  0:49         ` Yuri Vasilevski
2005-04-29 16:39 ` Kammi Cazze
2005-05-21 15:19   ` [gentoo-embedded] x86 SBC Gentoo Embedded HowTo michael
2005-05-22  5:46     ` Heath H Holcomb
2005-05-21 18:07       ` michael
2005-05-23  3:26         ` Heath H Holcomb
2005-05-22 17:51           ` michael
2005-05-23  6:55             ` Marius Schaefer/Camberg/ISBAC
2005-05-25 15:08               ` michael
2005-05-26  4:47                 ` Brian Jackson
2005-05-25 16:58                   ` michael
2005-05-25 17:17                     ` michael

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox