Gentoo Logo
Gentoo Spaceship




Note: Due to technical difficulties, the Archives are currently not up to date. GMANE provides an alternative service for most mailing lists.
c.f. bug 424647
List Archive: gentoo-embedded
Navigation:
Lists: gentoo-embedded: < Prev By Thread Next > < Prev By Date Next >
Headers:
To: gentoo-embedded@g.o
From: Heath Holcomb <liquidcable@...>
Subject: Re: x86 SBC Gentoo Embedded HotTo version 0.07
Date: Fri, 12 Aug 2005 08:37:00 -0500
I too am working with a VIA based SBCs.  A CLE266 version, CL10000; and a 
CN400 based one.

If you ever want the hardware mpeg2 decoding take a look at
http://gentoo-wiki.com/HOWTO_Unichrome


-- 
heath holcomb
liquidcable at bulah.com
www.bulah.com

On Friday 12 August 2005 04:19 am, Pierre Cassimans wrote:
> I saw these errors also yesterday, but did not find enough time to submit
> the comments yet :(
>
> I still had problems with the python-fchksum stuff and groff compiling.
>
> emerge python did the trick for the first thing and USE="-sandbox" emerge
> -e system did it for the second.
>
> Those commands were available in howto version 0.6, not in the 0.7.  But
> they are still needed.
>
> For what package is the USE="-sandbox" needed? I thought sandbox was a
> FEATURE flag?
>
> I'm also working on a VIA epia M9000 system. What i would like to do is
> test the image (booting etc) on qemu before putting it on a compact flash.
> It would be nice if we could bring together some info on that part too (Or
> on other emulator soft). I will try to write it down while i work on this
> part and will post it here. If people already did this stuff, please post
> ;)
>
> Pierre Cassimans
>
> >From: "Marcel Romijn" <MRomijn@...>
> >Reply-To: gentoo-embedded@g.o
> >To: <gentoo-embedded@g.o>
> >Subject: RE: [gentoo-embedded] x86 SBC Gentoo Embedded HotTo version 0.07
> >Date: Fri, 12 Aug 2005 02:39:00 -0400
> >
> >Hello Heath,
> >
> >Nice writedown! I haven't made it to the end yet (lack of time), but I'm
> >getting there...
> >
> >I noticed some issues along the way (not counting grub begin spelled as
> >"grug" or "gurb" ;-) )
> >
> >In step 3 you write:
> >
> ><snip>
> ># Set root password for the embedded_rootfs
> >chromm /embedded_rootfs
> >passwd
> >rm /embedded_rootfs/etc/passwd-
> >Exit
> ></snip>
> >
> >I presume 'chromm' should have been 'chroot' ?
> >If it is indeed 'chroot' then you should either do "rm /etc/passwd-"
> >before the "exit" or the "exit" before the "rm
> >/embedded_rootfs/etc/passwd-".
> >
> >A few lines down, you write:
> >
> ><snip>
> >rm -R /embedded_rootfs/var/db/pkg/ *
> ></snip>
> >
> >As a reletive newbie, doing a quick copy/paste of this command late in
> >the evening as root in '/', this wiped out all files, except the ones
> >that were firmly locked.
> >Fortunately, I'm going through you HowTo in VMWare, so I could restore a
> >previous snapshot ;-)
> >
> >I presume the space before the '*' should have been omitted?
> >
> ><snip>
> >rm -R /embedded_rootfs/var/db/pkg/*
> ></snip>
> >
> >
> >My aim is to create an embedded Gentoo for a Via Epia ME6000, which
> >reads the kernel and a ramdisk image from CF and then runs completely
> >from RAM.
> >If I'm not mistaken, you were heading for a Via Epia as well?
> >
> >Regards,
> >
> >Marcel Romijn
> >
> >
> >-----Original Message-----
> >From: Heath Holcomb [mailto:liquidcable@...]
> >Sent: Monday, 08 August, 2005 4:17
> >To: gentoo-embedded@g.o
> >Subject: [gentoo-embedded] x86 SBC Gentoo Embedded HotTo version 0.07
> >
> >Version 0.07
> >Please add, delete, modify. Thanks!
> >
> >Several fixes.  Root password now works.  Several work arounds are no
> >longer
> >need, as the embedded Gentoo team has fixed them (I'm guess because I no
> >
> >longer get those errors).  There is still one problem when "emerge -e
> >system"
> >for groff.  Bug 98187 (http://bugs.gentoo.org/show_bug.cgi?id=98187).
> >Check
> >out the bug report for the temp fix/work around (USE="-sandbox" emerge
> >-e
> >system).
> >
> >I've update my website with this version also.
> >http://www.bulah.com/embeddedgentoo.html
> >
> >
> >#-----------------------------------------------------------------------
> >---------
> ># Embedded Gentoo How-To for x86
> >#
> ># A how-to guide to setup a Gentoo embedded environment, you must be
> >root.
> ># These commands are to be run on your development system,
> ># any x86 Gentoo Linux computer will do.  The system should be fast,
> ># to speed development.  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.07
> ># 2005.8.7
> >#
> ># Heath Holcomb (heath at bulah.com)
> ># Ned Ludd (original commands posted)
> ># Lloyd Sargent (contributor)
> ># Yuri Vasilevski (contributor)
> ># Mike George (contributor)
> ># Kammi Cazze (contributor)
> ># Marius Schaefer (contributor)
> >#
> ># Definitions and Terms
> ># system_rootfs = your regular rootfs, development computer
> ># 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@g.o)
> >#
> >#
> ># Overview of process (steps)
> ># 1 - Prepare the development_rootfs from your system_rootfs
> ># 2 - Build the development_rootfs
> ># 3 - Build the embedded_rootfs
> ># 4 - Build and install non-system programs to the embedded_rootfs
> ># 5 - Build and install a kernel to the embedded_rootfs
> ># 6 - Deploy embedded_rootfs to target
> >#
> >#-----------------------------------------------------------------------
> >---------
> >
> >#----- Step 1 - Prepare the development_rootfs from your system_rootfs
> >-------
> >
> ># You must be root.
> >su -
> >
> ># Create the development_rootfs.
> ># I use i586 because 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-ucl
> >ibc-2005.0.tar.bz2
> >
> ># Untar the stage to the development_rootfs.
> >tar -xvjpf stage1-x86-uclibc-2005.0.tar.bz2 -C
> >/opt/i586-gentoo-uclibc-linux/
> >
> ># Mount the proc and portage directories to your development_rootfs.
> ># Makes your system_rootfs's proc and portage directory available from
> >inside
> ># of your development_rootfs (after chrooting).
> >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.
> >chroot /opt/i586-gentoo-uclibc-linux /bin/bash --login
> >
> >
> >#----- Step 2 - Build the development_rootfs
> >---------------------------------
> >
> ># Create new environment and load variables into memory.
> >env-update
> >source /etc/profile
> >
> ># Modify make.conf file to your liking/needs.
> >nano -w /etc/make.conf
> ># This is for my target, Geode x86 processor.
> >/*
> >USE="bitmap-fonts minimal truetype-fonts mmx"
> >CHOST="i586-gentoo-linux-uclibc"
> >CFLAGS="-march=i586 -Os -pipe -fomit-frame-pointer -mmmx"
> >CXXFLAGS="${CFLAGS}"
> >FEATURES="buildpkg"
> >
> >VIDEO_CARDS="chips"
> >UCLIBC_CPU="586MMX"
> >*/
> >
> ># Set profile to use 2.6 kernel.
> ># The current stage uses 2.4 by default, and for most cases you are
> >going
> ># to want a 2.6.x kernel.
> >cd /etc/
> >unlink make.profile
> >ln -s ../usr/portage/profiles/uclibc/x86 make.profile
> >
> ># Start the bootstrap script.
> >cd /usr/portage/scripts
> >./bootstrap.sh -p -v
> >./bootstrap.sh
> >
> ># Emerge the system ebuild for the development_rootfs.
> >emerge -e system
> >
> >#----- Step 3 - Build the embedded_rootfs
> >------------------------------------
> >
> ># Create the embedded_rootfs directory.
> >mkdir /embedded_rootfs
> >
> ># Emerge baselayout-lite into embedded_rootfs.
> ># This gives your system a basic file structure.
> ># 1.0_pre1 is the only one that is stable, right?
> >cd /usr/portage/sys-apps/baselayout-lite/
> >ROOT=/embedded_rootfs emerge baselayout-lite-1.0_pre1.ebuild
> >
> ># Workaround 1
> ># Baselayout-lite is still beta, so a few fixes are needed.
> ># There needs to be a directory "log" in /var.
> ># Inittab calls for /usr/bin/tail, but it needs to /usr/bin.
> >mkdir /embedded_rootfs/var/log
> >nano -w /embedded_rootfs/etc/inittab
> >/*
> >#tty3::respawn:/usr/bin/tail -f /var/log/messages
> >tty3::respawn:/bin/tail -f /var/log/messages
> >*/
> >
> ># Emerge uclibc into the embedded_rootfs.
> ># Use the -K option because we don't get the extra files created by the
> ># build/emerge process into our embedded rootfs which needs to be as
> ># small as possible.
> >ROOT=/embedded_rootfs emerge -K uclibc
> >
> ># Emerge busybox into the embedded_rootfs.
> ># First you must emerge it into your development_rootfs.
> ># This does not create the symlinks in our development embedded rootfs.
> >emerge busybox
> >ROOT=/embedded_rootfs emerge -K busybox
> >
> ># Create the symlinks for busybox in the embedded_rootfs.
> >mkdir /embedded_rootfs/proc
> >mount -o bind /proc/ /embedded_rootfs/proc/
> >chroot /embedded_rootfs /bin/busybox --install -s
> >umount /embedded_rootfs/proc
> >
> ># Set time zone in your embedded_rootfs.
> ># See http://leaf.sourceforge.net/doc/guide/buci-tz.html for details.
> ># For central standard time in the US, use "CST6CDT".
> >nano -w /embedded_rootfs/etc/TZ
> >/*
> >CST6CDT
> >*/
> >
> ># Install a boot loader (usually grug or lilo).
> ># Once you copy/deploy your embedded_rootfs to your target SBC you will
> ># have to run grub on the command line to write to the master boot
> >record
> ># (MBR).
> ># For some reason not all of /boot/grub is copied over to the
> ># embedded_rootfs, so a extra manual copy step is needed.
> ># The --nodeps gets rip of the run time need of ncurses.
> >emerge --nodeps grub
> >ROOT=/embedded_rootfs emerge -K --nodeps grub
> >cp -R /boot/grub /embedded_rootfs/boot/
> >
> ># Modify your boot configure file.
> ># The example below is for a gurb, for a boot partition on /dev/hda1 and
> >only
> ># one partition on the target SBC system.
> >nano -w /embedded_rootfs/boot/grub/grub.conf
> >/*
> >default 0
> >timeout 10
> >splashimage=(hd0,0)/boot/grub/splash.xpm.gz
> >
> >title=Linux 2.6.x
> >root (hd0,0)
> >kernel /vmlinuz-2.6.x root=/dev/hda1 vga=792
> >*/
> >
> ># Set root password for the embedded_rootfs
> >chromm /embedded_rootfs
> >passwd
> >rm /embedded_rootfs/etc/passwd-
> >exit
> >
> ># Modify fstab.
> ># Below is mine, yours may vary.
> >nano -w /embedded_rootfs/etc/fstab
> >/*
> >/dev/hda1		/		reiserfs	defaults
> >0 0
> >none			/proc		proc		defaults
> >0 0
> >none			/sys		sysfs		defaults
> >0 0
> >none			/dev/shm	tmpfs	defaults	0 0
> >*/
> >
> ># Clean up the embedded_rootfs.
> ># Don't know why these files are there in the first place, so if anyone
> ># can tell me why.....
> >rm -R /embedded_rootfs/var/db/pkg/ *
> >rm -R /embedded_rootfs/var/lib/portage/
> >
> >#---- Step 4 - Build and install non-system programs to the
> >embedded_rootfs --
> >
> ># Emerge other software you need for you embedded target.
> ># This is very wildly depending on your needs.
> ># Also your proprietary application will be done here.
> >emerge foo*
> >ROOT=/embedded_rootfs emerge -K foo*
> >
> >
> >#---- Step 5 - Build and install a kernel to the embedded_rootfs
> >-------------
> >
> ># Install a kernel into embedded_rootfs.
> ># First we will emerge it into our development_rootfs, then configure
> >and
> ># build it.
> >emerge vanilla-sources
> >cd /usr/src/
> >cd linux
> >make menuconfig
> ># Configure your kernel for your TARGET SBC here.  I HIGHLY suggest you
> ># configure the kernel to compile everything into the kernel, and
> >nothing
> ># as a module.
> >make
> >ROOT=/embedded_rootfs make modules_install
> >cp /usr/src/linux/arch/i386/boot/bzImage
> >/embedded_rootfs/boot/vmlinuz-2.6.x
> >
> ># A few notes on compiling your kernel.
> ># If deploying to Compact Flash/DiskOnChip/SD use ext2, as the
> >journaling
> ># filing systems "write" to much for a flash device.
> ># If deploying to a hard drive use a journaling filing system, such as
> ># ext3 or reiserfs.
> >
> >
> >#---- Step 6 - Deploy embedded_rootfs to target
> >------------------------------
> >
> ># Prepare a Gentoo (or any Linux distro) system on the target SBC using
> >a
> ># harddrive.  This is known as the target development rootfs.
> ># We will create a partition (/embedded_rootfs) that will server as our
> ># "test" partition to deploy our embedded_rootfs that we generate on our
> ># development_system.
> >#
> ># I use the following partitions to speed development (yours may vary):
> ># /dev/hda1 - /embedded_rootfs - 1 GB
> ># /dev/hda2 - /boot - 100 MB
> ># /dev/hda3 - swap - (size varies, 512 MB is a good number)
> ># /dev/hda4 - / - (what is left, at least 1.5 GB per 2005.0 install
> >guide
> >specs)
> >#
> ># Copy over your embedded_rootfs from you development system to your
> >target
> ># system and the directory /embedded_rootfs.  This needs to be done via
> >NFS as
> ># need to preserve the permissions.
> >#
> >#The following commands are done from the
> ># target development rootfs.
> >mount -t reiserfs /dev/hda1 /mnt/embedded_rootfs
> >mount -t nfs\
> >192.168.0.10:/opt/i586-gentoo-uclibc-linux/embedded_rootfs\
> >/mnt/nfs_embedded_rootfs
> >cp -adpR /mnt/nfs_embedded_rootfs/* /mnt/embedded_rootfs
> >
> >
> ># Modify your target system's gurb.conf (or lilo.conf) for allow you to
> >boot
> ># to the embedded_rootfs partition.
> >#
> ># Reboot, and if all goes well you'll be greeted with a login prompt.
> >#
> ># Fin.
> >
> >
> >
> >--
> >heath holcomb
> >liquidcable at bulah.com
> >www.bulah.com
> >--
> >gentoo-embedded@g.o mailing list
> >
> >
> >
> >--
> >gentoo-embedded@g.o mailing list

-- 
gentoo-embedded@g.o mailing list


Replies:
ffmpeg, susv3 math, and uclibc
-- Kurt E. Kiefer
References:
RE: x86 SBC Gentoo Embedded HotTo version 0.07
-- Pierre Cassimans
Navigation:
Lists: gentoo-embedded: < Prev By Thread Next > < Prev By Date Next >
Previous by thread:
RE: x86 SBC Gentoo Embedded HotTo version 0.07
Next by thread:
ffmpeg, susv3 math, and uclibc
Previous by date:
Re: x86 SBC Gentoo Embedded HotTo version 0.07
Next by date:
ffmpeg, susv3 math, and uclibc


Updated Jun 17, 2009

Summary: Archive of the gentoo-embedded mailing list.

Donate to support our development efforts.

Copyright 2001-2013 Gentoo Foundation, Inc. Questions, Comments? Contact us.