{"id":3399,"date":"2017-10-17T16:03:58","date_gmt":"2017-10-17T23:03:58","guid":{"rendered":"https:\/\/visualgdb.com\/w\/?p=3399"},"modified":"2017-10-17T16:05:36","modified_gmt":"2017-10-17T23:05:36","slug":"running-debian-stretch-images-on-beaglebone","status":"publish","type":"post","link":"https:\/\/visualgdb.com\/tutorials\/beaglebone\/stretch\/","title":{"rendered":"Running Debian Stretch images on BeagleBone"},"content":{"rendered":"<p>This tutorial shows how to setup your BeagleBone Black board to run the Debian Stretch distro. Unlike the previous SD card images, the Stretch image does not work out-of-the-box and requires a minor adjustment and this tutorial explains the necessary steps in detail.<\/p>\n<ol>\n<li>Download the latest image from the <a href=\"https:\/\/beagleboard.org\/latest-images\">Beaglebone Image Catalog<\/a>.<\/li>\n<li>Download and unpack <a href=\"http:\/\/winflashtool.sysprogs.com\/\">WinFLASHTool<\/a> that will be used to write the SD Card images.<\/li>\n<li>Insert your SD card into an SD card reader, run WinFLASH Tool and select the image to program:<a href=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/01-flash.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3400\" src=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/01-flash.png\" alt=\"01-flash\" width=\"626\" height=\"475\" srcset=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/01-flash.png 626w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/01-flash-300x228.png 300w\" sizes=\"(max-width: 626px) 100vw, 626px\" \/><\/a><\/li>\n<li>Wait for the SD card to be programmed. This may take 5-15 minutes:<a href=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/02-program.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3401\" src=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/02-program.png\" alt=\"02-program\" width=\"626\" height=\"475\" srcset=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/02-program.png 626w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/02-program-300x228.png 300w\" sizes=\"(max-width: 626px) 100vw, 626px\" \/><\/a><\/li>\n<li>WinFLASHTool will also automatically resize the Ext3FS filesystem on the image to fit the entire SD Card (if the corresponding option was enabled):<a href=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/03-resize.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3402\" src=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/03-resize.png\" alt=\"03-resize\" width=\"626\" height=\"475\" srcset=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/03-resize.png 626w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/03-resize-300x228.png 300w\" sizes=\"(max-width: 626px) 100vw, 626px\" \/><\/a><\/li>\n<li>If you try inserting the SD card into your Beaglebone and starting it, the 3 user LEDs near the USB connector will turn on and the board won&#8217;t boot:<a href=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/board.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3409\" src=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/board.jpg\" alt=\"board\" width=\"1200\" height=\"609\" srcset=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/board.jpg 1200w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/board-300x152.jpg 300w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/board-1024x520.jpg 1024w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><\/a>Unlike Raspberry Pi that always shows the debug console via HDMI, the Beaglebone&#8217;s HDMI output will remain blank. We will now show how to read the diagnostic output from the on-board UART port.<\/li>\n<li>Locate the <a href=\"http:\/\/beagleboard.org\/hardware\/design\">schematics<\/a> for your Beaglebone and find out the port used for the serial console (RX and TX). On BeagleBone Black the TX signal can be found on pin #5 on J1. We will now use a logic analyzer to view the output from the board. You can use any logic analyzer (or a 3V USB-to-UART adapter), however in this tutorial we will show how to use <a href=\"https:\/\/sysprogs.com\/analyzer2go\/\">Analyzer2Go<\/a> that runs on top of popular development boards. Download and install Analyzer2Go, connect a supported board over USB and start it:<a href=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/04-a2go.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3403\" src=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/04-a2go.png\" alt=\"04-a2go\" width=\"848\" height=\"534\" srcset=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/04-a2go.png 848w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/04-a2go-300x189.png 300w\" sizes=\"(max-width: 848px) 100vw, 848px\" \/><\/a><\/li>\n<li>Locate the inputs that can be used to capture signals and enable one of them:<a href=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/05-port.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3404\" src=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/05-port.png\" alt=\"05-port\" width=\"1719\" height=\"823\" srcset=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/05-port.png 1719w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/05-port-300x144.png 300w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/05-port-1024x490.png 1024w\" sizes=\"(max-width: 1719px) 100vw, 1719px\" \/><\/a><\/li>\n<li>Connect the GND signal on the Beaglebone to the GND signal on your board and the TX signal on Beaglebone to the input used for capturing:<a href=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/2boards.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3410\" src=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/2boards.jpg\" alt=\"2boards\" width=\"1527\" height=\"1346\" srcset=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/2boards.jpg 1527w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/2boards-300x264.jpg 300w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/2boards-1024x903.jpg 1024w\" sizes=\"(max-width: 1527px) 100vw, 1527px\" \/><\/a><\/li>\n<li>Go to the Protocol Analyzers tab, add a UART protocol analyzer and connect it to the captured port:<a href=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/06-proto.png\"> <img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3405\" src=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/06-proto.png\" alt=\"06-proto\" width=\"1719\" height=\"823\" srcset=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/06-proto.png 1719w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/06-proto-300x144.png 300w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/06-proto-1024x490.png 1024w\" sizes=\"(max-width: 1719px) 100vw, 1719px\" \/><\/a><\/li>\n<li>Press the &#8220;Record&#8221; button and restart your Beaglebone:<a href=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/07-sdmmc.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3406\" src=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/07-sdmmc.png\" alt=\"07-sdmmc\" width=\"1719\" height=\"823\" srcset=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/07-sdmmc.png 1719w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/07-sdmmc-300x144.png 300w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/07-sdmmc-1024x490.png 1024w\" sizes=\"(max-width: 1719px) 100vw, 1719px\" \/><\/a>You should normally see the following output:\n<pre class=\"\">musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, HB-ISO Rx, HB-ISO Tx, SoftConn)\r\nmusb-hdrc: MHDRC RTL version 2.0 \r\nmusb-hdrc: setup fifo_mode 4\r\nmusb-hdrc: 28\/31 max ep, 16384\/16384 memory\r\nUSB Peripheral mode controller at 47401000 using PIO, IRQ 0\r\nmusb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, HB-ISO Rx, HB-ISO Tx, SoftConn)\r\nmusb-hdrc: MHDRC RTL version 2.0 \r\nmusb-hdrc: setup fifo_mode 4\r\nmusb-hdrc: 28\/31 max ep, 16384\/16384 memory\r\nUSB Host mode controller at 47401800 using PIO, IRQ 0\r\nOMAP SD\/MMC: 0<\/pre>\n<\/li>\n<li>The output comes from the U-Boot bootloader programmed into the Beaglebone&#8217;s internal FLASH memory. It tries accessing the SD card, but ultimately fails to read any configuration from it. To fix this, you need to rename\/copy the <strong>bbb-uEnv.txt<\/strong> file on the SD card to <strong>uEnv.txt<\/strong>. You can do this by plugging the card into any Linux machine (e.g. boot Beaglebone from the internal memory and then insert the SD card), mounting the SD card and running the &#8220;cp&#8221; command:<a href=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/rename.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3412\" src=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/rename.png\" alt=\"rename\" width=\"1055\" height=\"568\" srcset=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/rename.png 1055w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/rename-300x162.png 300w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/rename-1024x551.png 1024w\" sizes=\"(max-width: 1055px) 100vw, 1055px\" \/><\/a><\/li>\n<li>Now you can boot Beaglebone with the new SD card image and it will start successfully:<a href=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/09-log2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3407\" src=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/09-log2.png\" alt=\"09-log2\" width=\"1719\" height=\"901\" srcset=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/09-log2.png 1719w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/09-log2-300x157.png 300w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/09-log2-1024x537.png 1024w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/09-log2-390x205.png 390w\" sizes=\"(max-width: 1719px) 100vw, 1719px\" \/><\/a>\n<pre class=\"\">musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, HB-ISO Rx, HB-ISO Tx, SoftConn)\r\nmusb-hdrc: MHDRC RTL version 2.0 \r\nmusb-hdrc: setup fifo_mode 4\r\nmusb-hdrc: 28\/31 max ep, 16384\/16384 memory\r\nUSB Peripheral mode controller at 47401000 using PIO, IRQ 0\r\nmusb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, HB-ISO Rx, HB-ISO Tx, SoftConn)\r\nmusb-hdrc: MHDRC RTL version 2.0 \r\nmusb-hdrc: setup fifo_mode 4\r\nmusb-hdrc: 28\/31 max ep, 16384\/16384 memory\r\nUSB Host mode controller at 47401800 using PIO, IRQ 0\r\nOMAP SD\/MMC: 0\r\nmmc_send_cmd : timeout: No status update\r\nreading u-boot.img\r\nreading u-boot.img\r\n\r\n\r\nU-Boot 2013.04-dirty (Jun 19 2013 - 09:57:14)\r\n\r\nI2C:\u00a0\u00a0 ready\r\nDRAM:\u00a0 512 MiB\r\nWARNING: Caches not enabled\r\nNAND:\u00a0 No NAND device found!!!\r\n0 MiB\r\nMMC:\u00a0\u00a0 OMAP SD\/MMC: 0, OMAP SD\/MMC: 1\r\n*** Warning - readenv() failed, using default environment\r\n\r\nmusb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, HB-ISO Rx, HB-ISO Tx, SoftConn)\r\nmusb-hdrc: MHDRC RTL version 2.0 \r\nmusb-hdrc: setup fifo_mode 4\r\nmusb-hdrc: 28\/31 max ep, 16384\/16384 memory\r\nUSB Peripheral mode controller at 47401000 using PIO, IRQ 0\r\nmusb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, HB-ISO Rx, HB-ISO Tx, SoftConn)\r\nmusb-hdrc: MHDRC RTL version 2.0 \r\nmusb-hdrc: setup fifo_mode 4\r\nmusb-hdrc: 28\/31 max ep, 16384\/16384 memory\r\nUSB Host mode controller at 47401800 using PIO, IRQ 0\r\nNet:\u00a0\u00a0 &lt;ethaddr&gt; not set. Validating first E-fuse MAC\r\ncpsw, usb_ether\r\nHit any key to stop autoboot:\u00a0 1 \b\b\b 0 \r\ngpio: pin 53 (gpio 53) value is 1\r\nmmc0 is current device\r\nmicro SD card found\r\nmmc0 is current device\r\ngpio: pin 54 (gpio 54) value is 1\r\nSD\/MMC found on device 0\r\n1359 bytes read in 55 ms (23.4 KiB\/s)\r\nLoaded environment from uEnv.txt\r\nImporting environment from mmc ...\r\nRunning uenvcmd ...\r\n2044 bytes read in 72 ms (27.3 KiB\/s)\r\ndebug: [\/boot\/vmlinuz-4.9.45-ti-r57] ...\r\n9464664 bytes read in 1621 ms (5.6 MiB\/s)\r\ndebug: [\/boot\/initrd.img-4.9.45-ti-r57] ...\r\n5908180 bytes read in 1044 ms (5.4 MiB\/s)\r\ndebug: [\/boot\/dtbs\/4.9.45-ti-r57\/am335x-boneblack.dtb] ...\r\n58161 bytes read in 177 ms (320.3 KiB\/s)\r\ndebug: [console=tty0 console=ttyO0,115200n8 root=\/dev\/mmcblk0p1 rootfstype=ext4 rootwait coherent_pool=1M net.ifnames=0 quiet] ...\r\ndebug: [bootz 0x82000000 0x88080000:5a26d4 0x88000000] ...\r\n## Flattened Device Tree blob at 88000000\r\n\u00a0\u00a0 Booting using the fdt blob at 0x88000000\r\n\u00a0\u00a0 Using Device Tree in place at 88000000, end 88011330\r\n\r\nStarting kernel ...\r\n\r\n[\u00a0\u00a0\u00a0 0.001485] clocksource_probe: no matching clocksources found\r\n[\u00a0\u00a0\u00a0 2.892496] wkup_m3_ipc 44e11324.wkup_m3_ipc: could not get rproc handle\r\n[\u00a0\u00a0\u00a0 3.154209] omap_voltage_late_init: Voltage driver support not added\r\n[\u00a0\u00a0\u00a0 3.164577] PM: Cannot get wkup_m3_ipc handle\r\n[\u00a0\u00a0\u00a0 3.490534] bone_capemgr bone_capemgr: slot #0: No cape found\r\n[\u00a0\u00a0\u00a0 3.522632] bone_capemgr bone_capemgr: slot #1: No cape found\r\n[\u00a0\u00a0\u00a0 3.554609] bone_capemgr bone_capemgr: slot #2: No cape found\r\n[\u00a0\u00a0\u00a0 3.586646] bone_capemgr bone_capemgr: slot #3: No cape found\r\n\r\n\r\nDebian GNU\/Linux 9 beaglebone ttyS0\r\n\r\nBeagleBoard.org Debian Image 2017-08-31\r\n\r\nSupport\/FAQ: http:\/\/elinux.org\/Beagleboard:BeagleBoneBlack_Debian\r\n\r\ndefault username:password is [debian:temppwd]\r\n\r\nbeaglebone login:<\/pre>\n<\/li>\n<li>Now you can connect the Ethernet cable to your Beaglebone and ping it to check the connection:<a href=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/10-beaglebone.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3408\" src=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/10-beaglebone.png\" alt=\"10-beaglebone\" width=\"979\" height=\"512\" srcset=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/10-beaglebone.png 979w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/10-beaglebone-300x157.png 300w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/10-beaglebone-390x205.png 390w\" sizes=\"(max-width: 979px) 100vw, 979px\" \/><\/a><\/li>\n<li>Once the connection is successful, you can use <a href=\"http:\/\/smartty.sysprogs.com\/\">SmarTTY<\/a> or any other SSH client to connect to your Beaglebone via SSH. The default username\/password are shown below:<br \/>\n<table>\n<tbody>\n<tr>\n<td>Username<\/td>\n<td><strong>debian<\/strong><\/td>\n<\/tr>\n<tr>\n<td>Password<\/td>\n<td><strong>temppwd<\/strong><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/li>\n<\/ol>\n<p>Once your connection to Beaglebone works, you can follow <a href=\"https:\/\/visualgdb.com\/tutorials\/beaglebone\/\">this tutorial<\/a> to create a basic project from Visual Studio.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This tutorial shows how to setup your BeagleBone Black board to run the Debian Stretch distro. Unlike the previous SD<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[21],"tags":[34],"_links":{"self":[{"href":"https:\/\/visualgdb.com\/w\/wp-json\/wp\/v2\/posts\/3399"}],"collection":[{"href":"https:\/\/visualgdb.com\/w\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/visualgdb.com\/w\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/visualgdb.com\/w\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/visualgdb.com\/w\/wp-json\/wp\/v2\/comments?post=3399"}],"version-history":[{"count":5,"href":"https:\/\/visualgdb.com\/w\/wp-json\/wp\/v2\/posts\/3399\/revisions"}],"predecessor-version":[{"id":3416,"href":"https:\/\/visualgdb.com\/w\/wp-json\/wp\/v2\/posts\/3399\/revisions\/3416"}],"wp:attachment":[{"href":"https:\/\/visualgdb.com\/w\/wp-json\/wp\/v2\/media?parent=3399"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/visualgdb.com\/w\/wp-json\/wp\/v2\/categories?post=3399"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/visualgdb.com\/w\/wp-json\/wp\/v2\/tags?post=3399"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}