BeagleBoardDebian
This page is about running a (ARM EABIhf) Debian distribution at BeagleBoard. BeagleBoard will boot the (ARM EABIhf) Debian distribution from SD card. Debian's NetInstall will be used to install Debian onto your Beagle.
Contents
- 1 Help
- 2 Official BeagleBoard.org Images for shipping with BeagleBone Black
- 3 Recommended Beagle Software
- 4 Debian NetInstall
- 5 Demo Image
- 6 Flasher
- 7 raw microSD img
- 8 Debian Configuration
- 9 Building Kernel
- 10 Upgrading from Debian 5 to Debian 6
- 11 Upgrading from Debian 6 (Squeeze) to Debian 7 (Wheezy)
Help
If you need any help:
- Kernel related help:
- Email Beagleboard user group *Recommended method
- #beagle: Beagle irc on freenode, accessible also by web interface (logs)
- Kernel Trees
- When asking for help, please provide some debugging information:
- U-Boot Version installed on board
- Kernel Version: uname -a
- pastebin dmesg
- Copy from serial port or use "dmesg | pastebinit" (sudo apt-get install pastebinit)
Official BeagleBoard.org Images for shipping with BeagleBone Black
Recommended Beagle Software
Mainline U-Boot:
- All old Ax, Bx, Cx and Dx boards are required to upgrade to at least these U-Boot versions.
- XM Boards have no NAND, so MLO/u-boot.img is always required on the first partition
- Directions: Upgrade X-loader and U-Boot
Debian NetInstall
Scripts:
git clone https://github.com/RobertCNelson/netinstall.git cd netinstall
Device Options:
BeagleBoard --dtb omap3-beagle BeagleBoard-xM --dtb omap3-beagle-xm BeagleBoard-X15 --dtb am57xx-beagle-x15 BeagleBone (serial) --dtb am335x-bone-serial BeagleBone (video via cape) --dtb am335x-bone-video BeagleBone Black --dtb am335x-boneblack PandaBoard (A1->A3) --dtb omap4-panda PandaBoard (A4->Ax) --dtb omap4-panda-a4 PandaBoard ES --dtb omap4-panda-es
You will need a 1GB SD card or greater.
Standard System : ~455MB
Debian 9 (stretch)
Quick Install script for "board"
sudo ./mk_mmc.sh --mmc /dev/sdX --dtb "board" --distro stretch
So For the BeagleBoard xM:
sudo ./mk_mmc.sh --mmc /dev/sdX --dtb omap3-beagle-xm --distro stretch
- Options:
- --firmware : installs firmware
- --serial-mode : debian-installer uses Serial Port
Demo Image
- Advanced Users only: BeagleBoard xM: Kernel source, used in these demo images: https://github.com/RobertCNelson/armv7-multiplatform
git clone https://github.com/RobertCNelson/armv7-multiplatform.git cd armv7-multiplatform git checkout origin/v4.18.x -b tmp ./build_kernel.sh
- Advanced Users only: BeagleBone/BeagleBone Black/PocketBeagle: Kernel v4.14.x source, used in these demo images: https://github.com/RobertCNelson/ti-linux-kernel-dev/tree/ti-linux-4.14.y
git clone https://github.com/RobertCNelson/ti-linux-kernel-dev.git cd ti-linux-kernel-dev git checkout origin/ti-linux-4.14.y -b tmp ./build_kernel.sh
Debian (stretch)
Default username/password:
- username: debian
- password: temppwd
Image Updated:
- 2018-09-11
- BeagleBoard xM: v4.18.7-armv7-x7 kernel
- All BeagleBone Varients and PocketBeagle: v4.14.67-ti-r74 kernel
- OMAP5432 uEVM: v4.14.67-ti-r74 kernel
- BeagleBoard-X15: v4.14.67-ti-r74 kernel
- 2018-08-10
- BeagleBoard xM: v4.17.12-armv7-x12 kernel
- All BeagleBone Varients and PocketBeagle: v4.14.62-ti-r69 kernel
- OMAP5432 uEVM: v4.14.62-ti-r69 kernel
- BeagleBoard-X15: v4.14.62-ti-r69 kernel
- 2018-07-14
- BeagleBoard xM: v4.17.6-armv7-x7 kernel
- All BeagleBone Varients and PocketBeagle: v4.14.54-ti-r63 kernel
- OMAP5432 uEVM: v4.14.54-ti-r63 kernel
- BeagleBoard-X15: v4.14.54-ti-r63 kernel
Services Active:
Note: Depending on your internal network these may work out of the box Apache, Port 80: http://arm.local/ (Bone: via usb) (Windows/Linux) http://192.168.7.2, (Mac/Linux) http://192.168.6.2 SSH, Port 22: ssh debian@arm.local (Bone: via usb) (Windows/Linux) debian@192.168.7.2, (Mac/Linux) debian@192.168.6.2 Getty, Serial Port
Default user: debian pass: temppwd
Get prebuilt image:
wget https://rcn-ee.com/rootfs/2018-09-11/elinux/debian-9.5-console-armhf-2018-09-11.tar.xz
Verify Image with:
sha256sum debian-9.5-console-armhf-2018-09-11.tar.xz 43ba84ed6fa47e5cd1c2b8eb60451fd211d7171319c01766eb436116004b3841 debian-9.5-console-armhf-2018-09-11.tar.xz
Unpack Image:
tar xf debian-9.5-console-armhf-2018-09-11.tar.xz cd debian-9.5-console-armhf-2018-09-11
If you don't know the location of your SD card:
sudo ./setup_sdcard.sh --probe-mmc
You should see something like:
Are you sure? I don't see [/dev/idontknow], here is what I do see... fdisk -l: Disk /dev/sda: 500.1 GB, 500107862016 bytes <- x86 Root Drive Disk /dev/sdd: 3957 MB, 3957325824 bytes <- MMC/SD card lsblk: NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 465.8G 0 disk ├─sda1 8:1 0 446.9G 0 part / <- x86 Root Partition ├─sda2 8:2 0 1K 0 part └─sda5 8:5 0 18.9G 0 part [SWAP] sdd 8:48 1 3.7G 0 disk ├─sdd1 8:49 1 64M 0 part └─sdd2 8:50 1 3.6G 0 part
- In this example, we can see via mount, /dev/sda1 is the x86 rootfs, therefore /dev/sdd is the other drive in the system, which is the MMC/SD card that was inserted and should be used by ./setup_sdcard.sh...
Install Image:
Quick install script for [board]
sudo ./setup_sdcard.sh --mmc /dev/sdX --dtb board
board options:
- BeagleBoard Ax/Bx/Cx/Dx - omap3-beagle
- BeagleBoard xM - omap3-beagle-xm
- All BeagleBone Varients - beaglebone
- OMAP5432 uEVM - omap5-uevm
- BeagleBoard-X15 - am57xx-beagle-x15
So for the BeagleBoard xM:
sudo ./setup_sdcard.sh --mmc /dev/sdX --dtb omap3-beagle-xm
Advanced: Build Image:
git clone https://github.com/RobertCNelson/omap-image-builder.git cd omap-image-builder git checkout v2018.09 -b tmp
Stable:
./RootStock-NG.sh -c rcn-ee_console_debian_stretch_armhf
Testing:
./RootStock-NG.sh -c rcn-ee_console_debian_buster_armhf
Debian Testing (buster)
Image Updated:
- 2018-09-11
- BeagleBoard xM: v4.18.7-armv7-x7 kernel
- All BeagleBone Varients and PocketBeagle: v4.14.67-ti-r74 kernel
- OMAP5432 uEVM: v4.14.67-ti-r74 kernel
- BeagleBoard-X15: v4.14.67-ti-r74 kernel
- 2018-08-10
- BeagleBoard xM: v4.17.12-armv7-x12 kernel
- All BeagleBone Varients and PocketBeagle: v4.14.62-ti-r69 kernel
- OMAP5432 uEVM: v4.14.62-ti-r69 kernel
- BeagleBoard-X15: v4.14.62-ti-r69 kernel
- 2018-07-14
- BeagleBoard xM: v4.17.6-armv7-x7 kernel
- All BeagleBone Varients and PocketBeagle: v4.14.54-ti-r63 kernel
- OMAP5432 uEVM: v4.14.54-ti-r63 kernel
- BeagleBoard-X15: v4.14.54-ti-r63 kernel
Get prebuilt image:
wget https://rcn-ee.com/rootfs/2018-09-11/elinux/debian-buster-console-armhf-2018-09-11.tar.xz
Verify Image with:
sha256sum debian-buster-console-armhf-2018-09-11.tar.xz d285a8b2b2a8b2a7a65c4021a7678283a23566d72afe82c334d30295191b8351 debian-buster-console-armhf-2018-09-11.tar.xz
Unpack image:
tar xf debian-buster-console-armhf-2018-09-11.tar.xz cd debian-buster-console-armhf-2018-09-11
Then follow the directions shown above with the other images...
Flasher
eMMC: All BeagleBone Varients with eMMC
This image can be written to a 2GB (or larger) microSD card, via 'dd' on linux or on Windows/Mac/Linux: https://etcher.io First press and hold the boot select button (next to the microSD card), then apply power. On bootup the board should indicate it has started the flashing procedure visually via a Cylon Sweep pattern shown on the 4 LED's next to the ethernet jack. Progress is reported on both the serial debug and hdmi connectors, once completed all 4 LED's should be full ON. Simply remove power, remove the microSD card and Debian will now boot directly from eMMC.
Script for reference: (this is the script that writes to the eMMC)
https://github.com/RobertCNelson/boot-scripts/blob/master/tools/eMMC/init-eMMC-flasher-v3.sh
This script will only take about 5-6 Minutes after power on.
Notes:
- If only two LED's stay lit and nothing happens, the board has crashed due to lack of power. Retry with a 5Volt DC power supply connected.
- If the 4 LED's blink a constant pattern, the eMMC write has failed. First REMOVE ALL capes, then retry again.
User: debian pass: temppwd
Image Updated:
- 2018-09-11
- All BeagleBone Varients with eMMC: v4.14.67-ti-r74 kernel
- 2018-08-10
- All BeagleBone Varients with eMMC: v4.14.62-ti-r69 kernel
- 2018-07-14
- All BeagleBone Varients with eMMC: v4.14.54-ti-r63 kernel
Get prebuilt image:
wget https://rcn-ee.com/rootfs/2018-09-11/flasher/BBB-eMMC-flasher-debian-9.5-console-armhf-2018-09-11-2gb.img.xz
Verify Image with:
sha256sum BBB-eMMC-flasher-debian-9.5-console-armhf-2018-09-11-2gb* 2af5c064e7601bd776bdcd9c19ba487f9cf9837185a6f7086c94495f59c7eb4d BBB-eMMC-flasher-debian-9.5-console-armhf-2018-09-11-2gb.img.xz
Windows/Mac/Linux gui
http://etcher.io
Linux: (dd)
xzcat BBB-eMMC-flasher-debian-9.5-console-armhf-2018-09-11-2gb.img.xz | sudo dd of=/dev/sdX
eMMC: BeagleBoard-X15
This image can be written to a 2GB (or larger) microSD card, via 'dd' on linux or on Windows/Mac/Linux: https://etcher.io First press and hold the boot select button (next to the microSD card), then apply power. On bootup the board should indicate it has started the flashing procedure visually via a Cylon Sweep pattern shown on the 4 LED's next to the ethernet jack. Progress is reported on both the serial debug and hdmi connectors, once completed all 4 LED's should be full ON. Simply remove power, remove the microSD card and Debian will now boot directly from eMMC.
Script for reference: (this is the script that writes to the eMMC)
https://github.com/RobertCNelson/boot-scripts/blob/master/tools/eMMC/init-eMMC-flasher-v3.sh
This script will only take about 5-6 Minutes after power on.
Notes:
- If only two LED's stay lit and nothing happens, the board has crashed due to lack of power. Retry with a 5Volt DC power supply connected.
- If the 4 LED's blink a constant pattern, the eMMC write has failed. First REMOVE ALL capes, then retry again.
User: debian pass: temppwd
Image Updated:
- 2018-09-11
- BeagleBoard-X15: v4.14.67-ti-r74 kernel
- 2018-08-10
- BeagleBoard-X15: v4.14.62-ti-r69 kernel
- 2018-07-14
- BeagleBoard-X15: v4.14.54-ti-r63 kernel
Get prebuilt image:
wget https://rcn-ee.com/rootfs/2018-09-11/flasher/bbx15-eMMC-flasher-debian-9.5-console-armhf-2018-09-11-2gb.img.xz
Verify Image with:
sha256sum bbx15-eMMC-flasher-debian-9.5-console-armhf-2018-09-11-2gb* 05cd023c46067ae071ea3d569b652ea309e1136949149cf5120a02adf118b6a0 bbx15-eMMC-flasher-debian-9.5-console-armhf-2018-09-11-2gb.img.xz
Windows/Mac/Linux gui
http://etcher.io
Linux: (dd)
xzcat bbx15-eMMC-flasher-debian-9.5-console-armhf-2018-09-11-2gb.img.xz | sudo dd of=/dev/sdX
raw microSD img
BeagleBoard xM
This image can be written to a 2GB (or larger) microSD card, via 'dd' on linux or on Windows/Mac/Linux: https://etcher.io
User: debian pass: temppwd
Auto partition resize:
cd /opt/scripts/tools git pull ./grow_partition.sh sudo reboot
Image Updated:
- 2018-09-11
- BeagleBoard xM: v4.18.7-armv7-x7 kernel
- 2018-08-10
- BeagleBoard xM: v4.17.12-armv7-x12 kernel
- 2018-07-14
- BeagleBoard xM: v4.17.6-armv7-x7 kernel
Get prebuilt image:
wget https://rcn-ee.com/rootfs/2018-09-11/microsd/bbxm-debian-9.5-console-armhf-2018-09-11-2gb.img.xz
Verify Image with:
sha256sum bbxm-debian-9.5-console-armhf-2018-09-11-2gb* 548ff5fc44e776272bb2bbd18eab472c1aa20907a095b28f228cb0dce3bf70a6 bbxm-debian-9.5-console-armhf-2018-09-11-2gb.img.xz
Windows/Mac/Linux gui
http://etcher.io
Linux: (dd)
xzcat bbxm-debian-9.5-console-armhf-2018-09-11-2gb.img.xz | sudo dd of=/dev/sdX
All BeagleBone Varients and PocketBeagle
This image can be written to a 2GB (or larger) microSD card, via 'dd' on linux or on Windows/Mac/Linux: https://etcher.io
User: debian pass: temppwd
Auto partition resize:
cd /opt/scripts/tools git pull ./grow_partition.sh sudo reboot
Image Updated:
- 2018-09-11
- All BeagleBone Varients and PocketBeagle: v4.14.67-ti-r74 kernel
- 2018-08-10
- All BeagleBone Varients and PocketBeagle: v4.14.62-ti-r69 kernel
- 2018-07-14
- All BeagleBone Varients and PocketBeagle: v4.14.54-ti-r63 kernel
Get prebuilt image:
wget https://rcn-ee.com/rootfs/2018-09-11/microsd/bone-debian-9.5-console-armhf-2018-09-11-2gb.img.xz
Verify Image with:
sha256sum bone-debian-9.5-console-armhf-2018-09-11-2gb* b5530951040eff0061ab38854bbb92786f036d806a352de0dca114323837d3f9 bone-debian-9.5-console-armhf-2018-09-11-2gb.img.xz
Windows/Mac/Linux gui
http://etcher.io
Linux: (dd)
xzcat bone-debian-9.5-console-armhf-2018-09-11-2gb.img.xz | sudo dd of=/dev/sdX
OMAP5432 uEVM
This image can be written to a 2GB (or larger) microSD card, via 'dd' on linux or on Windows/Mac/Linux: https://etcher.io
User: debian pass: temppwd
Auto partition resize:
cd /opt/scripts/tools git pull ./grow_partition.sh sudo reboot
Image Updated:
- 2018-09-11
- OMAP5432 uEVM: v4.14.67-ti-r74 kernel
- 2018-08-10
- OMAP5432 uEVM: v4.14.62-ti-r69 kernel
- 2018-07-14
- OMAP5432 uEVM: v4.14.54-ti-r63 kernel
Get prebuilt image:
wget https://rcn-ee.com/rootfs/2018-09-11/microsd/omap5-uevm-debian-9.5-console-armhf-2018-09-11-2gb.img.xz
Verify Image with:
sha256sum omap5-uevm-debian-9.5-console-armhf-2018-09-11-2gb* bdc648e22b4c4299ee0b2fe6112875b332f9fa11385e4c692844547163ecdba6 omap5-uevm-debian-9.5-console-armhf-2018-09-11-2gb.img.xz
Windows/Mac/Linux gui
http://etcher.io
Linux: (dd)
xzcat omap5-uevm-debian-9.5-console-armhf-2018-09-11-2gb.img.xz | sudo dd of=/dev/sdX
BeagleBoard-X15
This image can be written to a 2GB (or larger) microSD card, via 'dd' on linux or on Windows/Mac/Linux: https://etcher.io
User: debian pass: temppwd
Auto partition resize:
cd /opt/scripts/tools git pull ./grow_partition.sh sudo reboot
Image Updated:
- 2018-09-11
- BeagleBoard-X15: v4.14.67-ti-r74 kernel
- 2018-08-10
- BeagleBoard-X15: v4.14.62-ti-r69 kernel
- 2018-07-14
- BeagleBoard-X15: v4.14.54-ti-r63 kernel
Get prebuilt image:
wget https://rcn-ee.com/rootfs/2018-09-11/microsd/bbx15-debian-9.5-console-armhf-2018-09-11-2gb.img.xz
Verify Image with:
sha256sum bbx15-debian-9.5-console-armhf-2018-09-11-2gb* ea5a2b9b18ba00089b8655f56af742c24fcf808a9949173c4a0ce53a097cc2b8 bbx15-debian-9.5-console-armhf-2018-09-11-2gb.img.xz
Windows/Mac/Linux gui
http://etcher.io
Linux: (dd)
xzcat bbx15-debian-9.5-console-armhf-2018-09-11-2gb.img.xz | sudo dd of=/dev/sdX
Debian Configuration
Install Latest Kernel Image
General apt syntax for searching and installing a specific kernel:
sudo apt-get update sudo apt-cache search linux-image | grep <branch> sudo apt-get install linux-image-<specific version> sudo reboot
Latest kernel script
cd /opt/scripts/tools/ git pull sudo ./update_kernel.sh <OPTIONS>
3.8.x
This is the first beagleboard.org long term kernel tree with capemanager support, it's been the default install for Debian Wheezy
beagleboard.org patchset: https://github.com/beagleboard/linux/tree/3.8
3.8.x BeagleBone/BeagleBone Black FULL Cape Support --bone-channel --stable
3.8.x BeagleBone/BeagleBone Black FULL Cape Support + Xenomai --bone-xenomai-channel --stable
4.14.x-ti
beagleboard.org patchset: https://github.com/beagleboard/linux/tree/4.14 Based on: http://git.ti.com/gitweb/?p=ti-linux-kernel/ti-linux-kernel.git;a=shortlog;h=refs/heads/ti-linux-4.14.y
4.14.x-ti BeagleBone/BeagleBone Black/BeagleBoard-X15 --ti-channel --lts-4_14
4.14.x-ti BeagleBone/BeagleBone Black/BeagleBoard-X15 + RT --ti-rt-channel --lts-4_14
Mainline (4.14.x lts)
4.14.x BeagleBone/BeagleBone Black --bone-kernel --lts-4_14
4.14.x BeagleBone/BeagleBone Black + RT --bone-rt-kernel --lts-4_14
Debian 9: stretch
sudo apt-get install linux-image-armmp
Reboot with your new Kernel Image.
Xorg Drivers
Script:
cd /opt/scripts/tools/ git pull
BeagleBoard/PandaBoard:
cd /opt/scripts/tools/graphics/ ./ti-omapdrm.sh
BeagleBone/BeagleBone Black:
cd /opt/scripts/tools/graphics/ ./ti-tilcdc.sh
SGX Drivers
SGX BeagleBone/BeagleBone Black
Note, these are FBDEV only, no xorg/x11/etc...
Install the "4.4.x" lts/bone kernel: http://elinux.org/BeagleBoardDebian#Mainline_.284.4.x_lts.29
Build SGX userspace for 4.4.x (must be done on an x86, due to the TI 5.01.01.02 blob extractor)
git clone https://github.com/RobertCNelson/bb-kernel.git cd bb-kernel/ git checkout origin/am33x-v4.4 -b tmp-sgx ./sgx_create_package.sh
Copy ./deploy/GFX_5.01.01.02_es8.x.tar.gz to BeagleBone/BeagleBone Black and install
sudo tar xfv GFX_5.01.01.02_es8.x.tar.gz -C / cd /opt/gfxinstall/ sudo ./sgx-install.sh sudo reboot
Verify omaplfb & pvrsrvkm loaded
debian@arm:~$ lsmod | grep omaplfb omaplfb 12065 0 pvrsrvkm 178782 1 omaplfb
Building Kernel
Note, this section use to have a lot of details, but maintenance of the two wiki's became a pain, so for now on we will just link to my other pages:
Beagle/Beagle xM
http://eewiki.net/display/linuxonarm/BeagleBoard
BeagleBone
http://eewiki.net/display/linuxonarm/BeagleBone
BeagleBone Black
http://eewiki.net/display/linuxonarm/BeagleBone+Black
Panda/Panda ES
http://eewiki.net/display/linuxonarm/PandaBoard
Upgrading from Debian 5 to Debian 6
Upgrading from Debian 5 to Debian 6 report and tutorial.
Upgrading from Debian 6 (Squeeze) to Debian 7 (Wheezy)
Note, this only goes over "armel" -> "armel"... For users wishing to switch from "armel" -> "armhf" just re-install...
sudo apt-get update ; sudo apt-get upgrade sudo sed -i -e "s/squeeze/wheezy/g" /etc/apt/sources.list sudo apt-get update ; sudo apt-get install -y apt aptitude udev dpkg sudo aptitude update ; sudo aptitude -y safe-upgrade ; sudo aptitude -y dist-upgrade