View previous topic :: View next topic |
Author |
Message |
DefconAlpha Apprentice
Joined: 25 Feb 2003 Posts: 151 Location: Alabama
|
Posted: Thu Apr 06, 2006 7:56 am Post subject: uGentoo (linux in less than 300MB) |
|
|
Externally updated/maintained guide
I have been curious about running Gentoo in an embedded-esque manner. After much searching, i realized that things like TinyGentoo and Gentoo-Embedded just dont cut it for two reasons.
* They use uClibc. Not that i have anything against uClibc, i just want to use glibc.
* They are too small. They are all designed to run completly out of a ramdisk. I have 128 MB of RAM in the targeted machine, so i don't really want an all-RAM root.
So with all of that right out, i am left with one option. Building it myself. Luckily, Gentoo makes you learn all of the neccessary skills to do this every time you install it, but it may not be immediately obvious as to how this works. Since i am going to target my base platform to run on a Geode x86 processor i will need a new environment to build the required packages. My current CHOST is i686-pc-linux-gnu and it must be an i586-pc-linux-gnu host for the binaries to run on the targeted platform. Once i establish a development environment, i can build all of the packages, drop them into a folder, and then stage them onto the final media (targeted to be a 256MB - 512MB CompactFlash card). I know that many people are worried about too many read/writes to flash media, but when you consider that the 512MB media costs less than $25US, it will be fine if you have to buy another CF card some few months/years down the road.
I have blazed this trail and provided the surprisingly simple scripts needed to perform all of the nasty work in this post. Gentoo Catalyst may provide some of these features that i have re-created, but the lack of good documentation makes this hard to verify. I know that Catalyst will provide Installation-CD images, but i dont want to use ISOLINUX or have a gutted LiveCD environment. I am not a fan of the LiceCD environment for general purpose consumption (something about a read-only root filesystem that doesnt work for updates or persistent on-machine configuration). Read on for all of the details on how i made this work.
Heres the general lowdown:
* Setup development host
* Install onto target host media from devhost packages
Sounds easy? Well
each step gets broken down a bit more. Go to the external page for the complete guide. Really, it's too big to update here.
There are a few more points i need to make on this configuration. This setup is great for a distributed environment where updates can be deployed in a controlled fashion. It is a somewhat similar setup to a Portage BINHOST configuration. You can deploy a Portage tree and control the updates or make a new profile and push out updates only when you need to update. If i ever run a cluster you can bet lots of money that i will make a custom portage profile and keep the shit up-to-date on my own. A BINHOST is not actually required in this instance because of the PKGDIR environment variable. When PKGDIR is set and emerge can find the binary package, you don't actually have to have anything else going on; emerge will just emerge the binary package. W0rd. _________________ In the end, the love you get is equal to the love you make
--John Lennon & Paul McCartney (The End - Abbey Road, |
|
Back to top |
|
|
!equilibrium Bodhisattva
Joined: 06 Jun 2004 Posts: 2109 Location: MI/BG/LC
|
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|