I've read about Minix port for ARM platform by the link. But where can
I get status of this task?
Thanks,
Alexander
Formerly I patched minix3_1_3a_ide_r2964.iso.bz2 for ARM, MIPS and GXemul.
http://groups.google.com/group/minix3/browse_thread/thread/fd9766a0fc1e8bc1
Then I used ether of GXemul(testarm,testmips) with urlget.
http://yana.jp/
2011/10/19 Erik van der Kouwe <eri...@gmail.com>:
> It hasn't started yet, we're still finding someone to do it (hence the
> vacancy).
I am interested in "helping enhance MINIX 3 for (ARM-based) embedded
systems" with some files for ARM, MIPS and GXemul at "yana.jp".
About "helping enhance MINIX 3 for (ARM-based) embedded systems", is
it necessary to join the MINIX 3 team?
Thanks,
Yana
2011/10/20 Erik van der Kouwe <eri...@gmail.com>:
> I recall having seen the post but I cannot read Japanese and don't
> know what Yanakernel is, or how it is related to MINIX 3. What did you
> do?
Thank you for being interested in "yana.jp" and YanaKernel0.
@ "What did you do?"
* first step (:Yana:YanaKernel: YanaKernel0 Prototype)
I implemented YanaKernel0 by software and executed it on
GXemul(testarm,testmips).
I want to implement YanaKernel0 by hardware, but not yet.
* second step (:Yana:YanaKernel: YanaKernel0 Prototype + MINIX)
I added MINIX to first step and executed it on GXemul(testarm,testmips).
I used MINIX with YanaKernel0 on the following computer system.
+ processor (GXemul(testarm,testmips))
+ YanaKernel0
+ MINIX kernel which depended on YanaKernel0
+ MINIX tasks and MINIX processes
* third step (:Yana:Computer: MINIX)
I subtracted YanaKernel0 from second step and executed it on
GXemul(testarm,testmips).
I used MINIX without YanaKernel0 on the following computer system.
+ processor (GXemul(testarm,testmips))
+ MINIX kernel
+ MINIX tasks and MINIX processes
@ "how it is related to MINIX 3"
About second step, YanaKernel0 handles exceptions and interrupts
directly, MINIX kernel is executed as a task of YanaKernel0.
About third step, MINIX kernel handles exceptions and interrupts
directly, YanaKernel0 is not executed.
@ "what Yanakernel is"
I introduce YanaKernel0 Prototype with reference to MINIX 3.1.3a.
Keywords of YanaKernel0 are simple, resource limited, and hardware
implementable.
* resource
About YanaKernel0, inside of kernel uses only the following resources.
+ processor
+ memory
+ interrupt controller (in the case of ARM)
Using disassembler, I checked stack size of kernel.
> | ARM | 48 bytes | CC="arm-elf-gcc -O2" make |
> | MIPS | 8 bytes | CC="mips-elf-gcc -O2" make |
YanaKernel0 may support real-time system, but I do not check
worst-case execution time of kernel.
MINIX kernel and tasks use the following resources, YanaKernel0 does not use it.
+ MMU
+ clock
+ serial (for debug)
* memory
About YanaKernel0, inside of kernel accesses only memories of kernel.
MINIX kernel and tasks access stack of task (or process) for
exception, interrupt, and signal, YanaKernel0 does not access it.
MINIX kernel and tasks access message buffer which uses memories of
task (or process), YanaKernel0 does not access it.
About sample echo2 of YanaKernel0, server(task1) communicates with
client(task2) by message buffer which uses registers of task.
I want to use task which was implemented by hardware.
> Assuming that the code is BSD-licensed, consistent with all design and
> style principles and still applies to MINIX 3.2.0 (a lot has changed
> since 3.1.3, in particular virtual memory has been added) it could be
> usable.
Some files at "yana.jp" need work about license and version.
Is the following license required?
http://www.minix3.org/license.html
Is copyright assignment not required?
http://www.gnu.org/licenses/why-assign.html
> AFAIK yes. This project will require substantial changes to MINIX so
> intensive cooperation will be needed.
About porting MINIX 3, formerly people who do not belong to the MINIX
3 team seemed to be accepted.
http://groups.google.com/group/comp.os.minix/browse_thread/thread/9d0076797e1f0eed
http://web.archive.org/web/20090303101856/http://www.minix3.org/who_doing_what.html
> This is only practical if the
> person works in Amsterdam.
About joining the MINIX 3 team, is it necessary to live in Amsterdam?
Thanks,
Yana
To apply for the VU position, you must be willing to move to
Amsterdam. However, you can contribute to MINIX from anywhere. We have
contributors from all over.
Best,
Arun
2011/10/24 Arun Thomas <arun....@gmail.com>:
> To apply for the VU position, you must be willing to move to
> Amsterdam. However, you can contribute to MINIX from anywhere. We have
> contributors from all over.
About PowerPC, MINIX 3 WWW site indicate that "Ingmar Alting has
ported MINIX 3 to the PowerPC Platform" and "We are integrating it
into the main system".
http://www.minix3.org/news/
However this integration does not seem to be finished.
http://groups.google.com/group/comp.os.minix/browse_thread/thread/9d0076797e1f0eed
http://groups.google.com/group/minix3/browse_thread/thread/eb999fb5848572b2
http://groups.google.com/group/minix3/browse_thread/thread/6b4b3d53c32fca9
About ARM and MIPS, I patched minix-ppc-port-release-1.tgz and
minix3_1_3a_ide_r2964.iso.bz2 for ARM, MIPS and GXemul.
What kind of case exists for integrating it into the main system?
@ example
* case A (simple)
I do not join the MINIX 3 team.
I change license of some files for ARM, MIPS and GXemul at "yana.jp".
The MINIX 3 team integrate it into the main system.
* case Z (complex)
I join the MINIX 3 team and live in Amsterdam.
I change license of some files for ARM, MIPS and GXemul at "yana.jp".
The MINIX 3 team integrate it into the main system.
Thanks,
Yana
2011/10/26 Erik van der Kouwe <eri...@gmail.com>:
> I'm afraid this is a bit of an oversimplification.
Then let's change it.
What kind of case exists for integrating ARM (and MIPS) port into the
main system?
@ example
* case 0 (without "yana.jp")
Someone joins the MINIX 3 team, lives in Amsterdam and gets a salary.
The MINIX 3 team port MINIX 3.2.0 to ARM (and MIPS).
The MINIX 3 team integrate it into the main system.
* case A (with "yana.jp", simple)
I do not join the MINIX 3 team.
Someone joins the MINIX 3 team, lives in Amsterdam and gets a salary.
I change license of some files for ARM, MIPS and GXemul at "yana.jp".
The MINIX 3 team change it for consistency with MINIX 3.2.0.
The MINIX 3 team integrate it into the main system.
* case Z (with "yana.jp", complex)
I join the MINIX 3 team, live in Amsterdam and get a salary.
I change license of some files for ARM, MIPS and GXemul at "yana.jp".
The MINIX 3 team change it for consistency with MINIX 3.2.0.
The MINIX 3 team integrate it into the main system.
> You've ported 3.1.3
> while the current version is 3.2.0.
About some files at "yana.jp", there are many problems like "ToDo".
> MINIX has changed a lot since
> then. For example, 3.1.3 had no virtual memory and it had a completely
> different libc (although the current one from NetBSD at contains ports
> to many architectures).
About MINIX 3.2.0, virual memory seems to mean demand paging.
In the case of ARM, some files at "yana.jp" already used paged MMU,
but process do not continue execution by exception relating to MMU.
In the case of MIPS, some files at "yana.jp" already used paged MMU,
and process may continue execution by exception relating to MMU.
A completely different libc seems to require work about assembly
language and Application Binary Interface (ABI) like calling
convention.
About assembly language, there are some files outside "arch" like
"src/lib/libc/syscall".
About ABI, there are some files outside "src/lib" like server relating
to EXEC and task relating to signal.
> Hence, there will be substantial work involved
> in porting the new version even though you've already made a port of
> another version.
I do not think that it is easy.
Thanks,
Yana