Java Forum / General / December 2005
Jave on Embedded Linux
motionanalyst@gmail.com - 07 Dec 2005 02:53 GMT I have an embedded system and want to set J2SE or J2ME on Embedded Linux. I heard a few ways to install JDK but I cound not understand becase, didn't have fully information. I consider about kaffe and blackdown package, I could not build that, however.
My embedded system's hardware specification
Processor : Intel PXA255 400MHz SDRAM : Samsung 64 MB Flash : Intel strata flash 32 MB Ethernet : CS8900A 10BaseT Display : LG TFT LCD 6.4" (640X480) Touch : ADS7843(Touch Screen) Etc. : USB, 2 Serials, 1 JTAG, PCMCIA(Buffalo WLAN Card), CF(Sandisk CF 512MB), MMC, IR, 8 Key Pads, RTC.
and Linux version is 2.4.18
If you have similar experience or related documents about Java on Embedded Linux, please advice me. (if you have documents or information, please send me.) I really want to build java on embedded Linux.
Please help me.
Best Regards.
Y.K. Moon
Chris Smith - 07 Dec 2005 03:53 GMT > Processor : Intel PXA255 400MHz > SDRAM : Samsung 64 MB [quoted text clipped - 6 lines] > > and Linux version is 2.4.18 Is that 32 MB flash all that you have for persistent storage? A full J2SE version of the JRE on Linux will run you more than that when decompressed, even with all the optional pieces removed. You would need to look for a J2ME virtual machine.
http://java.sun.com/products/personalprofile/download.html is a non- commercial J2ME implementation for Linux/x86. The page claims tht Sun sells a commercially distributable version as well.
 Signature www.designacourse.com The Easiest Way To Train Anyone... Anywhere.
Chris Smith - Lead Software Developer/Technical Trainer MindIQ Corporation
motionanalyst@gmail.com - 07 Dec 2005 06:37 GMT I am much indebted for your attention and was full of gratitude.
I have more quistions. I have more storage that is file system (ext2) using Compact Flash(512MB, Sandisk). Could I build the J2SE on my embedded system? If you have information about installation of J2SE on an embedded system, please send me.
Thank you, and best regards
Y.K. Moon
giangiammy@gmail.com - 07 Dec 2005 09:33 GMT hi,
I installed kaffe 1.1.6 on a embedded platform, based on MIPS: it works with AWT, not SWING. I started using the standard diistribution, with some month of works
:-) You can try compiling it for your target, see the errors, and ask in the kaffe mailing list: it gives a good support
bye giammy -- Gianluca Moro http://groups.yahoo.com/group/embeddeditalia/ ISCRIVITI alla Mailing List Italiana su LINUX EMBEDDED giangiammy@yahoo.com Visit http://ilpinguino.altervista.org/
linnix - 07 Dec 2005 16:55 GMT > I am much indebted for your attention and was full of gratitude. > > I have more quistions. I have more storage that is file system (ext2) > using Compact Flash(512MB, Sandisk). If you have any kind of graphical output (browser and/or Java console), you need to include a mininum X installation. 512M would be tight, 1G would be better. However, with any kind of GUI, 64M RAM is not enough. We had a Java servlet apps that starts up with 100M without anything else running.
> Could I build the J2SE on my embedded system? If you have information > about installation of J2SE on an embedded system, please send me. Of course you can, but you have to spend lots of time striping it down to fit your system.
> Thank you, and best regards > > Y.K. Moon Oliver Wong - 07 Dec 2005 19:16 GMT >> I am much indebted for your attention and was full of gratitude. >> [quoted text clipped - 6 lines] > We had a Java servlet apps that starts up with 100M without anything > else running. This is simply not true. Taken literally, we had GUIs even before 1985 when Windows 1.0 came out, and 64MB of RAM was a hell of a lot of RAM back in those days. But even if you restrict yourself to "modern GUIs", there are still plenty of lightweight ones out there. In fact, there are GUIs specifically designed for embedded Linux. See, for example the MatchBox project: http://projects.o-hand.com/matchbox/screenshots.html with full unicode support and theme switching, and yet can run on systems with only 40MB of RAM, and the binaries themselves take up a measly 50Kb. That's kilobytes, not megabytes.
If you're running on devices even more constrained than that, there's MicroWindows: http://www.linuxdevices.com/links/LK4761626139.html which can run in 64Kb of RAM. Again, note that that's Kilobytes, not Megabytes.
You can find a list of GUIs for embedded Linux at http://www.linuxdevices.com/articles/AT9202043619.html
I didn't see the original post, so I don't know what the OP is planning to do, but if it's something that involves Java 2 SE, the OP may wish to reconsider. I'm not sure Java is the best choice for memory-constrained devices; at least not J2SE.
- Oliver
linnix - 07 Dec 2005 20:28 GMT > >> I am much indebted for your attention and was full of gratitude. > >> [quoted text clipped - 16 lines] > 40MB of RAM, and the binaries themselves take up a measly 50Kb. That's > kilobytes, not megabytes. This page mentioned quarter VGA resolution. The OP asked for touch screen VGA.
> If you're running on devices even more constrained than that, there's > MicroWindows: http://www.linuxdevices.com/links/LK4761626139.html which can > run in 64Kb of RAM. Again, note that that's Kilobytes, not Megabytes. Without meanful GUI.
> You can find a list of GUIs for embedded Linux at > http://www.linuxdevices.com/articles/AT9202043619.html [quoted text clipped - 3 lines] > reconsider. I'm not sure Java is the best choice for memory-constrained > devices; at least not J2SE. The OP asked for J2SE. Perhaps you should read the post before answering.
> - Oliver Oliver Wong - 07 Dec 2005 21:27 GMT >> See, for example the MatchBox >> project: http://projects.o-hand.com/matchbox/screenshots.html with full [quoted text clipped - 4 lines] > This page mentioned quarter VGA resolution. The OP asked for touch > screen VGA. Yes, the page *mentions* quarter VGA resolution. It also has screenshots for the Nokia 770 which is of a higher resolution, and the Sony U71 Tablet PC with runs at 800x600, which exceeds VGA. In other words, MatchBox is not "locked" at quarter VGA, which you seemed to be implying by your post.
>> If you're running on devices even more constrained than that, there's >> MicroWindows: http://www.linuxdevices.com/links/LK4761626139.html which >> can >> run in 64Kb of RAM. Again, note that that's Kilobytes, not Megabytes. > > Without meanful GUI. I assume you mean "meaningful". What's your definition of meaningful? The site there specifically says it provides an API that is compatible with X Windows and Win32. Here's a short paragraph from the page I linked above:
<quote> Microwindows is essentially a layered design that allows different layers to be used or rewritten to suite the needs of the implementation. At the lowest level, screen, mouse/touchpad and keyboard drivers provide access to the actual display and other user-input hardware. At the mid level, a portable graphics engine is implemented, providing support for line draws, area fills, polygons, clipping and color models. At the upper level, various API's are implemented providing access to the graphics applications programmer. </quote>
According to http://www.linuxdevices.com/news/NS6390514383.html, the latest release now supports handwriting recognition, graphics keyboard, and a new window manager. What more do you need before the GUI becomes "meaningful"?
>> You can find a list of GUIs for embedded Linux at >> http://www.linuxdevices.com/articles/AT9202043619.html [quoted text clipped - 7 lines] > The OP asked for J2SE. Perhaps you should read the post before > answering. As I mentioned, I did not see the original post. For whatever reasons, my newsgroup decided to discard it. As I also mentioned, I don't think J2SE is the right choice for whatever the OP wants to do, given the limited information I've seen in the form of quotes in your post.
Additionally, I think you are not in a good position to accuse me of not reading the original post when it seems to me that you dismissed the solutions I provided without actually reading the URLs I linked to.
- Oliver
linnix - 07 Dec 2005 22:25 GMT > >> See, for example the MatchBox > >> project: http://projects.o-hand.com/matchbox/screenshots.html with full [quoted text clipped - 7 lines] > Yes, the page *mentions* quarter VGA resolution. It also has screenshots > for the Nokia 770 which is of a higher resolution, and the Sony U71 Tablet 128M flash and no Java
> PC with runs at 800x600, which exceeds VGA. In other words, MatchBox is not > "locked" at quarter VGA, which you seemed to be implying by your post. [quoted text clipped - 3 lines] > >> can > >> run in 64Kb of RAM. Again, note that that's Kilobytes, not Megabytes. No talks of Java at all.
> > Without meanful GUI. > > I assume you mean "meaningful". What's your definition of meaningful? Yes, you are right.
> The site there specifically says it provides an API that is compatible with > X Windows and Win32. Here's a short paragraph from the page I linked above: ...
We are not asking for window APIs. We are asking for Java, i.e. J2SE API.
> >> You can find a list of GUIs for embedded Linux at > >> http://www.linuxdevices.com/articles/AT9202043619.html [quoted text clipped - 16 lines] > reading the original post when it seems to me that you dismissed the > solutions I provided without actually reading the URLs I linked to. I have not dissmissed solutions that meet the requirements. Please provide links to successful implementation of J2SE on 64M memory. I can provide a 128M J2SE system, but not on 64M. Sure, you can run it with 64M and 64M swap file on Flash, but don't forget to replace the flash every couple of months.
> - Oliver Oliver Wong - 07 Dec 2005 23:14 GMT > I have not dissmissed solutions that meet the requirements. The OP's post finally came through, and I see that (s)he wrote that she wants J2SE or J2ME, so actually, yes, you did dismiss solutions that met the requirement. But my main gripe was not whether or not you dismissed solutions that met the requirement, but rather that you dismissed solutions without actually reading about them, and then proceed to chatise me for not reading the original post after I had already said I wasn't able to see the original post.
Anyway, it doesn't matter to me. There's two directions that I can think of for this thread can go from here. One is that we get into an argument of who was right and who was wrong. The other is that we try to post information that the OP may find helpful. I'm going to try to steer the thread back towards the latter. We'll see what happens from there.
> Please > provide links to successful implementation of J2SE on 64M memory. I > can provide a 128M J2SE system, but not on 64M. I couldn't find an implementation of J2SE, but I found one for PersonalJava. The Sharp Zaurus PDA has 64MB of RAM, and supports PersonalJava via the Jeode JVM. You can see pictures of it at http://www.linuxdevices.com/articles/AT2134869242.html.
In case (like me) you don't know much about PersonalJava, from Sun's website, http://developers.sun.com/techtopics/mobility/personal/articles/ztutorial/: <quote> In terms of target device capacity, PersonalJava sits between J2SE and the CLDC/MIDP stack of J2ME. </quote>
So it's not quite J2SE, but it's more than J2ME. PersonalJava might be another route the OP may wish to look at if (s)he finds (s)he cannot fit J2SE on the device in question.
There also happens to be a guide to Java on embedded Linux located at http://www.linuxdevices.com/articles/AT8918758707.html . The OP may be particularly interested in part 4, entitled "Java products of interest to Embedded Linux based system developers".
- Oliver
Oliver Wong - 07 Dec 2005 23:20 GMT > Please > provide links to successful implementation of J2SE on 64M memory. Wouldn't you know it -- immediately after my post saying I can't find a successful implementation of J2SE on 64MB DRAM, I find one:
http://www.8d.com/8DTech.pdf
- Oliver
linnix - 08 Dec 2005 02:43 GMT > > Please > > provide links to successful implementation of J2SE on 64M memory. [quoted text clipped - 3 lines] > > http://www.8d.com/8DTech.pdf Servers.
> - Oliver You can pick and choose the context if you want. Let me repeat this: the requirements are for a VGA grade GUI (not handicapped 1/4 VGA) with real Java (not subset of Java) on 64M of code space (NOR flash or RAM).
linnix - 08 Dec 2005 02:49 GMT > > Please > > provide links to successful implementation of J2SE on 64M memory. [quoted text clipped - 3 lines] > > http://www.8d.com/8DTech.pdf Servers.
> - Oliver You can pick and choose the context if you want. Let me repeat this: the requirements are for a VGA grade GUI (not handicapped 1/4 VGA) with real Java (not subset of Java) on 64M of code space (NOR flash or RAM).
linnix - 08 Dec 2005 03:01 GMT > > Please > > provide links to successful implementation of J2SE on 64M memory. [quoted text clipped - 3 lines] > > http://www.8d.com/8DTech.pdf These are all server units (no real GUI), except for the parking locator. There is no indication of J2SE running on the parking locator either.
> - Oliver David N. Welton - 08 Dec 2005 08:56 GMT >>>> If you're running on devices even more constrained than that, there's >>>>MicroWindows: http://www.linuxdevices.com/links/LK4761626139.html which >>>>can >>>>run in 64Kb of RAM. Again, note that that's Kilobytes, not Megabytes. > > No talks of Java at all. Dude, you're getting free advice... You outlined what hardware you have to work with, and someone suggested that perhaps using technology other than Java might be a good approach to solving your problem. Your device presumably exists to do something like this:
Provide some functionality and a user interface to it on a device.
Your users most likely do not care how you do that, so if someone makes a reasonable suggestion that perhaps looking at the problem a different way is worth a few minutes, I wouldn't get too bent out of shape about it.
Same as if someone asks if they can find an e-commerce solution implemented in Forth - I'm going to say that perhaps they should go back and look at other solutions.
BTW, I'd at least consider Tcl and Tk for the GUI, myself:-)
Ciao,
 Signature David N. Welton - http://www.dedasys.com/davidw/
Linux, Open Source Consulting - http://www.dedasys.com/
linnix - 08 Dec 2005 17:50 GMT > >>>> If you're running on devices even more constrained than that, there's > >>>>MicroWindows: http://www.linuxdevices.com/links/LK4761626139.html which [quoted text clipped - 7 lines] > than Java might be a good approach to solving your problem. Your device > presumably exists to do something like this: That's not the point. When a client pre-selected real (not handicapped subset) Java and VGA (not 1/4 VGA) screen, I would not shortchange him with 64M run-time code space.
> Provide some functionality and a user interface to it on a device. > > Your users most likely do not care how you do that, so if someone makes > a reasonable suggestion that perhaps looking at the problem a different > way is worth a few minutes, I wouldn't get too bent out of shape about it. When you go with a subset of the language and a restricted screen size, there are additional development costs and user adjustments. The client certainly care more about them than paying for additional memory.
> Same as if someone asks if they can find an e-commerce solution > implemented in Forth - I'm going to say that perhaps they should go back [quoted text clipped - 9 lines] > Linux, Open Source Consulting > - http://www.dedasys.com/ Oliver Wong - 08 Dec 2005 20:43 GMT > That's not the point. When a client pre-selected real (not handicapped > subset) Java and VGA (not 1/4 VGA) screen, I would not shortchange him > with 64M run-time code space. The OP wrote "I have an embedded system and want to set J2SE or J2ME on Embedded Linux." Here's a link to the original post in case you don't believe me:
http://groups.google.com/group/comp.arch.embedded/msg/f2bdfb93fe1478d2
Initially you focused on the J2SE part, but now you seemed to have drop that in exchange for the term "handicapped subset". But we have already a J2ME and PersonalJava solutions. J2ME fits the requirement exactly, and PersonalJava gives MORE functionality than J2ME, not less.
Let me re-iterate this point: The OP asked for J2ME, and we gave him/her J2ME. Where is the "shortchanging" here?
Anyway, you seemed to have missed my point about trying to post things that would be HELPFUL to the OP.
Your initial reply to the OP was "with any kind of GUI, 64M RAM is not enough". Fine. The OP may have found that helpful, and may now reconsider increasing the onboard RAM on whatever device (s)he is working with.
Other people (including myself) have provided links with content such as "Here's how other people have tackled the 'Java on embedded Linux' problem. Did you look at what they did and if it can help you?" I sent some of these documents because I thought they would be helpful, particularly because the OP wrote:
<quote> If you have similar experience or related documents about Java on Embedded Linux, please advice me. (if you have documents or information, please send me.) </quote>
Recently your posts seemed to be of the nature "Don't post that kind of stuff. It doesn't answer the question the OP asked."
Now I don't know whether the OP considered the links people have sent in helpful or not, but I would imagine that the OP would be MORE "shortchanged" if we had this documents and links and kept them to ourselves, rather than share them with the OP, even if those documents are not step by step instructions on solving the OP's specific problem.
And anyway, Usenet is an open forum. People can post links to documents related to the subject (e.g. embedded Linux, even if it's non-Java). Maybe in a few weeks someone else will want to develop a Java on Embedded Linux system, do a search for past threads, find this thread, see the links, and find them useful.
Usenet is an open forum. That means you also have the right to continue posting messages of the nature "This isn't real Java" or "this isn't VGA", etc. I'm not saying I'm the boss of this Usenet group and you have to stop or anything like that. I'm just saying that if your intent is to help others on the group, maybe you should take a step back, and think about if your current strategy is the best way of accomplishing that.
- Oliver
linnix - 09 Dec 2005 02:07 GMT > > That's not the point. When a client pre-selected real (not handicapped > > subset) Java and VGA (not 1/4 VGA) screen, I would not shortchange him [quoted text clipped - 10 lines] > J2ME and PersonalJava solutions. J2ME fits the requirement exactly, and > PersonalJava gives MORE functionality than J2ME, not less. As far as I can tell, J2ME is a framework of environment, not an implementation. Yes, PersonalJava would be an implementation. PersonalJava must be developed on State of the Art platforms such as NT4.0 and Solaris 2.6. If I am not mistaken, NT4.0 is in extended life support cycle. Not too many people run Solaris 2.6 on their desktop either. Are these serious development platforms?
What happened to the write once, run everywhere theme? Or is it: write once, rewrite once and run somewhere? Would you please help me justify the development platform to potential clients?
> Let me re-iterate this point: The OP asked for J2ME, and we gave him/her > J2ME. Where is the "shortchanging" here? [quoted text clipped - 41 lines] > > - Oliver Oliver Wong - 09 Dec 2005 16:23 GMT Forwarding this thread to comp.lang.java.advocacy (and away from embedded Linux)
> As far as I can tell, J2ME is a framework of environment, not an > implementation. Yes, PersonalJava would be an implementation. I don't think PersonalJava is an implementation of J2ME. Rather, where you previously had, in descending order, J2EE, J2SE, J2ME; you now have J2EE, J2SE, PersonalJava, J2ME.
> PersonalJava must be developed on State of the Art platforms such as > NT4.0 and Solaris 2.6. If I am not mistaken, NT4.0 is in extended life > support cycle. Not too many people run Solaris 2.6 on their desktop > either. Are these serious development platforms? Not sure where you read that PJ "must" be developed on NT4.0. Are you sure they don't mean "NT4.0 or greater", i.e. including Windows XP?
> What happened to the write once, run everywhere theme? Or is it: write > once, rewrite once and run somewhere? The state of WORE is pretty good for J2SE, but rather poor for J2ME. I don't know what the state is for PersonalJava.
> Would you please help me > justify the development platform to potential clients? I don't even know what kind of products or services your company offers. How can I possible give you advice on what to tell your clients? =P
- Oliver
giangiammy - 08 Dec 2005 14:14 GMT Hi,
a graphical installation (X server - TinyX, also called Kdrive) needs 6M flash and 3RAM. kaffe 1.1.6 need 12M flash, 6M RAM with this anvironment you can run graphical applications written in java with AWT (in a machine with 32Mflash, 32MRAM)
bye giammy -- Gianluca Moro http://groups.yahoo.com/group/embeddeditalia/ ISCRIVITI alla Mailing List Italiana su LINUX EMBEDDED giangiammy@yahoo.com Visit http://ilpinguino.altervista.org/
pkriens@gmail.com - 08 Dec 2005 11:21 GMT Maybe the Slug guys can help you, I think they use the same processor and are open for other hardware I think:
http://www.nslu2-linux.org/
They have a page how to install Java on it. They are using Jamvm which is very small at the expense of some performance.
Hope this helps, kind regards,
Peter Kriens
Free MagazinesGet these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...
|
|
|