User Tools

Site Tools


faq

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
faq [2016/12/14 14:38]
stefanschroeder [Where can I get the MINIX 3 source code?]
faq [2020/07/07 23:11] (current)
lionelsambuc [What is the MINIX 3 license?]
Line 3: Line 3:
 ===== General Questions ===== ===== General Questions =====
 ==== What is MINIX 3? ==== ==== What is MINIX 3? ====
-MINIX 3 is a small free UNIX clone designed for very high reliability. It is especially well-suited for low-end PCs, resource-constrained ​ systems, and embedded applications. It is available with all the source code, which makes it well-suited to classroom or self study by people wanting to learn how an operating system works.+MINIX 3 is a small and free UNIX clone designed for very high reliability. It is especially well-suited for low-end PCs, resource-constrained systems, and embedded applications. It is available with all the source code, which makes it well-suited to classroom or self-study by people wanting to learn how an operating system works.
  
 ==== What hardware do I need to run MINIX 3? ==== ==== What hardware do I need to run MINIX 3? ====
Line 9: Line 9:
  
 ==== Where can I get MINIX 3? ==== ==== Where can I get MINIX 3? ====
-MINIX 3 can be downloaded from the MINIX 3 [[http://​www.minix3.org/​download/​|download page]]. MINIX 3.1.0 is also distributed on a CD-ROM included with the text [[http://​vig.prenhall.com/​catalog/​academic/​product/​0,​1144,​0131429388,​00.html|Operating Systems Design and Implementation,​ 3/e]] by Andrew S. Tanenbaum and Albert S. Woodhull.+MINIX 3 can be downloaded from the MINIX 3 [[http://​www.minix3.org/​download/​|download page]]. MINIX 3.1.0 is also distributed on a CD-ROM included with the book [[http://​vig.prenhall.com/​catalog/​academic/​product/​0,​1144,​0131429388,​00.html|Operating Systems Design and Implementation,​ 3/e]] by Andrew S. Tanenbaum and Albert S. Woodhull.
  
 ==== Where can I get the MINIX 3 source code? ==== ==== Where can I get the MINIX 3 source code? ====
  
-You can find the MINIX 3 source code in the /usr/src directory of your MINIX installation. You can also grab the code from our authoritative [[http://​git.minix3.org?​p=minix.git|git repository]]. ​mirror is available on [[https://​github.com/​minix3/minix|Github]]+You can find the MINIX 3 source code in the /usr/src directory of your MINIX installation. You can also grab the code from our authoritative [[http://​git.minix3.org?​p=minix.git|git repository]]. ​An official ​mirror is available on [[https://​github.com/​Stichting-MINIX-Research-Foundation/minix|GitHub]].
  
 ==== Where can I get help with MINIX 3? ==== ==== Where can I get help with MINIX 3? ====
 Post your question to our [[http://​groups.google.com/​group/​minix3|Google group]], and we'll be glad to help. Post your question to our [[http://​groups.google.com/​group/​minix3|Google group]], and we'll be glad to help.
 +If you are looking for extensive support, some of the core developers are [[http://​wiki.minix3.org/​doku.php?​id=www:​community:​consultants|available for hire]].
 ==== I am a beginner. Where can I learn about MINIX 3 programming?​ ==== ==== I am a beginner. Where can I learn about MINIX 3 programming?​ ====
 See the [[:​DevelopersGuide:​]] as a start. See the [[:​DevelopersGuide:​]] as a start.
  
-You can also buy the MINIX3 book, which covers quite an old Minix version, 3.1.0. Architecturally speaking, several things have changed since then -+You can also buy the MINIX3 book, which covers quite an old MINIX version, 3.1.0. Architecturally speaking, several things have changed since then -
 but it's much easier to understand those changes once you know the basics, and the book covers all that. but it's much easier to understand those changes once you know the basics, and the book covers all that.
  
Line 39: Line 39:
 ==== Can I become a MINIX 3 developer? ==== ==== Can I become a MINIX 3 developer? ====
 If you have the requisite time, interest, and knowledge, you are welcome to join the MINIX 3 community. See the [[:​DevelopersGuide:​]] for some starting points. If you have the requisite time, interest, and knowledge, you are welcome to join the MINIX 3 community. See the [[:​DevelopersGuide:​]] for some starting points.
- 
  
 ==== How do I submit a patch? ==== ==== How do I submit a patch? ====
Line 48: Line 47:
  
  
-==== Can you help me with my Minix homework / lab assignment / need to implement lottery scheduling / how do add a system call? ==== +==== Can you help me with my MINIX homework / lab assignment / need to implement lottery scheduling / how do add a system call? ==== 
-Probably not. You're supposed to do it yourself, that's why it's homework / an assignment. Think about talking to your supervisor or classmates first. If you suspect a Minix bug, verify it's present in the latest version and post details on how to reproduce it.+Probably not. You're supposed to do it yourself, that's why it's homework / an assignment. Think about talking to your supervisor or classmates first. If you suspect a MINIX bug, verify it's present in the latest version and post details on how to reproduce it.
  
-If you must ask questions, make them very specific. As in "how does the widget changing in the dinkling system work?",​ not "<​long source code paste>, what's wrong with my dinkling system?"​ Or, worse, simply post your assignment, add 'help plz,' and not tell us it's an assignment.+If you must ask questions, make them very specific. Read [[http://​www.catb.org/​~esr/​faqs/​smart-questions.html|How To Ask Questions The Smart Way]]. As in "how does the widget changing in the dinkling system work?",​ not "<​long source code paste>, what's wrong with my dinkling system?"​ Or, worse, simply post your assignment, add 'help plz,' and not tell us it's an assignment.
  
 ===== Legal Questions ===== ===== Legal Questions =====
 ==== What is the MINIX 3 license? ==== ==== What is the MINIX 3 license? ====
-The MINIX 3 [[http://www.minix3.org/​license.html|license]] is a clone of the Berkeley (BSD) license. In plain English, it says you can do whatever you like with the system provided that (1) you agree not to sue us under any conditions, and (2) you keep the credit lines in the source, documentation,​ and publicity unless other arrangements have been made. Specifically,​ you are free to modify the source code, redistribute it, incorporate it into commercial products with only the above restrictions.+The MINIX 3 [[https://git.minix3.org/​index.cgi?​p=minix.git;​a=blob_plain;​f=LICENSE;​hb=HEAD|license]] is a clone of the Berkeley (BSD) license. In plain English, it says you can do whatever you like with the system provided that (1) you agree not to sue us under any conditions, and (2) you keep the credit lines in the source, documentation,​ and publicity unless other arrangements have been made. Specifically,​ you are free to modify the source code, redistribute it, incorporate it into commercial products with only the above restrictions.
  
 ==== Why didn't you use the GPL? ==== ==== Why didn't you use the GPL? ====
-We feel the GPL is too restrictive. Companies that put a lot of money into further developing open-source software ​rightly ​do not want to give it their competitors. Since MINIX 3 has clear applications in embedded systems, we felt the BSD license was more appropriate.+We feel the GPL is too restrictive. Companies that put a lot of money into further developing open-source software do not want to give it their competitors. Since MINIX 3 has clear applications in embedded systems, we felt the BSD license was more appropriate.
  
 ==== What is the relationship between MINIX and Linux? ==== ==== What is the relationship between MINIX and Linux? ====
Line 72: Line 71:
 ===== Technical Questions ===== ===== Technical Questions =====
 ==== How do I boot the USB image? ==== ==== How do I boot the USB image? ====
-First, USB images are a legacy offer which was hacked ​specifically for MINIX 3.1.x. ​It does not work with the more recent 3.2.x releases, and is futile with 3.3.0 which does support native USB peripherals.+First, USB images are a legacy offer which was provided ​specifically for MINIX 3.1.x. ​They do not work with the more recent 3.2.x releases, and are futile with 3.3.0 which does support native USB peripherals.
  
-Write the usb image file to the usb device sector-by-sector. In other words, don't write it to a FAT filesystem on the usb device, but write the file to it starting at the 0th sector. This will, of course, effectively wipe all other information that was on the usb device.+Write the USB image file to the USB device sector-by-sector ​(e.g. with //dd//). In other words, don't write it to a FAT filesystem on the USB device, but write the file to it starting at the first sector ​(Sector 0). This will, of course, effectively wipe all other information that was stored ​on the USB device.
  
-Then you can boot from the usb device if your BIOS supports that.+Then you can boot from the USB deviceif your BIOS supports that.
  
-==== Can I crosscompile ​it? ====+==== Can I cross-compile ​it? ====
 Of course! See [[DevelopersGuide:​Crosscompiling]]. Of course! See [[DevelopersGuide:​Crosscompiling]].
  
 ==== Why don't you use GCC? ==== ==== Why don't you use GCC? ====
  
-By default clang is used as the compiler on native ​Minix installs because of its BSD license. GCC is available (install it with pkgin) and you can build the base system with it by setting CC=gcc. ​+By default clang is used as the compiler on native ​MINIX installs because of its BSD license. GCC is available (install it with pkgin) and you can build the base system with it by setting CC=gcc. ​
  
-For crossbuilds ​GCC is the default.+For cross-builds ​GCC is the default.
  
 ==== How do I change the network configuration after an install? ==== ==== How do I change the network configuration after an install? ====
Line 98: Line 97:
 eth0 fxp 0 { default; }; eth0 fxp 0 { default; };
 </​code>​ </​code>​
-where //fxp// is the name of the ethernet driver you want to start (it is the name of the process inet looks for, to talk to, for ethernet). Take a look at "/​usr/​etc/​rc"​ how ethernet drivers are started. Currently, the choices are:+where //fxp// is the name of the ethernet driver you want to start (it is the name of the process inet looks for, to talk to, for ethernet). Take a look at "/​usr/​etc/​rc" ​to learn how ethernet drivers are started. Currently, the choices are:
  
 <​code>​ <​code>​
Line 106: Line 105:
  
 ==== No network driver is detected under VMware ==== ==== No network driver is detected under VMware ====
-New VMware versions (starting workstation 8 it seems) try to give Minix installs an e1000 driver instead of lance. Edit your .vmx file and change this line:+New VMware versions (starting workstation 8 it seems) try to give MINIX installs an e1000 driver instead of lance. Edit your .vmx file and change this line:
  
 ''​ethernet0.virtualDev = "​e1000"''​ ''​ethernet0.virtualDev = "​e1000"''​
Line 112: Line 111:
 ==== I can not get the Network to work using VMware, what should I do? ==== ==== I can not get the Network to work using VMware, what should I do? ====
  
-So how do they differ, the old version has NO network Driver specified in it's "​.vmx"​ file so Minix must try everything and chooses Lance. It would be better if [8] worked but I found that a Bug causes panics with the IRQs to be printed to the Console ​every few seconds.+So how do they differ, the old version has NO network Driver specified in it's "​.vmx"​ file so MINIX must try everything and chooses ​the Lance driver. It would be better if [8] worked but I found that a bug causes panics with the IRQs to be printed to the console ​every few seconds.
  
 To get things working with VMware do this: To get things working with VMware do this:
  
-1. Download the latest ​iso image from the download page, and use 7Zip (or other) to produce ​the "​.iso"​.+1. Download the latest ​ISO image from the download page, and use 7Zip (or other) to extract ​the "​.iso"​.
  
-2. Fire up VMware and create a new Machine ​("​other"​ and "other 64 bit" DO work on 32-Bit WinXP).+2. Fire up VMware and create a new machine ​("​other"​ and "other 64 bit" DO work on 32-Bit WinXP).
  
-3. Create one 16GB Disk and populate it so it won't have to grow (and wreck havoc with defragmentors).+3. Create one 16GB disk and populate it so it won't have to grow (and wreck havoc with defragmentation).
  
-4. You can specify 1024 MB of memory (older versions of Minix only use 880+kb).+4. You can specify 1024 MB of memory (older versions of MINIX only use +880KB).
  
-5. You can choose more than one Processor (handy if you rebuild using gcc and "CONFIG_SMP=y CONFIG_MAX_CPUS=8" ​).+5. You can choose more than one processor; ​handy if you rebuild using gcc and  
 + 
 +<​code>​ 
 +CONFIG_SMP=y ​ 
 +CONFIG_MAX_CPUS=8"​ 
 +</​code>​
  
-6. Might as well add USB, a floppy, and Parallel ​Serial Ports.+6. You might as well add USB, a floppy, and parallel ​serial ports.
  
 7. Choose "​NAT"​. 7. Choose "​NAT"​.
  
-8. Boot your "​Virtual Machine"​ to the "​.iso"​ (or the BIOS if you want to change things), install ​Minix by typing "setup /​usr"​. ​+8. Boot your "​Virtual Machine"​ to the "​.iso"​ (or the BIOS if you want to make changes), install ​MINIX by typing "setup /​usr"​. ​
  
 9. Use "​non-expert Partitioning"​ (default) and set "/​home"​ to 512K, that makes the last Partition within Minix'​s limits. 9. Use "​non-expert Partitioning"​ (default) and set "/​home"​ to 512K, that makes the last Partition within Minix'​s limits.
Line 174: Line 178:
 === ARM === === ARM ===
  
-Yes. Porting to ARM is a top priority for the Minix team.+Yes. Porting to ARM is a top priority for the MINIX team.
  
-The code is published in the current ​Minix git master branch and the basics are working.+The code is published in the current ​MINIX git master branch and the basics are working.
 For information on how to get started, see the [[:​developersguide:​minixonarm|Minix on ARM]] wiki page. For information on how to get started, see the [[:​developersguide:​minixonarm|Minix on ARM]] wiki page.
  
Line 185: Line 189:
 === Other === === Other ===
  
-There are no plans at this time for other ports. We are focused on the Minix/arm port and providing excellent support for the hardware on the BeagleBoard-xM and BeagleBones. You can follow our progress at the [[:​developersguide:​minixonarm#​feature_matrix|Minix/​arm Feature Matrix]].+There are no plans at this time for other ports. We are focused on the MINIX/ARM port and providing excellent support for the hardware on the BeagleBoard-xM and BeagleBones. You can follow our progress at the [[:​developersguide:​minixonarm#​feature_matrix|Minix/​arm Feature Matrix]].
 ==== I want to port Minix to the ARM/​MIPS/​SPARC/​x86-64 ==== ==== I want to port Minix to the ARM/​MIPS/​SPARC/​x86-64 ====
  
faq.1481722684.txt.gz · Last modified: 2016/12/14 14:38 by stefanschroeder