keildar2005
Posts: 5
Joined: Fri Aug 26, 2011 4:42 am

Re: Get my OS work around, Puppy, and Usefull Arm info

Fri Aug 26, 2011 6:01 am

Sad News Puppy forums generally agree that ARM processors wont work with puppy, The best info why is quoted below by a guy named starhawk. http://www.murga-linux.com/pup.....38;t=64137

You could make a version of Puppy that ran on ARM, but you'd have to hand-recode a *lot* of stuff. Here's why:

All CPUs use a set of orderly instructions to do their work. The type of instruction set used by x86 CPUs (everything Intel since and including the 8086 chip) is called "CISC", which stands for "Complex Instruction Set Computing". Note that this is not the /actual/ instruction set, just the /type/.

Now consider this: ARM stands for Advanced RISC Machine (originally Acorn RISC Machine; yes, it's *that* old, folks), and it uses a type of instruction set called, well, RISC. This stands for "Reduced Instruction Set Computing" and means that the instruction set used is smaller and more efficient than that of a CISC processor.

So you'd have to recode everything that went below the HAL (hardware abstraction layer, nothing to do with a man named Dave) to work with RISC instruction sets and not CISC. This includes, of course, the kernel proper.

Wait, it gets better...

You'd probably have to do this in Assembly Code or Machine Code as well, and debug based on that.

I will tell you that I've coded in Assembler before (hexadecimal on a Commodore 64, because some insane part of me wanted to), and I will tell you that it is brutally painful compared to, say, C++ or Java or any other "modern" programming language.

While it *is* doable (Debian supports arm and armel [newer ARM stuff] procs to some extent) it's quite a difficult process, to say the least, and I would not encourage anyone who isn't very experienced with hard-coding Linux stuff to go anywhere near this idea. Bummer!
But it will run Ubuntu, and the latest puppy can use packages from Ubuntu straight, though some minor tweaks in formatting help. So I am hopeful it will work anyway. I hope to use this as a desktop to mess around with and MacPuppy as my replacement. Did they use a specialized Ubuntu, are my hopes dashed?
PS this post it in the off topic column rather then the General Column because of the don't ask if your OS will work line in the "before you coment post" Don't want to get in trouble :D

jamesh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 24191
Joined: Sat Jul 30, 2011 7:41 pm

Re: Get my OS work around, Puppy, and Usefull Arm info

Fri Aug 26, 2011 12:27 pm

I think he may be over complicating the problem. Not everything below the HAL is assembler, and should compile OK. The kernel has already been ported to Arm (and many other instruction sets) - including the assembler sections.

I'm not sure what Puppy Linux does differently that means it is so different from the standard Kernel that means the port is so difficult. Maybe lots of it has been rewritten in non-portable assembler. I don't know.
Principal Software Engineer at Raspberry Pi (Trading) Ltd.
Contrary to popular belief, humorous signatures are allowed. Here's an example...
“I think it’s wrong that only one company makes the game Monopoly.” – Steven Wright

reggie
Posts: 151
Joined: Fri Aug 26, 2011 11:51 am

Re: Get my OS work around, Puppy, and Usefull Arm info

Sun Aug 28, 2011 11:56 am

Indeed, it does sound a bit strange.

stuporhero
Posts: 125
Joined: Fri Aug 19, 2011 2:02 pm

Re: Get my OS work around, Puppy, and Usefull Arm info

Sun Aug 28, 2011 12:15 pm

I thought the assembler was only really used for the C library and the bootloader...?

Svartalf
Posts: 596
Joined: Fri Jul 29, 2011 6:50 pm

Re: Get my OS work around, Puppy, and Usefull Arm info

Mon Aug 29, 2011 1:28 am

You could make a version of Puppy that ran on ARM, but you'd have to hand-recode a *lot* of stuff. Here's why:


You'd have to recode very little. This is because the work's been mostly done at this point. All that assembly he talks to...it's there already.


All CPUs use a set of orderly instructions to do their work. The type of instruction set used by x86 CPUs (everything Intel since and including the 8086 chip) is called "CISC", which stands for "Complex Instruction Set Computing". Note that this is not the /actual/ instruction set, just the /type/.


Talking over people's heads does NOT impress me.


Now consider this: ARM stands for Advanced RISC Machine (originally Acorn RISC Machine; yes, it's *that* old, folks), and it uses a type of instruction set called, well, RISC. This stands for "Reduced Instruction Set Computing" and means that the instruction set used is smaller and more efficient than that of a CISC processor.


Okay, again nice explanation, but talking over people's heads does NOT impress me.


So you'd have to recode everything that went below the HAL (hardware abstraction layer, nothing to do with a man named Dave) to work with RISC instruction sets and not CISC. This includes, of course, the kernel proper.


Oh, you have GOT to be KIDDING me. Most of what is "below the HAL" is coded in C. There's a few snippets in Assembly down in the Kernel- but they've already been done. Done for a while now.


Wait, it gets better...

You'd probably have to do this in Assembly Code or Machine Code as well, and debug based on that.

I will tell you that I've coded in Assembler before (hexadecimal on a Commodore 64, because some insane part of me wanted to), and I will tell you that it is brutally painful compared to, say, C++ or Java or any other "modern" programming language.


He's trying, once again, to impress you with his apparent brilliance and years of experience... Well, with 27 years in the industry as a whole, 15 of which was dedicated to Linux development and 12-ish to ARM, PPC, and X86 embedded Linux development along with device driver work for the same...I'm not impressed with his claims here.


While it *is* doable (Debian supports arm and armel [newer ARM stuff] procs to some extent) it's quite a difficult process, to say the least, and I would not encourage anyone who isn't very experienced with hard-coding Linux stuff to go anywhere near this idea.

Here's a hint... He's already shot himself in the foot.

It's doable. It's doable now. If I had the few device details to make at least a console level distribution, I could cut you an LFS image or an Angstrom/OpenEmbedded/Yocto/MeeGo image- and probably within a couple of days. It's that straightforward, really.

He's not interested. None of Puppy is probably so right at the moment- and this was just simply an impressive sounding brush-off to get you to go away.

User avatar
Lob0426
Posts: 2198
Joined: Fri Aug 05, 2011 4:30 pm
Location: Susanville CA.
Contact: Website

Re: Get my OS work around, Puppy, and Usefull Arm info

Mon Aug 29, 2011 2:03 am

You people are so nice. It sounds like a whole lot of B*S* to me.

Whew I feel better. I have to say converting puppy to the RasPi is not something I have any training at but it has to be easier than all of that. CISC, RISC I was around for the whole argument. RISC must really suck! Thats why the whole market is being taken over by the iPad, Oh thats right it is an ARM processor too. Must be a non RISC ARM.
Again I call BS and shenanigans on that information. I bet someone will have Puppy running on the RasPi in less than a month after it is released!
512MB version 2.0 as WordPress Server
Motorola Lapdock with Pi2B
Modded Rev 1.0 with pin headers at USB

http://rich1.dyndns.tv/
(RS)Allied ships old stock to reward its Customers for long wait!

User avatar
abishur
Posts: 4477
Joined: Thu Jul 28, 2011 4:10 am
Location: USA
Contact: Website

Re: Get my OS work around, Puppy, and Usefull Arm info

Mon Aug 29, 2011 5:28 am

Let's play nice here guys :) Even if a comment seems ludicrous they're still entitled to that thought. As my brother used to say "Matthew can think whatever he wants no matter how wrong he may be" ;)
Dear forum: Play nice ;-)

Svartalf
Posts: 596
Joined: Fri Jul 29, 2011 6:50 pm

Re: Get my OS work around, Puppy, and Usefull Arm info

Mon Aug 29, 2011 12:08 pm

Quote from abishur on August 29, 2011, 06:28
Let's play nice here guys :) Even if a comment seems ludicrous they're still entitled to that thought. As my brother used to say "Matthew can think whatever he wants no matter how wrong he may be" ;)

Heh... I am being nice and diplomatic here, abishur. ;)

starhawk
Posts: 16
Joined: Tue Sep 13, 2011 11:03 pm

Re: Get my OS work around, Puppy, and Usefull Arm info

Thu Sep 15, 2011 5:07 am

Hey, that's me! Don't worry, I can take the heat :P I'm used to it.

I'm not a programming type. I'm more hardware than software. My programming knowledge is primarily some simple stuff in QBASIC. So sue me if I made some incorrect assumptions, such as things being assembler (because that makes more sense to me somehow than having it in C) when they're actually not.

Having said that... I think that it would be *amazing* to have Puppy in ARM. I can tell you (a little of) how it works. It runs from the hard drive just like it runs from the CD: you have a SquashFS file system that unpacks into RAM and runs from there. Any changes are saved to a separate savefile (*.2fs or *.3fs) that can be ignored or cleaned up at boot. The only difference in running from HDD is that you have a bootloader (usually GRUB or GRUB4DOS) to make it go.

Now... since you're so smart, let's see you crank out a version of Puppy for ARM... on whatever ARM device you have handy. Barry Kauler will probably thank you (I know I will!) so good luck :P

EDIT: just a thought... there are a dizzying array of different Puplets (as we call 'em) around, as well as the (more) official builds. I'd start with a version of Wary Puppy myself, if I were doing this; it's meant for older hardware, so it's a little nicer on the CPU and RAM and stuff. You'll still want a swapfile unless you do something drastic; 512mb is usually recommended as minimum for your RAM spec. Of course, that's for x86...

Svartalf
Posts: 596
Joined: Fri Jul 29, 2011 6:50 pm

Re: Get my OS work around, Puppy, and Usefull Arm info

Thu Sep 15, 2011 3:35 pm

Quote from starhawk on September 15, 2011, 06:07
Now... since you're so smart, let's see you crank out a version of Puppy for ARM... on whatever ARM device you have handy. Barry Kauler will probably thank you (I know I will!) so good luck :P


Point me to the build framework... I'll work it into my schedule. :D

Seriously. While I'm trying to get to a couple of ARM Linux game ports, I can attempt to work it into a variant using OE (Which is doing ARM Linux distributions out of box for Beagleboard, Pandaboard, OpenPandora, and the like...) or use the scripting within Scratchbox or re-work the bulk of it for something like the CodeSourcery cross-compilation chain directly.

ShiftPlusOne
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 6086
Joined: Fri Jul 29, 2011 5:36 pm
Location: The unfashionable end of the western spiral arm of the Galaxy

Re: Get my OS work around, Puppy, and Usefull Arm info

Thu Sep 15, 2011 5:57 pm

Quote from Svartalf on September 15, 2011, 16:35
Quote from starhawk on September 15, 2011, 06:07
Now... since you're so smart, let's see you crank out a version of Puppy for ARM... on whatever ARM device you have handy. Barry Kauler will probably thank you (I know I will!) so good luck :P


Point me to the build framework... I'll work it into my schedule. :D

Seriously. While I'm trying to get to a couple of ARM Linux game ports, I can attempt to work it into a variant using OE (Which is doing ARM Linux distributions out of box for Beagleboard, Pandaboard, OpenPandora, and the like...) or use the scripting within Scratchbox or re-work the bulk of it for something like the CodeSourcery cross-compilation chain directly.

T2, Woof.

jamesh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 24191
Joined: Sat Jul 30, 2011 7:41 pm

Re: Get my OS work around, Puppy, and Usefull Arm info

Thu Sep 15, 2011 6:31 pm

I'm not Linux expert, but I can't see what's been done in Puppy Linux that means it won't be a straight recompile for the Arm. Have the devs actually re-coded a load in x86 assembler to get the size down (possible)?

If not I would expect it to be a relatively simple job to recompile the kernel for Arm. After all, with a raw kernel tree it's simply a architecture option, and I presume (this may be the problem!) Puppy is based on a standard Kernel at some point.
Principal Software Engineer at Raspberry Pi (Trading) Ltd.
Contrary to popular belief, humorous signatures are allowed. Here's an example...
“I think it’s wrong that only one company makes the game Monopoly.” – Steven Wright

Svartalf
Posts: 596
Joined: Fri Jul 29, 2011 6:50 pm

Re: Get my OS work around, Puppy, and Usefull Arm info

Thu Sep 15, 2011 7:08 pm

Quote from jamesh on September 15, 2011, 19:31
I'm not Linux expert, but I can't see what's been done in Puppy Linux that means it won't be a straight recompile for the Arm. Have the devs actually re-coded a load in x86 assembler to get the size down (possible)?

If not I would expect it to be a relatively simple job to recompile the kernel for Arm. After all, with a raw kernel tree it's simply a architecture option, and I presume (this may be the problem!) Puppy is based on a standard Kernel at some point.

It's only partly compiled. It's mostly a grab-and-repackage of select apps, combined with a few that're not packaged, combined with a specific look-and-feel set of skins, etc. as best as I can tell from the stuff I've gotten pulled from their project stuff. Debian, Angstrom, or MeeGo will have a substantive amount of the things that you'd need for that purpose, you can reconfigure to compile the stuff not there with CodeSourcery's GCC cross tools, Cross-toolNG's cross tools, or use Scratchbox2 configured with either and a rootstrap yoinked from ARM Lenny or Sarge.

starhawk
Posts: 16
Joined: Tue Sep 13, 2011 11:03 pm

Re: Get my OS work around, Puppy, and Usefull Arm info

Thu Sep 15, 2011 8:13 pm

Woof, the puppy-builder, is here: http://bkhome.org/woof/

You will need a version of Puppy to run it, of course... I suggest Wary. Latest ver is Wary Puppy 5141, here: http://getfr2.no-ip.org/pub/is......1.4.1.htm

EDIT: if you're actually doing this, could I ask you to join and post progress on the Puppy Linux Forums? The official forum is at http://www.murga-linux.com/pup...../index.php; there is a competing forum at http://www.puppylinuxforum.org/ but it is not official. Apparently there is a bit of a disagreement (not my business) between John Murga (owns the official forum) and Puppyite (owns the other one) and so Puppyite is trying to beat John Murga at his own game... or something like that.

Svartalf
Posts: 596
Joined: Fri Jul 29, 2011 6:50 pm

Re: Get my OS work around, Puppy, and Usefull Arm info

Thu Sep 15, 2011 8:20 pm

Cool. :D I've fetched Woof already. I'll do a bit of tinkering tonight with it while I'm correcting a mistake I made in framing in my rootstrap for ARM builds of other things.

It's interesting that it's claimed you need Puppy to do it. It should be that you have a select set of packages or merge sets that you need to actually do it from something else- but I'll take it at face value for now and work accordingly.

[edit]
I'll get over there once I make the full assessment. It may be that I've missed something- not that I won't do it, it might take a bit more time than planned and it's better to announce when you have a rough timeline instead of a vague one... :D

Svartalf
Posts: 596
Joined: Fri Jul 29, 2011 6:50 pm

Re: Get my OS work around, Puppy, and Usefull Arm info

Fri Sep 16, 2011 4:14 pm

As an aside, the initial stuff, the framing in the bulk of the "iso" filesystem (you're not getting an ISO with this, or CD boot, sadly...) looks like the scripting for fetching from Debian needs only a new version for ARM or some extending Woof to support telling that chunk of coding that it's X86 or ARM. If the Debian Woof parts work right for an X86 version on an initial experiment I'll have time to do Monday night, I might have a rough cut that will have the bulk of an ARM bootable in QEMU within the next week or two, pending my time availability to work with it.

Return to “Off topic discussion”