Differences
This shows you the differences between two versions of the page.
tools:retrobsd [2015/03/09 10:44] darron [Test] |
tools:retrobsd [2015/03/22 21:55] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ==== RetroBSD ==== | ||
- | <wrap right> | ||
- | {{: | ||
- | \\ \\ | ||
- | {{: | ||
- | </ | ||
- | RetroBSD is an embedded version of 2.11BSD for PIC32 micro-controllers. | ||
- | |||
- | === Setup === | ||
- | First we need to fetch a working cross-compiler. RetroBSD supports this one in Linux. | ||
- | |||
- | < | ||
- | cd /usr/local | ||
- | wget https:// | ||
- | unzip pic32-tools-chipKIT-cxx-master-Linux32-image-20120720.zip | ||
- | </ | ||
- | |||
- | === Checkout === | ||
- | Now we fetch the RetroBSD source from GitHUB. | ||
- | < | ||
- | mkdir -p /embedded | ||
- | cd /embedded | ||
- | git clone https:// | ||
- | cd retrobsd | ||
- | </ | ||
- | === Configure === | ||
- | In this example we will configure RetroBSD for the [[: | ||
- | |||
- | First select the SDXL. | ||
- | < | ||
- | sed -i ' | ||
- | </ | ||
- | |||
- | Now we will enable two UARTS. Edit the following file, | ||
- | < | ||
- | vi sys/ | ||
- | </ | ||
- | |||
- | and add the following within the DEFS section, save the file. | ||
- | < | ||
- | DEFS += -DUART1_BAUD=115200 | ||
- | DEFS += -DUART1_ENABLED=YES | ||
- | DEFS += -DUART2_BAUD=115200 | ||
- | DEFS += -DUART2_ENABLED=YES | ||
- | </ | ||
- | |||
- | Now edit the kernel configuration to enable the devices. | ||
- | < | ||
- | vi sys/ | ||
- | </ | ||
- | |||
- | Add the following options to enable the UARTS. | ||
- | < | ||
- | # tty0 | ||
- | device uart1 baud=115200 | ||
- | # tty1 | ||
- | device uart2 baud=115200 | ||
- | </ | ||
- | |||
- | |||
- | === Build === | ||
- | Building will create the unix boot image and the SDcard image for the system. | ||
- | < | ||
- | make cleanall | ||
- | make | ||
- | </ | ||
- | |||
- | === Install === | ||
- | |||
- | First we create the file system image on a micro SD card. | ||
- | < | ||
- | dd if=sdcard.img of=/dev/sdc bs=4M | ||
- | </ | ||
- | |||
- | Next, Hold the PROG button and toggle RESET on the SDXL board to enter the boot laoder. We will use [[: | ||
- | |||
- | < | ||
- | pic32prog -d / | ||
- | Programmer for Microchip PIC32 microcontrollers, | ||
- | Copyright: (C) 2011-2014 Serge Vakulenko | ||
- | Adapter: STK500v2 Bootloader | ||
- | | ||
- | Processor: Bootloader | ||
- | Flash memory: 512 kbytes | ||
- | Boot memory: 12 kbytes | ||
- | Data: 157004 bytes | ||
- | Erase: done | ||
- | Program flash: ####################################### | ||
- | | ||
- | Rate: 40790 bytes per second | ||
- | </ | ||
- | |||
- | === Login === | ||
- | |||
- | A virtual com port should have been detected after installation. | ||
- | |||
- | The kernel will log something similar to the following. | ||
- | < | ||
- | usb 1-1.4: new full-speed USB device number 12 using dwc_otg | ||
- | usb 1-1.4: New USB device found, idVendor=04d8, | ||
- | 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: | ||
- | 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 | ||
- | </ | ||
- | |||
- | Connecting with a terminal emulator to the virtual com port and pressing enter will boot the system. | ||
- | < | ||
- | screen / | ||
- | </ | ||
- | |||
- | Enter the username root with an empty password to login. | ||
- | < | ||
- | |||
- | 2.11 BSD Unix for PIC32, revision G205 build 2: | ||
- | | ||
- | / | ||
- | 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 | ||
- | 3 S | ||
- | 200 S | ||
- | 200 S | ||
- | 200 S | ||
- | 200 S | ||
- | 1 R | ||
- | # | ||
- | </ |