User Tools

Site Tools


developersguide:minixonarm

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
developersguide:minixonarm [2015/06/19 17:48]
dcvmoole [Building Minix/ARM] point to other page for solutions
developersguide:minixonarm [2021/07/10 15:29] (current)
stux [Want to contribute?]
Line 5: Line 5:
  
 The Minix ARM port targets the The Minix ARM port targets the
-[[http://​beagleboard.org/​hardware-xm|BeagleBoard-xM]] and it'​s ​QEMU based emulator, ​+[[http://​beagleboard.org/​hardware-xm|BeagleBoard-xM]] and its QEMU based emulator, ​
 the [[http://​beagleboard.org/​Products/​BeagleBone|BeagleBone]] ​ the [[http://​beagleboard.org/​Products/​BeagleBone|BeagleBone]] ​
 and the [[http://​beagleboard.org/​Products/​BeagleBone%20Black|BeagleBone Black]] products from the BeagleBoard community. These are all based on system on chip designs from TI and all contain a Cortex-A8 ARM core. and the [[http://​beagleboard.org/​Products/​BeagleBone%20Black|BeagleBone Black]] products from the BeagleBoard community. These are all based on system on chip designs from TI and all contain a Cortex-A8 ARM core.
Line 19: Line 19:
 | tty (Terminal)| @#​aaffaa:​yes | @#​aaffaa:​yes | @#​aaffaa:​yes | | tty (Terminal)| @#​aaffaa:​yes | @#​aaffaa:​yes | @#​aaffaa:​yes |
 | mmc (Multimedia Card)| @#​aaffaa:​yes | @#​aaffaa:​yes | @#​aaffaa:​yes | | mmc (Multimedia Card)| @#​aaffaa:​yes | @#​aaffaa:​yes | @#​aaffaa:​yes |
-| eMMC (Internal Multimedia Card)| @#ffaaaa:no | @#ffaaaa:no | @#ffaaaa:no |+| eMMC (Internal Multimedia Card)| @#aaffaa:yes | @#ffaaaa:no | @#ffaaaa:no |
 | i2c (Inter-Integrated Circuit)| @#​aaffaa:​yes | @#​aaffaa:​yes | @#​aaffaa:​yes | | i2c (Inter-Integrated Circuit)| @#​aaffaa:​yes | @#​aaffaa:​yes | @#​aaffaa:​yes |
 | fb (Frame Buffer)| @#ffaaaa:no | @#ffaaaa:no | @#​aaffaa:​yes | | fb (Frame Buffer)| @#ffaaaa:no | @#ffaaaa:no | @#​aaffaa:​yes |
Line 28: Line 28:
 | PMIC (Power Management IC)| @#​aaffaa:​yes | @#​aaffaa:​yes | @#​aaffaa:​yes | | PMIC (Power Management IC)| @#​aaffaa:​yes | @#​aaffaa:​yes | @#​aaffaa:​yes |
 | ethernet | @#​aaffaa:​yes | @#​aaffaa:​yes | @#ffaaaa:no | | ethernet | @#​aaffaa:​yes | @#​aaffaa:​yes | @#ffaaaa:no |
-| usb (Universal Serial Bus) HCD| @#ffffaa:exp. | @#ffffaa:exp. | @#ffaaaa:no | +| usb (Universal Serial Bus) HCD| @#aaffaa:yes | @#aaffaa:yes | @#ffaaaa:no | 
-| usb mass storage| @#ffffaa:exp. | @#ffffaa:exp. | @#ffaaaa:no | +| usb mass storage| @#aaffaa:yes | @#aaffaa:yes | @#ffaaaa:no | 
-| usb hubs| @#ffffaa:exp. | @#ffffaa:exp. | @#ffaaaa:no |+| usb hubs| @#aaffaa:yes | @#aaffaa:yes | @#ffaaaa:no |
 | spi (Serial Peripheral Interface Bus)| @#ffaaaa:no | @#ffaaaa:no | @#ffaaaa:no | | spi (Serial Peripheral Interface Bus)| @#ffaaaa:no | @#ffaaaa:no | @#ffaaaa:no |
 | pwm (Pulse-width modulation)| @#ffaaaa:no | @#ffaaaa:no | @#ffaaaa:no | | pwm (Pulse-width modulation)| @#ffaaaa:no | @#ffaaaa:no | @#ffaaaa:no |
Line 45: Line 45:
 |[[http://​circuitco.com/​support/​index.php?​title=BeagleBone_Weather|BeagleBone Weather]] | @#​aaffaa:​yes | |[[http://​circuitco.com/​support/​index.php?​title=BeagleBone_Weather|BeagleBone Weather]] | @#​aaffaa:​yes |
  
 +Please note that pkgsrc, the package repository used by MINIX3, is not yet available on ARM at this moment. See [[developersguide:​pkgsrconarm|this document]] for an explanation as to why and how we hope to move forward on this.
 +
 +Note that the framebuffer (fb) driver is not supported on the Black and White models. ​ You will need a serial interface cable to connect. ​ Please review [[http://​dave.cheney.net/​2013/​09/​22/​two-point-five-ways-to-access-the-serial-console-on-your-beaglebone-black | Dave Cheney'​s article]] on connecting via the serial port.  Users of Apple products may want to review [[http://​pbxbook.com/​other/​mac-tty.html | Mike's PBX Cookbook article]] on using Terminal for serial communication. ​ In Terminal, the command '​screen /​dev/​tty.usbmodem* 115200'​ works well (replace the * with the appropriate label).
 ====== Building Minix/​ARM ​ ====== ====== Building Minix/​ARM ​ ======
  
Line 77: Line 80:
 </​code>​ </​code>​
  
-The result is a file called minix_arm_sd.img in your src directory. This image can be copied onto an SD-Card using dd:+If you receive the error "​**Skipping image creation: missing tool '​mcopy'"​ do 
 + 
 +<​code>​ 
 +pkgin install mtools 
 +</​code>​ 
 + 
 +If there are no errors, the result is a file called minix_arm_sd.img in your src directory. This image can be copied onto an SD-Card using dd:
 <​code>​ <​code>​
 sudo dd if=minix_arm_sd.img of=/​dev/​mmcblk0 bs=1M oflag=direct sudo dd if=minix_arm_sd.img of=/​dev/​mmcblk0 bs=1M oflag=direct
Line 83: Line 92:
  
 WARNING Just make sure your file system did not mount the sd-card while you where dd'​ing. WARNING Just make sure your file system did not mount the sd-card while you where dd'​ing.
- 
 ====== Running Minix/ARM ====== ====== Running Minix/ARM ======
  
-Once the sd-card is inserted on the BeagleBoard-xM press the reset button and watch the serial for messages. Alternatively you can start the same image in the emulator (Read about that in   ​[[.:​minixonlinaroqemuarm]]). for information on network booting, see the [[developersguide:​netbootingarm|Netbooting ARM]] article.+Once the sd-card is inserted on the BeagleBoard-xM ​(or BeagleBone) ​press the reset button and watch the serial for messages. Alternatively you can start the same image in the emulator (Read about that in   ​[[.:​minixonlinaroqemuarm]]). for information on network booting, see the [[developersguide:​netbootingarm|Netbooting ARM]] article.
  
 <​code>​ <​code>​
Line 146: Line 154:
 </​code>​ </​code>​
  
 +If the system hangs on reboot after starting the service '​random,'​ shut down the board entirely, then bring it back up. This will completely reset the ethernet chip and prevent issues when bringing up the inet interface from a non-default configuration. ​ Typing '​Control-c'​ will interrupt the multi-user boot process and go to single user.  Type
 +
 +<​code>​
 +shutdown -h now
 +</​code>​
 +
 +to properly unmount the file system and shut down.  Unplug the power supply from the board, wait briefly, then plug the power supply back in.
 ====== Videos ====== ====== Videos ======
  
Line 154: Line 169:
 ====== Want to contribute? ====== ====== Want to contribute? ======
  
-Great, that's what I wanted to hear! Help with documentation,​ making the above procedure more clean, hardware support, debugging, running the test set and finding and debugging problems! ​Come and chat on ''#​minix''​ on ''​freenode''​ if you aren't already there.+Great, that's what I wanted to hear! Help with documentation,​ making the above procedure more clean, hardware support, debugging, running the test set and finding and debugging problems! ​Check the [[:​resources|resources page]] for more information ​on how to join the community
  
 See ARM-specific (or not ARM-specific!) points on the [[:​Wishlist:​]] page for the current list of todo'​s. See ARM-specific (or not ARM-specific!) points on the [[:​Wishlist:​]] page for the current list of todo'​s.
  
 +====== ARM Manuals ======
 +
 +The ARM Cortex-A8 processor is used in the Minix-supported BeagleBoard and BeagleBone devices. Many ARM documents require registration and some are behind a paywall, but the following is freely available from the ARM site as of October 2016:
 +
 +  * [[http://​infocenter.arm.com/​help/​topic/​com.arm.doc.ddi0344k/​DDI0344K_cortex_a8_r3p2_trm.pdf|Cortex-A8 Revision: r3p2 Technical Reference Manual]]
developersguide/minixonarm.1434728894.txt.gz · Last modified: 2015/12/28 14:51 (external edit)