Prop IDE - Linux: Customized Linux system entirely from source. Add the apps w
Bob Lawrence (VE1RLL)
Posts: 1,720
We started this discussion in this thread:
http://forums.parallax.com/showthread.php?p=858120
You can start with something like: Linux From Scratch
What is Linux From Scratch?
Linux From Scratch (LFS) is a project that provides you with step-by-step instructions for building your own customized Linux system entirely from source.
Website: www.linuxfromscratch.org/lfs/
What is Cross Linux From Scratch? ¶
Cross Linux From Scratch (CLFS) is a project that provides you with step-by-step instructions for building your own customized Linux system entirely from source.
trac.cross-lfs.org/
Post Edited (Bob Lawrence (VE1RLL)) : 11/30/2009 2:57:35 AM GMT
http://forums.parallax.com/showthread.php?p=858120
You can start with something like: Linux From Scratch
What is Linux From Scratch?
Linux From Scratch (LFS) is a project that provides you with step-by-step instructions for building your own customized Linux system entirely from source.
Website: www.linuxfromscratch.org/lfs/
What is Cross Linux From Scratch? ¶
Cross Linux From Scratch (CLFS) is a project that provides you with step-by-step instructions for building your own customized Linux system entirely from source.
trac.cross-lfs.org/
Post Edited (Bob Lawrence (VE1RLL)) : 11/30/2009 2:57:35 AM GMT
Comments
qemu is a good way to test this stuff as you can boot and test very quickly.
A kernel and busybox is a great way to get into a minimal system.
Booting a standard linux distribution with "init=/bin/bash" on the kernel command line and then brining the system up to full multi-user mode by hand is a *great* way to get a very deep understanding as to what is going on under the bonnet.
Debian is a good base to start from if you don't want to waste time compiling your own. Just do a very minimal shell only install and install packages as you require them.
Embrace the command line.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
If you always do what you always did, you always get what you always got.
@Brad - excellent focus on the essentials!
Busybox might be all that's needed for the 'upper layer'.
(Virtualbox is good on a Windoze machine - like it as much as qemu)
Embracing the command line ...
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Links to other interesting threads:
· Home of the MultiBladeProps: TriBlade,·RamBlade,·SixBlade, website
· Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
· Prop Tools under Development or Completed (Index)
· Emulators: CPUs Z80 etc; Micros Altair etc;· Terminals·VT100 etc; (Index) ZiCog (Z80) , MoCog (6809)
· Search the Propeller forums·(uses advanced Google search)
My cruising website is: ·www.bluemagic.biz·· MultiBladeProp is: www.bluemagic.biz/cluso.htm
Methinks that we are describing a module that is an Interactive Design Environment, so the runtime is on a PC, not the Prop.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
JMH
At least that's how I interpret the idea.
I'm not sure how this works out though. If you do any kind of work you soon find that you need:
A WEB browser so you can pick peoples brains on the forum.
A PDF reader, if only for the Prop Manual.
Something to mess with images so you can post pics of your creations to the forum[noparse]:)[/noparse]
Perhaps something to mess with videos of your creations.
A Spice simulator to check out oddball schematic ideas.
A Schematics capture and PCB layout package for the hardware stuff.
A word processor in case you have the rare urge to document anything.
A Z80 simulator package for ZiCog BIOS development...err OK perhaps not for everyone...
Something to play music whilst your hacking. Very important to some.
etc etc.
Before you know it that's a pretty full blown system which might as well be topped off with a nice looking KDE desktop and pretty much describes my Debian setup.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
For me, the past is not over yet.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
JMH
No, it's just a follow up/continuation of the discussion we had in the other thread(as I indicated in the top of this thread) The idea is to build a stripped down version of Linux to run a Propeller IDE . Get rid of the clutter that's associated with most distributions. We would only add the applications that benefit prop heads. I.E brad's BST(if he allows it) , maybe a web browser setup for the object exchange etc. Some of us would run it directly from a memory stick through the USB port. We are just talking about something streamlined to allow quick boot up , stability, less clutter etc. The idea is that when you install Linux it comes pre-loaded with the tools that one would need for Propeller development.
We also discussed other operation systems such as QTX which is very stable but the licensing issues are unclear, confusing etc.
The basic theme is a dependable Linux system, that's lightweight, the instillation is pre-configured for Prop heads to develop Propeller code and of course "No Microsoft Windows
I'll pull up a deck chair and nice cocktail to watch.
> apt-get install xserver-xorg firefox xfce4
Job done.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
If you always do what you always did, you always get what you always got.
>apt-get install propeller_dev
Which is a kind of Debian meta package, whatever they call it, that installs every possible Propeller tool, Propeller loader, Propeller simulator, Propeller generally useful whatever gizmo.
And someone to maintain the apt source server for this which always has the latest versions.
What a great idea!
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
For me, the past is not over yet.
How about Parallax hosting? Or will permissions to update the server become ugly?
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
JMH
Aside from the hardward supported, did you put X in for BST's using GTK2 ?
xfce's a smart choice - light, fast, clean.
am going to slick a partition soon just for a min. Debian install --- anyone remember if it's got rxvt?
- H
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
since this is our initiative, we should host it - Parallax has enough to do besides dealing with us wild-eyed forumistas-penguinistas [noparse]:)[/noparse]
Who has direct access to server resources?
I do, and might consider this, but have virtually no experience with setting up a repo.
- Howard
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Yeah, it's simply an empty package that depends on all the other packages you want installed. Not particularly difficult to create. It'd be easier just to create a big tarball people could untar in their home directory. Then it's all there and you are not dependent on .deb based distributions.
Just Java and Mono alone blows the concept of a small-light OS right out of the water.
You want mimimalist? Bash, vi and a compiler/loader. If you compromised and used the busybox versions of ash and vi you may well fit the entire thing on a single floppy.
If someone asks me if that can be ported to the Propeller, I swear I'll pop a valve.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
If you always do what you always did, you always get what you always got.
A tarball in a dir is a good idea.
(Forget the JAVA - otherwise we'll eventually end up with an ultra-Fat distro supporting Eclipse :-P )
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
well it's bound to happen - so better keep an eye on your pressure gauge, man!
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Hosting a Debian repository is as simple as spitting a directory tree into your /var/www or wherever you store your web tree. There's no smarts on the server.
I was going to say in an earlier post (before I deleted it as it turned into a bit of a rant), people really need to spend some quality time with Linux before trying to build something custom.
"Those who don't understand are doomed to re-implement. Poorly"
I'm not sure which post you are referring to :
If it's the one about the custom systems, then no, I still sometimes run a really minimalist version of WINE to run some old Win32 custom software.
If it's the one about a small Debian install then, no - Firefox pulls in gtk2 as part of its dep set so there is no need to specify it manually.
The smallest machine I use for Prop development is my little Vaio, and that has a full blown Ubuntu 8.04 install on it. I do test on the girlfriends Acer Aspire One from time to time, but the screen is a weeny bit small for my liking. I see no point trying to shoehorn it onto an embedded system that has no keyboard or mouse (touchscreen only).
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
If you always do what you always did, you always get what you always got.
Well, Java is required for both Gear and Ale's sim.. Heater was very specific about _all_ Propeller tools.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
If you always do what you always did, you always get what you always got.
Sorry about the confusion on post reply - was thinking 'small Debian' - good, understood re Firefox.
Second the caution about attempting to roll your own - it took me months of head-BASHing to get a simple device driver to work - and many months more before I could even get a simple alteration of the Kernal to compile. This stuff can be nightmarish without help.
RE Repo - OK if no once else jumps in soon, I'll think more seriously about setting it up ... serious time constraints at the moment... ah deadlines...
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Links to other interesting threads:
· Home of the MultiBladeProps: TriBlade,·RamBlade,·SixBlade, website
· Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
· Prop Tools under Development or Completed (Index)
· Emulators: CPUs Z80 etc; Micros Altair etc;· Terminals·VT100 etc; (Index) ZiCog (Z80) , MoCog (6809)
· Search the Propeller forums·(uses advanced Google search)
My cruising website is: ·www.bluemagic.biz·· MultiBladeProp is: www.bluemagic.biz/cluso.htm
Have you considered using both?
It's actually not too difficult to set up a dual boot system.
I have to use 'Doze all the time, but can flip over to Linux when the WinAnguish level exceeds the tolerance threshold.
sincerely,
Howard
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Was thinking more about our repo today - do you all think it makes more sense to host it on say SourceForge, or GoogleCode - as opposed to one of us doing it ourselves? (Thinking long term and flexibility here.)
@Brad - did you use the Tiny Debian version at first?
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
I'm pretty sure you can't host a binary repository there.
Nah, I started with a small kernel and hand copied libs and bins to do what I needed. I then migrated to busybox and uClibc. Then to busybox and glibc (needed it for WINE). Then I just started with a base debian install and a custom script to strip out the docs/manpages and other stuff I did not need. Eventually I settled on a modified version of the uClibc buildroot.
I took a couple of years off to pursue other interests, and now I'm back to the debian install.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
If you always do what you always did, you always get what you always got.
Great - sounds like you're the go to guy for install scripts? [noparse]:)[/noparse]
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
I've written some absolute abominations by abusing bash and make over the years. Happy to help provided nobody actually looks at the stuff I create.
Even though I'm a dyed in the wool Debian user, I kinda have a problem with providing a deb repository for this stuff, in that the whole concept was to make life easy for people.
This will make life very easy for Debian/Ubuntu users, but considerably more complex for users of RPM based distributions.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
If you always do what you always did, you always get what you always got.
Debian/Ubuntu Works for me.
We're on a similar page here ... indeed it's the old·distro/repo can of worms. Unless you can compile the whole shebang, you're pretty much commited to one line of distro, eh?
[noparse][[/noparse]opening the 'Which Distro' Can now...]
I like slackware derivitatives for some of this stuff - VectorLinux (VL) is my favorite - it's·quite fast. uses a 'gslapt' to pull from it's repo.·
Thinking small small... considered DSL (Damn Small Linux) or even Puppy Linux.· There's a few others that are good bases for 'embedded linux' (Whatever that really means). ... have to go look in my notes.... slicked them some months back.
Since there's really no way to solve the cross distro problem, we probably end up in the same boat as some of these smaller distros like VL --- a few dedicated folks who compile and test from source and script it up for their favorite distro's repo.· A lot of work - and you have to really know the nut's and bolts of that distro's install scripts.
So the trade off to me seems like supporting widely available/used like Debian AND RPM-based *versus* a small, agile distro (which could be apt or rpm perhaps?)
Guess it comes down to how much effort we can put into it!
I've not thinned down Debian before --- how skinny can we make it and just have absolute minimum I/O drivers, just a shade more than the kernel itself?
Remember to think like Steve Martin in the old days: " Let's Get Small ! "
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Post Edited (CounterRotatingProps) : 12/2/2009 12:52:12 AM GMT
That depends on what you need I guess. At a minimum bash, glibc6 & hal. Then whatever GUI environment you want on top of that.
I have a script around somewhere that traverses the target directory tree, checks the lib deps on all binaries & libs and then removes any unreferenced libraries. I recall that saved a couple of meg when I was doing *really* small stuff.
Ram is another way of doing this stuff. A couple of my machines have a kernel and a 70 meg initramfs. They load the entire OS into RAM and run it from there. It's pretty quick [noparse]:)[/noparse]
You need at least 512M of ram to make it practical though.
As an example, one of my storage nodes has about a 75 Meg initramfs with a base debian system + full compiler suite and most standard management tools. Uncompressed this consumes a couple of hundred meg of ram. This is not thinned in any way and is a complete base debian install. Not having to touch the disk or network, compiles go like a bat out of hell [noparse]:)[/noparse]
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
If you always do what you always did, you always get what you always got.
That settled the question for me. One hour ago I had a new computer delivered to my work, and it has come pre-installed with a brand new version of Windows XP. Not Win 7. Not Vista. It is XP, like all the other computers in my work network.
But the upside (yum, yum) is I now have the old 2.4gig box that it replaced. Maybe it is time to wipe the hard drive and plunge into the world of Linux? I'll be watching this thread with interest. What do you suggest first, get Ubuntu or something?
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
www.smarthome.viviti.com/propeller
I'd say that is a pretty good place to start. Just don't get Ubuntu 9.10 if you plan on connecting a propeller to it. It has a bug in the serial driver the Ubuntu developers seem fixated on ignoring. 9.04 is good. I use 8.04 on all my machines here.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
If you always do what you always did, you always get what you always got.
a little run down of the Linux way ... some of this might be familiar to you, but I thought it might be good to keep it entry level so others can get some mileage out of it too.
> Is this happening because of windows? ...
For me at least, it's not so much Winderz, as it is the love of Linux.·Having programmed more on·Win than Linux, I can say without bias that Linux is·really a·programmers' operating system.··You can do amazing things with it - and have *complete* contol over anything in it.· However -·as they say -·it's "an OS for consenting adults."· No, you don't have to worry about virtual STD's :-O··Rather, if you tweek it just wrong, you might have to sleep with a Linux Geek to get it fixed [noparse]:)[/noparse])··
This is the downside of Linux - the various distributions ("distros") usually work fine out of the box, if you don't have odd or really new hardware. And when you want to add software to your distro,·such programs are stored in binary code repositories, the 'repos'. If the repo software is set up correctly, and it normally is, you should be able to grab the 'package' with a 'get' routine (the name and method varies depending on the distro)· --- and it will work without a hitch.· BUT, if something goes amiss, it can be a major PITA to figure out what to do. (This, IMO, is an area when Windows tends to do better *generally* - but we don't need to discuss that here.)
It's a ton of fun to play with - and your son might get a kick out of it too.· You can set up a machine to 'multi-boot' - XP and Ubuntu, or XP and Debian, and Ubuntu ... etc· (At one point, I had XP, and 30 some distros all living happily on one machine [noparse]:)[/noparse])· - and you can also evaluate many of them right from a "live CD" - plop it in the drive, boot and go --- all without messing up the existing OS install. Alternatively - as you'll see often mentioned on the forums -·you can install an OS emulator. (You're probably well familiar with this concept as you're active with the CP/M, 6802 stuff.)
With the machine you now have, you've got tons of room - and a clean slate! The distro install should walk you through every step.
What kicked off·this thread is the want of a very light weight platform that can be run straight off a USB stick.
To twist an old Western: "Have Prop and USB stick, will travel."
This OS (and full development platform) on a stick is a fairly recent trend, naturally stemming from the boot-from-cd Linux (and other) OS's that fire up directly from·a CD (a Live CD)·--- you don't even need a hard drive! (That's where the RAM Disk Brad mentions comes in.)
So what we're working on here is this light weight system and the tools we'll need to do Prop Work ...
and ... here we are!
cheers
- Howard
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔