User Tools

Site Tools


build_mac

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
build_mac [2011/08/05 20:32] mhbuild_mac [2012/01/03 03:29] (current) – Added info box for macports darthrake
Line 1: Line 1:
 +<note important>** You //might// want to disable .DS_Store files on (network) mounts**
 +...otherwise Mac OS will break your r0ket file system.
 +**NEVER EVER access the r0ket with the finder.**
 +Always use only the terminal.
 +</note>
 +
 ====== Build environment on Mac OS X ====== ====== Build environment on Mac OS X ======
  
Line 15: Line 21:
  
 === Solution 2 === === Solution 2 ===
 +
 +<note tip>
 +This "Solution" produces slightly bigger code (with gcc 4.6.2) compared to older gcc versions. Therefore you can not compile some l0dables. This results in errors like:
 +<code>arm-none-eabi-ld -nostartfiles -T loadable.ld -o mp0ng.elf mp0ng.o  -lc -L/opt/local/arm-none-eabi/lib/
 +arm-none-eabi-ld: mp0ng.elf section `.text' will not fit in region `sram'
 +arm-none-eabi-ld: region `sram' overflowed by 148 bytes</code>
 +</note>
  
   * Install [[http://macports.org|MacPorts]]   * Install [[http://macports.org|MacPorts]]
 +  * Don't forget <code>sudo port sync</code>
   * Install the port ''arm-none-eabi-gcc'': <code>sudo port install arm-none-eabi-gcc</code>   * Install the port ''arm-none-eabi-gcc'': <code>sudo port install arm-none-eabi-gcc</code>
 +
 +=== Solution 3 ===
 +  * Currently not working (at least on Lion). Less pain: MacPorts
 +  * Install [[http://mxcl.github.com/homebrew|Homebrew]]
 +  * Import (as in copy to /usr/local/Library/Formula) the formulae for cloog-ppl and arm-none-eabi-gcc from [[https://github.com/jpc/homebrew/tree/master/Library/Formula|here]] 
 +  * Install the formula ''arm-none-eabi-gcc'': <code>brew install arm-none-eabi-gcc</code>
 +
  
 == Another option: Installing Ubuntu Linux in a VirtualBox: == == Another option: Installing Ubuntu Linux in a VirtualBox: ==
Line 52: Line 73:
  
  
-===== 9. Prepare a brand new r0ket / Restore to initial distribution condition =====+===== 9. Prepare a brand new r0ket ===== 
 +See [[build|main Build article (scoll to the bottom)]], 
 +or: 
 Bring the r0ket into ISP-Mode: Bring the r0ket into ISP-Mode:
 e.g. by using Method 1 (up to 30 seconds, but works always) e.g. by using Method 1 (up to 30 seconds, but works always)
Line 58: Line 82:
   * Press and hold button “Left”, power r0ket on   * Press and hold button “Left”, power r0ket on
   * Connect r0ket via USB   * Connect r0ket via USB
 +
 +If you want to start from scratch:
 +<code>
 +rm /Volumes/CRP2\ ENABLD/*
 +</code>
  
 Install the "initial" formatting firmware: Install the "initial" formatting firmware:
Line 63: Line 92:
 cd firmware cd firmware
 make APP=initial make APP=initial
-cp firmware.bin /Volumes/CRP\ DISABLD/+cp firmware.bin /Volumes/CRP\ DISABLD/firmware.bin
 </code> </code>
 The Data Flash will be formatted. The Data Flash will be formatted.
Line 79: Line 108:
 <code> <code>
 make APP=final make APP=final
-cp firmware.bin /Volumes/CRP\ DISABLD/+cp firmware.bin /Volumes/CRP2\ ENABLD/firmware.bin 
 +</code> 
 + 
 +=== Example commands that worked for me === 
 +MacOSX, Lion, Up-to-date MacPorts - DanBUK 
 +<code> 
 +sudo port sync 
 +sudo port install arm-none-eabi-gcc 
 +git clone git://github.com/r0ket/r0ket.git 
 +cd r0ket 
 +git checkout c583ddc7e3b6ecc2cdb94fe0a0474d52bcbb220b 
 +cd firmware 
 +cp SECRETS SECRETS.release 
 +# Edit SECRETS.release 
 +./release-all 
 +make APP=initial 
 +cp firmware.bin ../release/initial.bin 
 +cd ../release/ 
 +# ISP Mode - Power on whilst holding left on Joypad 
 +# NB. This isn't always CRP DISABLED, could be CRP2 ENABLED 
 +mount | grep "CRP DISABLD" 
 +# /dev/disk3      32Ki   32Ki    0Bi   100%    /Volumes/CRP DISABLD 
 +cp initial.bin /Volumes/CRP\ DISABLD/firmware.bin 
 +diskutil unmount "CRP DISABLD" 
 +# power off 
 +# power on 
 +mount | grep "NO NAME" 
 +# /dev/disk3 on /Volumes/NO NAME (msdos, local, nodev, nosuid, noowners) 
 +# If you want to start completely empty: 
 +# rm -Rf /Volumes/NO\ NAME/* 
 +cp files/* /Volumes/NO\ NAME/ 
 +diskutil unmount "NO NAME" 
 +# press button (joypad middle) 
 +mount | grep "CRP2 ENABLD" 
 +# /dev/disk3 on /Volumes/CRP2 ENABLD (msdos, local, nodev, nosuid, noowners) 
 +cp final.bin /Volumes/CRP2\ ENABLD/firmware.bin 
 +diskutil eject "CRP2 ENABLD" 
 +# power off 
 +# power on 
 +# Enjoy!
 </code> </code>
build_mac.1312569127.txt.gz · Last modified: 2011/08/05 20:32 by mh

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki