[M3devel] Linux/ARM? Android?

Jay K jay.krell at cornell.edu
Sun Jun 20 02:33:17 CEST 2010


None?
None yet?
You are supposed to be able run user mode stuff without installing any kernel or anything.
If I emulate an entire system, can the display be remoted over X?
I never go to the Linux "console", just ssh or X over ssh.

 - Jay

----------------------------------------
> From: darko at darko.org
> Date: Sat, 19 Jun 2010 17:30:12 -0700
> To: jay.krell at cornell.edu
> CC: m3devel at elegosoft.com
> Subject: Re: [M3devel] Linux/ARM? Android?
>
> I mean as your ARM platform. Which ARM distribution are you running on QEmu?
>
>
> On 19/06/2010, at 5:26 PM, Jay K wrote:
>
>
> I didn't know what "lxde" is, but Debian 5.0 x86 "Lenny". Minimal install plus apt-get install whatever.
>
> - Jay
>
> ----------------------------------------
>> From: darko at darko.org
>> Date: Sat, 19 Jun 2010 17:06:11 -0700
>> To: jay.krell at cornell.edu
>> CC: m3devel at elegosoft.com
>> Subject: Re: [M3devel] Linux/ARM? Android?
>>
>> A fully crossed system would be the goal since mostly the target devices are ARM are phones, tablets and embedded devices. What distribution are you running on QEmu? Is it the Lenny-lxde one?
>>
>> Linux/ARM is definitely fractured because of the variety of ARM cores, SoC chips and devices on which it's used. I'm not sure what the best way to approach it is.
>>
>>
>> On 19/06/2010, at 4:42 PM, Jay K wrote:
>>
>>
>> I should point out, actually, with cross gcc/as, you should be able to easily enough build the whole system cross.
>> ie: your apps instead of cm3.
>> I can try that -- building the whole tree cross, including compiling C and linking.
>>
>>
>> Notice m3-sys/cminstall/src/config-no-install/ARMEL_LINUX:
>>
>>
>> SYSTEM_CC = "arm-linux-gnueabi-gcc -gstabs+ -fPIC" % C compiler
>> SYSTEM_ASM = "arm-linux-gnueabi-as" % Assembler
>>
>>
>> I get to:
>> jay at xlin2:~/cm3-boot-ARMEL_LINUX-d5.8.2-20100619$ file cm3
>> cm3: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.14, not stripped
>> jay at xlin2:~/cm3-boot-ARMEL_LINUX-d5.8.2-20100619$ qemu-arm ./cm3
>> /lib/ld-linux.so.3: No such file or directory
>>
>>
>> My QEmu setup isn't complete..
>>
>>
>> I got the crosstools from hereabouts:
>> http://www.emdebian.org/tools/crosstools.html
>>
>>
>> crosstool, scratchbox, buildroot may also be good options.
>>
>>
>> This reminds me though, I have a Western Digital MyBook World Edition.
>> Haven't powered it on in a while, slightly flaky device.
>> But it runs Linux/arm (oldabi).
>> I could/should power it on or get a new one something.
>>
>>
>> Also note/reminder, Android seems a bit different, at least in terms of finding C headers and libraries, maybe not for generating assembly, than "regular" Linux/arm.
>> Really "Linux/arm" seems a pretty fractured thing.
>> Newer architectures have floating point, for one thing.
>>
>>
>> - Jay
>>
>> ----------------------------------------
>>> From: darko at darko.org
>>> Date: Sat, 19 Jun 2010 15:47:24 -0700
>>> To: jay.krell at cornell.edu
>>> CC: m3devel at elegosoft.com
>>> Subject: Re: [M3devel] Linux/ARM? Android?
>>>
>>> Fantasic, thanks. There are some ARM cross tools available under DarwinPorts which I'm going to give this a try with.
>>>
>>>
>>> On 19/06/2010, at 2:51 AM, Jay K wrote:
>>>
>>>
>>> Eh I guess I should try that then. Ok. Thanks. Gotta take a break for a while.
>>> cd wherever
>>> cvs -z3 upd -dAP
>>> cd scripts/python
>>> ./boot1.py ARMEL_LINUX
>>> => cm3-boot-ARMEL_LINUX...tgz
>>> extract that on a machine with cross tools (e.g. arm-linux-gnueabi-gcc, arm-linux-gnueabi-as), possibly the same machine as already on
>>> cd into it
>>> make
>>> => arm cm3
>>>
>>>
>>> I got that far.
>>> I can't claim it is right for Android.
>>>
>>>
>>> Then put that cm3 onto a real (or emulated) ARM system and...
>>> (cvs checkout, put the cm3 in /cm3/bin or such, add that to $PATH, and scripts/python/boot2.sh)
>>>
>>>
>>> Moving forward to gcc 4.5 will get us atomics for ARM, sort of, at least on Linux, see:
>>> http://gcc.gnu.org/wiki/Atomic
>>>
>>>
>>> - Jay
>>>
>>> ----------------------------------------
>>>> From: darko at darko.org
>>>> Date: Sat, 19 Jun 2010 02:15:17 -0700
>>>> To: jay.krell at cornell.edu
>>>> CC: m3devel at elegosoft.com
>>>> Subject: Re: [M3devel] Linux/ARM? Android?
>>>>
>>>> I should also mention that the Android SDK has a QEMU based emulator for testing applications and the adb (Android Bridge) tool can provide shell access.
>>>>
>>>>
>>>> On 19/06/2010, at 12:13 AM, Darko wrote:
>>>>
>>>> I got the first Debian image on http://www.oszoo.org/wiki/index.php/Category:ARM_images to run with a GUI, and it connect to the network. I'm using Q on my 2.4Ghz MacBook 13" and it's surprisingly fast. Note that it's a 10GB image (450MB download).
>>>>
>>>> There are also images for Debian MIPS on that site too.
>>>>
>>>> I agree that the new MacBook trackpad is not perfect and since moving from my previous machine that had a separate button I now get a lot of stray gestures doing odd things. The general solution is not to use the button at all and use taps. The new momentum scrolling with the gesture is neat but needs more "weight". Unfortunately Apple crosses over into form-over-function territory from time to time and this is one of those times.
>>>>
>>>>
>>>> On 18/06/2010, at 11:18 PM, Jay K wrote:
>>>>
>>>>
>>>> XP when I can; nothing else comes close for searching and editing text, I've tried many.
>>>> Visual C++ 5.0.
>>>> I recently learned how to copy/paste in vi, which helps, but I'm not sure I remember now.
>>>>
>>>>
>>>> Darwin/amd64 when I need/want posix/fastfork, which unfortunately is often.
>>>> Cygwin is slow.
>>>> TextWrangler usually there, though it is awful compared to Visual C++ 5.0.
>>>> KomodoEdit is cross platform but also fairly impaired.
>>>> ssh access to a variety
>>>> Linux=Debian, it has among the best support for a variety of platforms.
>>>> Gentoo comes close or better (ppc64) but I've never been able to get it to install -- booting always fails.
>>>> Debian/x86 easy to get cross compiler, qemu, etc.
>>>>
>>>>
>>>> X Windows apps are never very good imho, so just give up and make do with the even worse command line..
>>>> I find things as basic as scrollbars do not work well -- which button do I press when?
>>>> The Modula-3 GUI apps suffer from this problem as well.
>>>> Further damage due to needing three buttons but not having them.
>>>>
>>>>
>>>> Mouse button clicking is actually broken on modern Macs too -- they removed the mouse button from all the laptops, leaving
>>>> just a big pad, prone to accidental clicks at any location.. also prone to accidental multitouch gestures due to resting
>>>> a twitchy thumb where the button is supposed to be. Amazing, really, the mouse, one of their key initial advantages,
>>>> is now broken. (see also Finder and file open dialogs, two other former strengths that are now not so great.)
>>>> Multitouch scroll is nice though.
>>>>
>>>>
>>>> - Jay
>>>>
>>>> ----------------------------------------
>>>>> From: darko at darko.org
>>>>> Date: Fri, 18 Jun 2010 22:55:24 -0700
>>>>> To: jay.krell at cornell.edu
>>>>> CC: m3devel at elegosoft.com
>>>>> Subject: Re: [M3devel] Linux/ARM? Android?
>>>>>
>>>>> Yeah I've got it working on the console but I agree it needs the network.
>>>>>
>>>>> Try: http://www.oszoo.org/wiki/index.php/Category:ARM_images
>>>>> Also: http://www.armedslack.org/
>>>>>
>>>>> What platform are you running on these days?
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On 18/06/2010, at 10:44 PM, Jay K wrote:
>>>>>
>>>>>
>>>>> Interesting, thanks.
>>>>> But it looks like it needs to use local console for output?
>>>>> I need something over the network/X.
>>>>> It looks like there's an qemu option for usemode only too.
>>>>>
>>>>> - Jay
>>>>>
>>>>> ----------------------------------------
>>>>>> From: darko at darko.org
>>>>>> Date: Fri, 18 Jun 2010 22:13:43 -0700
>>>>>> To: jay.krell at cornell.edu
>>>>>> CC: m3devel at elegosoft.com
>>>>>> Subject: Re: [M3devel] Linux/ARM? Android?
>>>>>>
>>>>>> If you use qemu, this might be useful: http://free-electrons.com/community/demos/qemu-arm-directfb/
>>>>>>
>>>>>> I'm currently looking at some cheap laptops (around $100) which have ethernet plus screen, keyboard, battery, etc which would work well as hosts. Just trying to find one that runs both Linux and Android.
>>>>>>
>>>>>>
>>>>>> On 18/06/2010, at 10:04 PM, Jay K wrote:
>>>>>>
>>>>>>
>>>>>> Thanks. I'll give qemu a go as well.
>>>>>> Hey, maybe we can get mips also. (there's decent modern mips/linux hardware now, Chinese laptops)
>>>>>>
>>>>>> - Jay
>>>>>>
>>>>>> ----------------------------------------
>>>>>>> From: darko at darko.org
>>>>>>> Date: Thu, 17 Jun 2010 21:41:59 -0700
>>>>>>> To: jay.krell at cornell.edu
>>>>>>> CC: m3devel at elegosoft.com
>>>>>>> Subject: Re: [M3devel] Linux/ARM? Android?
>>>>>>>
>>>>>>> Ok, the link here is about 20/4Mbs so it shouldn't be too bad and the latency is good. I'm in Mountain View, CA. Unfortunately the board has only 128MB of main memory but I assume that's enough, I think a self hosted compiler has no point.
>>>>>>>
>>>>>>> I'll post the details when it's up and running.
>>>>>>>
>>>>>>>
>>>>>>> On 17/06/2010, at 9:15 PM, Jay K wrote:
>>>>>>>
>>>>>>>
>>>>>>> My preference would be if you can set it up on the internet and allow me ssh access.
>>>>>>> gcc only recently got support for Android's C library "bionic", I believe post-gcc 4.5.
>>>>>>> I'm not sure if that matters much or not.
>>>>>>> I'm not sure how much the C library of the target matters to gcc.
>>>>>>>
>>>>>>>
>>>>>>> Anything with pthreads and gcc support is quite easy to port to these days. In the past the biggest thing you had to do was rewrite /usr/include in Modula-3. There was a tendency to rewrite far more of it than necessary. These days, none of it is needed.
>>>>>>>
>>>>>>>
>>>>>>> Now you just have to
>>>>>>> - pick a target name
>>>>>>> - find the jmpbuf size, word size, endian
>>>>>>> - write a much small "config" file
>>>>>>> - respond to each error that occurs -- fill in the platform in a few tables sprinkled around the tree
>>>>>>>
>>>>>>>
>>>>>>> Even systems without pthreads or with not very good pthreads (OpenBSD) are easy now, as the user thread support is much more portable. It used to be, for user threads, you had to poke around in the jmpbuf.
>>>>>>>
>>>>>>>
>>>>>>> I would encourage anyone else to try it out.
>>>>>>>
>>>>>>>
>>>>>>> Maybe soon there will be a C generating backend, and we'll just have one distribution format that is a bunch of C, and then gcc support won't even be needed (e.g. IA64_NT).
>>>>>>>
>>>>>>>
>>>>>>> Thanks,
>>>>>>> - Jay
>>>>>>>
>>>>>>> ----------------------------------------
>>>>>>>> From: darko at darko.org
>>>>>>>> Date: Thu, 17 Jun 2010 18:08:14 -0700
>>>>>>>> To: jay.krell at cornell.edu
>>>>>>>> CC: m3devel at elegosoft.com
>>>>>>>> Subject: Re: [M3devel] Linux/ARM? Android?
>>>>>>>>
>>>>>>>> I've been interested in an ARM port for some time. If you (or anyone else) are interested in doing the port I can send you one of these, which looks like a good platform since it runs Linux and Android, has 512K memory and looks well supported: http://beagleboard.org/hardware
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On 20/05/2010, at 4:47 AM, Jay K wrote:
>>>>>>>>
>>>>>>>>
>>>>>>>> Status is roughly nowhere.
>>>>>>>> Chances are not bad though.
>>>>>>>> There is very little work to do when the system supports posix and gcc supports the system, and that describes a lot of systems.
>>>>>>>> Try this: cd scripts/python && ./boot1.py ARM_LINUX
>>>>>>>>
>>>>>>>>
>>>>>>>> Give me ssh access to a device?
>>>>>>>> Or maybe there is emulator?
>>>>>>>>
>>>>>>>>
>>>>>>>> I've had a PogoPlug (Linux/ARM) for over a year, haven't touched it.
>>>>>>>> And some I think Linux/ARM LaCie network drive also.
>>>>>>>>
>>>>>>>>
>>>>>>>> - Jay
>>>>>>>>
>>>>>>>> ----------------------------------------
>>>>>>>>> From: dragisha at m3w.org
>>>>>>>>> To: m3devel at elegosoft.com
>>>>>>>>> Date: Thu, 20 May 2010 12:08:53 +0200
>>>>>>>>> Subject: [M3devel] Linux/ARM? Android?
>>>>>>>>>
>>>>>>>>> As per subject... What is status of Linux/ARM port of Modula-3 and
>>>>>>>>> chances for Android port?
>>>>>>>>> --
>>>>>>>>> Dragiša Durić
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>
>
 		 	   		  


More information about the M3devel mailing list