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
tools:retrobsd [2015/03/09 07:06] – [Build] darrontools:retrobsd [2015/03/22 21:55] (current) – external edit 127.0.0.1
Line 1: Line 1:
 ==== RetroBSD ==== ==== RetroBSD ====
 <wrap right> <wrap right>
-{{:tools:2.11bsd.jpg?100}}+{{:tools:2.11bsd.jpg?200}} 
 +\\ \\ 
 +{{:tools:2.11bsd-2.jpg?200}}
 </wrap> </wrap>
  
Line 7: Line 9:
  
 === Setup === === Setup ===
 +First we need to fetch a working cross-compiler. RetroBSD supports this one in Linux.
 +
 <code> <code>
 cd /usr/local cd /usr/local
Line 14: Line 18:
  
 === Checkout === === Checkout ===
 +Now we fetch the RetroBSD source from GitHUB. 
 <code> <code>
 mkdir -p /embedded mkdir -p /embedded
Line 20: Line 25:
 cd retrobsd cd retrobsd
 </code> </code>
-=== Build ===+=== Configure === 
 +In this example we will configure RetroBSD for the [[:boards:sdxl|SDXL]] board. 
 + 
 +First select the SDXL.
 <code> <code>
 sed -i 's/(MAX32)/(SDXL)/' Makefile sed -i 's/(MAX32)/(SDXL)/' Makefile
 +</code>
 +
 +Now we will enable two UARTS. Edit the following file,
 +<code>
 +vi sys/pic32/sdxl/Makefile
 +</code>
 +
 +and add the following within the DEFS section, save the file.
 +<code>
 +DEFS += -DUART1_BAUD=115200
 +DEFS += -DUART1_ENABLED=YES
 +DEFS += -DUART2_BAUD=115200
 +DEFS += -DUART2_ENABLED=YES
 +</code>
 +
 +Now edit the kernel configuration to enable the devices.
 +<code>
 +vi sys/pic32/sdxl/SDXL
 +</code>
 +
 +Add the following options to enable the UARTS.
 +<code>
 +# tty0
 +device uart1 baud=115200
 +# tty1
 +device uart2 baud=115200
 +</code>
 +
 +
 +=== Build ===
 +Building will create the unix boot image and the SD card image for the system.
 +<code>
 make cleanall make cleanall
 make make
 +</code>
 +
 +=== Install ===
 +
 +First we create the file system image on a micro SD card.
 +<code>
 +dd if=sdcard.img of=/dev/sdc bs=4M
 +</code>
 +
 +Next, Hold the PROG button and toggle RESET on the SDXL board to enter the boot laoder. We will use [[:tools:pic32prog|PIC32Prog]] to install the kernel.
 +
 +<code>
 +pic32prog -d /dev/ttyACM0 ./sys/pic32/sdxl/unix.hex
 +Programmer for Microchip PIC32 microcontrollers, Version 1.119M
 +    Copyright: (C) 2011-2014 Serge Vakulenko
 +      Adapter: STK500v2 Bootloader
 + Program area: 1d000000-1d07ffff
 +    Processor: Bootloader
 + Flash memory: 512 kbytes
 +  Boot memory: 12 kbytes
 +         Data: 157004 bytes
 +        Erase: done
 +Program flash: ####################################### done
 + Verify flash: ####################################### done
 +Rate: 40790 bytes per second
 +</code>
 +
 +=== Login ===
 +
 +A virtual com port should have been detected after installation.
 +
 +The kernel will log something similar to the following.
 +<code>
 +usb 1-1.4: new full-speed USB device number 12 using dwc_otg
 +usb 1-1.4: New USB device found, idVendor=04d8, idProduct=000a
 +usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
 +usb 1-1.4: Product: RetroBSD Console
 +usb 1-1.4: Manufacturer: Microchip Technology Inc.
 +cdc_acm 1-1.4:1.0: This device cannot do calls on its own. It is not a modem.
 +cdc_acm 1-1.4:1.0: ttyACM0: USB ACM device
 +</code>
 +
 +Connecting with a terminal emulator to the virtual com port and pressing enter will boot the system.
 +<code>
 +screen /dev/ttyACM0 115200
 +</code>
 +
 +Enter the username root with an empty password to login.
 +<code>
 +
 +2.11 BSD Unix for PIC32, revision G205 build 2:
 +     Compiled 2015-03-09 by root@beethoven:
 +     /embedded/retrobsd/sys/pic32/sdxl
 +cpu: 795F512H 80 MHz, bus 80 MHz
 +oscillator: external, PLL div 1:2 mult x20
 +console: ttyUSB0 (6,0)
 +sd0: port SPI2, select pin G9
 +sd0: type SDHC, size 3932160 kbytes, speed 13 Mbit/sec
 +phys mem  = 128 kbytes
 +user mem  = 96 kbytes
 +root dev  = rd0a (0,1)
 +root size = 102400 kbytes
 +swap dev  = rd0b (0,2)
 +swap size = 2048 kbytes
 +/dev/rd0a: 659 files, 10738 used, 91261 free
 +Starting daemons: update /var/cron: No such file or directory
 +/var/cron: created
 +tabs: No such file or directory
 +tabs: created
 +cron 
 +
 +
 +2.11 BSD UNIX (pic32) (console)
 +
 +login: root
 +Password:
 +Welcome to RetroBSD!
 +erase, kill ^U, intr ^C
 +# ps axl
 +  F S   UID   PID  PPID CPU PRI NICE  ADDR  SZ WCHAN    TTY  TIME COMMAND
 +  3 S              54     0 0x6800   3 runout   ?    0:03 swapper
 +200 S                30     0x69  45 proc     ?    0:00 init - 
 +200 S        11      23  40      0xd   6 u        ?    0:00 update 
 +200 S        13      42  26      0x9  73 selwait  ?    0:00 cron 
 +200 S        14        30     0x19  56 proc     USB  0:00 -sh 
 +  1 R        17    14  24  51   0 0x7400  52          USB  0:00 ps axl 
 +#
 </code> </code>