Proposing a live Debian USB cockroach

Puppy related raves and general interest that doesn't fit anywhere else
Post Reply
Message
Author
User avatar
wibble
Posts: 76
Joined: Thu 11 Jul 2013, 03:48

Proposing a live Debian USB cockroach

#1 Post by wibble »

Project goals.

Cockroach basic:

The initial goal of the project is to produce a bare bones sd-micro bootable (through a usb adapter interface.) live version of Debian that's 100% compliant with modern Linux standards, with apt-get.

Core packages would be stored in a separate partition on the same device media or a secondary media that can be loaded without the internet. The basic system needs to be pretty much bulletproof, run anywhere, not caring about the outside world.

I can use that as a base for scripting the other roach builds. When one works in a satisfactory then use that. Its going to be a hard enough task to get even the basic system working so focus on that and build up in baby steps.

At the moment I would be a happy camper just to get to the stage where the OS booted.

further down the project rabbit hole...

Cockroach dev:

Internet access, c, fotran, python. cross compiler tool-chain. hex editor, vim, nasm, compression.

even further down, barely in sight.
Cockroach gui:

Lightweight desktop.

son of starwars platform will get refunded before this is assembled
Cockroach fabulous a.k.a - the bloatmaster:

Gnome 3 version.

User avatar
wibble
Posts: 76
Joined: Thu 11 Jul 2013, 03:48

#2 Post by wibble »

This is basically where I will rant and rave about my newbie problems trying to get this to work. Hopefully I can get some help and tips from you guys.

Q:Why do this anyway?

A:I wanted to learn, and like most I looked at the available options and through a mixture of hubris and ego I figured I could make something that would be 100% what I wanted. I figure you come out the other side of a process like this you are either driven insane or attain a good level of skill that can carry though to other projects.

Q: But why not get a existing project?

A: I found it difficult to get these to work in exactly the way I wanted, that's going to be a combination of my lack of understanding and wasteland like landscape of proper documentation that's accessible to a new user. Sure you can download an ISO but its full of things not necessary to what I needed. Most puppy's are non-standard and pretty much left unsupported. None from what I could see were in a state that an end user could use
without extensive tinkering to get basic functionality.


Documentation, the job nobody wants to write but everyone wants to read.


One thing I wanted was to show exactly how I got the card preped, how it works on a low level. So in the future when someone wants to do this - they use a "utility" and they find there is a problem, there is no support and they have to do it themselves there is a easy to follow body of work instead of "linux is hard, its non-profit - what did you expect. Read the forum..." I always likened that response to "go read the internet - I don't want to or do not know the answer to your question.."

Its sometimes easy to forget just what a massive learning curve Linux development is for beginners. Consider that unless your time is worthless spending months reading forums is not an optimal way to proceed. In many cases peoples experience were on different platforms, different objectives so the process is questionable at best. By the time you implement there solutions - so much time has passed, packages change versions become stale the solution that was touted does not work. You ask and either the guy has left the scene, or you get the old "ah it worked on my machine - look its always your problem dude."

Now I understand people are hobbyist, not making any coin from the process so the motivation to provide support is minimal. There is also a belief that someone should go through the same pain as everyone else and waste countless hours tinkering with broken applications to reach some sort of enlightenment that's undocumented. I have reached the conclusion that linux hobbyists are at heart sado machositic .

But it does not have to be this way, I figured time to check out youtube. There are many presentations/tutorials/conferences for python devs. Its a great resource and I learned fast that way.

With Linux this is another matter entirely, you quickly find that most of the system level useful tutorials are going to be in a non-English language or they appear to be anyway. Where are all the native English speakers? Did they just start a million and one certification programs as a way to monitise there understanding?

What is left are thousands of videos of people reviewing builds, applications, talking about how much they like linux. but little substance.

Conference wise - this is another massive dissapointment, many of the talks are not tutorials or technical solutions that can be followed. It seems that they are little more than "look at me, I have this new product you can pay to be trained on.." type videos. I defy you as a beginner to look at the embedded linux 2013 videos and come away with a practical understanding on how to actually build a embedded device.

I thought I had found the answer in a beginners tutorial, I looked - around 3-4 hours long. sounds like its going to be great. Native English speaker. What could possibly go wrong...

Wasted 4 hours of my life watching some dude talk about nothing, only to come out the other side with no better understanding than at the start.

How hard is it to define a deliverable objective, state what you need, how to implement, how to deal with problems that might come up, and a run through?

So the learning through videos was a big bust, moving on to the more traditional books. This was more successful but you face a different problem. Where to start? What is the most effective roadmap, what books to read to acheve a specific objective. There seems to be little information on how to do this. It appears to me anyway that people are expected to wade in a sea of publications, then somehow find what they want.

But I had a stab at it anyway,

The books I got were.

Linux in a Nutshell, 6th Edition

The Embedded linux primer 2nd edition,

Understanding Linux Network Internals,

Linux Networking Cookbook

Linux iptables Pocket Reference

grep Pocket Reference

vi and Vim Editors Pocket Reference, 2nd Edition

Linux Device Drivers, 3rd Edition

Linux System Programming,

The Linux Programming Interface,

Linux Kernel Development, 3rd edition.

Professional Linux Programming,

Beginning Linux Programming 4th edition.

Understanding the Linux Kernel, 3rd Edition

Building Embedded Linux Systems, 2nd Edition

Making Embedded Systems

Pro Linux Embedded Systems

Linux Appliance Design

Python for Unix and Linux System Administration

Embedded Android

XPath and XPointer

Linux Shell Scripting Cookbook, 2nd Edition

Mastering Unix Shell Scripting, 2nd Edition

Linux Command Line and Shell Scripting Bible

Linux Kernel in a Nutshell

TCP/IP Architecture, Design and Implementation in Linux

Pro Bash Programming

Pluggable Authentication Modules

Managing Projects with GNU Make, 3rd Edition

Advanced Programming in the UNIX Environment, 3rd Edition

Nagios


Decided to read the embedded linux primer, and the kernel books first.

Any points on where to go next would be great. Have been reviewing the debian live documentation also.

User avatar
Flash
Official Dog Handler
Posts: 13071
Joined: Wed 04 May 2005, 16:04
Location: Arizona USA

#3 Post by Flash »

I have to ask, why is this in Puppy Projects? :)

User avatar
wibble
Posts: 76
Joined: Thu 11 Jul 2013, 03:48

#4 Post by wibble »

lol teddog said there would be more guys reading the project section than the beginner room that could help.

many of the project goals are similar to puppy, getting a functional linux build on target machines that are not bleeding edge.

So i figured lots of the inevitable mistakes I will make will have already been experienced by the devs here and possibly they could help me out.

User avatar
Flash
Official Dog Handler
Posts: 13071
Joined: Wed 04 May 2005, 16:04
Location: Arizona USA

#5 Post by Flash »

That's hardly an acceptable reason to put a thread where it doesn't belong. Reminds me of the tale about the drunk searching for his keys under a street light because the light was better there. :lol:

When I say a thread doesn't belong somewhere, I'm looking out for the people who will be looking through the forum for answers to questions. That in mind, I'm not sure where this thread belongs, but I'm pretty sure it's not here.

User avatar
wibble
Posts: 76
Joined: Thu 11 Jul 2013, 03:48

#6 Post by wibble »

sure move it where you think appropriate.

linuxbear
Posts: 620
Joined: Sat 18 Apr 2009, 20:39
Location: Las Vegas, Nevada, USA

#7 Post by linuxbear »

sounds like linux lite to me.........

User avatar
Karl Godt
Posts: 4199
Joined: Sun 20 Jun 2010, 13:52
Location: Kiel,Germany

#8 Post by Karl Godt »

First you'll need a kernel.

For compiling a kernel you'll need some kind of Linux OS with make and gcc .

The more hardware you'll want to support, the more drivers you'll need to enable in the kernel configuration.

Second step is a working /init in the initial ramdisk that searches for the key .ext2-4 or .squashfs files to mount.

Third step is a /sbin/init .

Post Reply