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
Last revision Both sides next revision
faq [2016/12/14 08:38]
stefanschroeder [Where can I get the MINIX 3 source code?]
faq [2016/12/14 10:29]
stefanschroeder Beautify
Line 13: Line 13:
 ==== 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]]. A 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]]. A mirror is available on [[https://​github.com/​Stichting-MINIX-Research-Foundation/​minix|Github (officially)]] and once more on  ​[[https://​github.com/​minix3/​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.
Line 48: Line 48:
  
  
-==== 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 =====
Line 58: Line 58:
  
 ==== 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 72:
 ===== 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 crosscompile it? ====
Line 83: Line 83:
 ==== 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 crossbuilds GCC is the default.
Line 98: Line 98:
 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 106:
  
 ==== 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 112:
 ==== 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 179:
 === 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 190:
 === 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.txt · Last modified: 2017/05/22 07:41 by jeanbaptisteboric