Sample Header Ad - 728x90

Unix & Linux Stack Exchange

Q&A for users of Linux, FreeBSD and other Unix-like operating systems

Latest Questions

0 votes
1 answers
3916 views
Beaglebone cannot connect to internet using ethernet cable
I've been trying to get my Beaglebone Black to connect to internet using an ethernet cable plugged direct into my Netgear router. I have tried many things but nothing has worked so far. Here are some relevant outputs. systemctl # Yesterday, internet not working ● networking.service loaded failed fai...
I've been trying to get my Beaglebone Black to connect to internet using an ethernet cable plugged direct into my Netgear router. I have tried many things but nothing has worked so far. Here are some relevant outputs. systemctl # Yesterday, internet not working ● networking.service loaded failed failed Raise network interfaces # Today after reflashing beaglebone, internet still not working networking.service loaded active exited Raise network interfaces ip address 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: can0: mtu 16 qdisc noop state DOWN group default qlen 10 link/can 3: can1: mtu 16 qdisc noop state DOWN group default qlen 10 link/can 4: eth0: mtu 1500 qdisc mq state UP group default qlen 1000 link/ether a0:f6:fd:8a:ec:7e brd ff:ff:ff:ff:ff:ff inet 192.168.0.10/24 brd 192.168.0.255 scope global eth0 valid_lft forever preferred_lft forever inet 192.168.0.123/24 brd 192.168.0.255 scope global secondary eth0 valid_lft forever preferred_lft forever inet6 2600:8806:502:b00:a2f6:fdff:fe8a:ec7e/64 scope global mngtmpaddr dynamic valid_lft 86390sec preferred_lft 86390sec inet6 fe80::a2f6:fdff:fe8a:ec7e/64 scope link valid_lft forever preferred_lft forever ip route default via 192.168.0.1 dev eth0 68.105.28.11 via 192.168.0.1 dev eth0 68.105.28.12 via 192.168.0.1 dev eth0 68.105.29.11 via 192.168.0.1 dev eth0 192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.10 192.168.0.1 dev eth0 scope link 192.168.6.0/30 dev usb1 proto kernel scope link src 192.168.6.2 linkdown 192.168.7.0/30 dev usb0 proto kernel scope link src 192.168.7.2 linkdown 212.227.81.55 via 192.168.0.1 dev eth0 host google.com ;; connection timed out; no servers could be reached ping www.google.com ping: www.google.com: Temporary failure in name resolution ping 192.168.0.1 (router) PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data. --- 192.168.0.1 ping statistics --- 9 packets transmitted, 0 received, 100% packet loss, time 8199ms ping 192.168.0.39 (my computer, connected to same router via ethernet) PING 192.168.0.39 (192.168.0.39) 56(84) bytes of data. 64 bytes from 192.168.0.39: icmp_seq=1 ttl=64 time=0.432 ms 64 bytes from 192.168.0.39: icmp_seq=2 ttl=64 time=0.324 ms 64 bytes from 192.168.0.39: icmp_seq=3 ttl=64 time=0.389 ms 64 bytes from 192.168.0.39: icmp_seq=4 ttl=64 time=0.387 ms --- 192.168.0.39 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3004ms rtt min/avg/max/mdev = 0.324/0.383/0.432/0.038 ms I have no idea how to fix this. It started working yesterday when I started writing this question then it started working mysteriously. I rebooted this morning and it's not working again.
sscirrus (525 rep)
May 18, 2018, 07:55 PM • Last activity: Jul 24, 2025, 04:04 AM
3 votes
1 answers
4632 views
Failed to start Create Volatile Files and Directories in Debian
Using debian in beaglebone black. The board is connected online with a static ip for remote ssh. After few days I couldn't able to ssh my board. While debugging the board received following error log. Failed to start Create Volatile Files and Directories. Failed services: Volatile file creation, ssh...
Using debian in beaglebone black. The board is connected online with a static ip for remote ssh. After few days I couldn't able to ssh my board. While debugging the board received following error log. Failed to start Create Volatile Files and Directories. Failed services: Volatile file creation, ssh-server, networking service etc. Failed to start. What may be went wrong ? Have anyone faced similar issue. Log: [FAILED] Failed to start Create Volatile Files and Directories [FAILED] Failed to start Entropy daemon using the HAVEGE algorithm [FAILED] Failed to start Network Time Synchronization. [FAILED] Failed to start The Apache HTTP Server. **[FAILED] Failed to start OpenBSD Secure Shell server.**
GokulTechno (63 rep)
Oct 4, 2018, 03:13 AM • Last activity: Jul 2, 2025, 08:01 AM
0 votes
0 answers
234 views
How to enable bluetooth in beaglebone black
I bringup beaglebone black successfully with my own rootfs. After bringup beaglebone black how to enable peripherals like gpio,bluetooth and wifi from scratch please suggest me
I bringup beaglebone black successfully with my own rootfs. After bringup beaglebone black how to enable peripherals like gpio,bluetooth and wifi from scratch please suggest me
Prashanth (101 rep)
Jun 25, 2020, 03:18 PM • Last activity: Jun 9, 2025, 11:30 AM
0 votes
1 answers
1933 views
Launching GUI on BeagleBone via putty
How to launch a GUI application on a BeagleBone that is running Linux (Debian 7.4) remotely? Notes: 1. putty is being used for the remote access. 1. The task is to have the GUI launched and displayed on the BeagleBone itself (i.e., no X11 forwarding)
How to launch a GUI application on a BeagleBone that is running Linux (Debian 7.4) remotely? Notes: 1. putty is being used for the remote access. 1. The task is to have the GUI launched and displayed on the BeagleBone itself (i.e., no X11 forwarding)
OAH (101 rep)
Jun 12, 2015, 06:08 PM • Last activity: May 10, 2025, 11:02 PM
2 votes
0 answers
49 views
Serial issue on Beaglebone Black running linux
For a project we are using Modbus which runs over a RS485 interface. Around 95% of the messages are correctly send by the client, after which the server responds correctly. However, once every few hundred messages the server does not respond, resulting in a timeout. After digging deeper into why the...
For a project we are using Modbus which runs over a RS485 interface. Around 95% of the messages are correctly send by the client, after which the server responds correctly. However, once every few hundred messages the server does not respond, resulting in a timeout. After digging deeper into why the server does not respond, it seems that the server either gets a wrong modbus id, which it should not respond to, or the CRC byte is incorrect. The RS485 signal was also shown on an osciloscope which showed that the server interpreted that data correctly, thus the client was sending the wrong data. To see whether the client was indeed sending the data that is expected, some test code was written:
#include 
#include 
#include 
#include 
#include "macrologger.h"

modbus_t *context = nullptr;

// Define the function pointer type for the original write function
typedef ssize_t (*write_t)(int, const void *, size_t);

// The wrapper for the write function
ssize_t write(int fd, const void *buf, size_t count) {
    // Log data being written
    printf("Intercepted write call: ");
    for (size_t i = 0; i < count; i++) {
        printf("{%02X}", ((unsigned char *)buf)[i]);
    }
    printf("\n");

    // Use dlsym to get the original write function
    write_t real_write = (write_t) dlsym(RTLD_NEXT, "write");

    // Check for errors in dlsym
    if (!real_write) {
        fprintf(stderr, "Error: %s\n", dlerror());
        return -1;  // Return an error code if dlsym fails
    }

    // Call the original write function
    return real_write(fd, buf, count);
}

uint32_t modbus_errors = 0;
uint8_t id = 0;

void setModbusSlaveId() {
    // Set Modbus slave ID
    if (modbus_set_slave(context, id++) < 0) {
        LOG_ERROR("modbus set slave error: %s", modbus_strerror(errno));
    }
}

void sendTest() {
    uint16_t state;

    for (uint32_t index = 0; index < 100; index++) {
        printf("Sending message with slave ID: %d\n", modbus_get_slave(context));
        setModbusSlaveId();
        int reply = modbus_read_registers(context, 0x12, 1, &state);

        if (reply == -1) {
            modbus_errors++;
            while (1);
        }
    }
}

int main() {
    LOG_INFO("Starting libmodbus_test");

    context = modbus_new_rtu("/dev/rs485-2", 115200, 'N', 8, 1);
    if (context == nullptr) {
        LOG_ERROR("Unable to create the libmodbus context");
        return 0;
    }

    // Set response timeout
    modbus_set_response_timeout(context, 2, 0);

    if (modbus_rtu_set_rts(context, MODBUS_RTU_RTS_UP) < 0) {
        LOG_ERROR("Unable to set modbus rtu rts mode");
        return 0;
    }

    if (modbus_rtu_set_rts_delay(context, 200) < 0) {
        LOG_ERROR("Unable to set modbus rtu rts delay");
        return 0;
    }

    LOG_INFO("modbus rts: %i, current rts delay: %i us", 
             modbus_rtu_get_rts(context), modbus_rtu_get_rts_delay(context));

    if (modbus_set_debug(context, false) < 0) {
        LOG_ERROR("modbus set debug error");
        return 0;  // Not fatal, continue
    }

    if (modbus_connect(context) < 0) {
        LOG_ERROR("modbus connect error");
        return 0;
    }

    while (1) {
        sendTest();
        std::this_thread::sleep_for(std::chrono::milliseconds(100));
    }
}
This codes initializes the libmodbus library and opens the modbus connection on RS485-2 at 115200 baud. It sends bursts of a 100 messages every 100ms. The slave id is incremented every message to show where the error occurs, after which the program halts (while (1)). The server is setup to ignore the slave id, thus it responds to every message it receives. The expected modbus command is: {id}{03}{00}{12}{01}{CRCH}{CRCL} From this test 2 errors where noted after the program halted. Firstly it seems that sometimes the slave id of the previous message first sent, after which the correct message follows. This however clips off the CRC byte causing an incorrect CRC error. Wrong_ID logs Wrong_ID wave The second error which occurs is the opposite of the first error, where the id byte is not transmitted and the message seems to start with sending the function. Transmitting a complete random CRC byte. No_ID logs No_ID wave In both cases libmodubs seems to try to transmit the right buffers. This is checked by intercepting the write call libmodbus uses to write to the uart peripheral in linux. This shows the correct bytes which should have been sent, but the signal on the scope seems to show that the buffer sent is not correctly written to the uart device. How can I resolve this problem, or how I can debug this problem any further? System specs: Client: Beaglebone black industrial running linux Server: STM32F103
user3679572 (21 rep)
Feb 4, 2025, 11:37 AM • Last activity: Feb 4, 2025, 07:23 PM
0 votes
1 answers
273 views
How do I copy the image from SD card to the emmc using linux commands?
I am trying to flash a custom image from my SD card (mmcblk0) onto the emmc (mmcblk1) of my BeagleBone. NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT mmcblk0 179:0 0 14.9G 0 disk ├─mmcblk0p1 179:1 0 96M 0 part ├─mmcblk0p2 179:2 0 3.5G 0 part / └─mmcblk0p3 179:3 0 9.8M 0 part mmcblk1 179:8 0 3.6G 0 disk mm...
I am trying to flash a custom image from my SD card (mmcblk0) onto the emmc (mmcblk1) of my BeagleBone. NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT mmcblk0 179:0 0 14.9G 0 disk ├─mmcblk0p1 179:1 0 96M 0 part ├─mmcblk0p2 179:2 0 3.5G 0 part / └─mmcblk0p3 179:3 0 9.8M 0 part mmcblk1 179:8 0 3.6G 0 disk mmcblk1boot0 179:16 0 2M 1 disk mmcblk1boot1 179:24 0 2M 1 disk I try to run this command but it says there is no space left on my emmc - sudo dd if=/dev/mmcblk0 of=/dev/mmcblk1 bs=4M status=progress 3825205248 bytes (3.8 GB, 3.6 GiB) copied, 306 s, 12.5 MB/s dd: error writing '/dev/mmcblk1': No space left on device 913+0 records in 912+0 records out 3825205248 bytes (3.8 GB, 3.6 GiB) copied, 306.278 s, 12.5 MB/s But the image I want to copy is less than 3.6GB in total - df -h Filesystem Size Used Avail Use% Mounted on udev 10M 0 10M 0% /dev tmpfs 100M 4.2M 96M 5% /run /dev/mmcblk0p2 3.4G 2.8G 454M 87% / tmpfs 249M 0 249M 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 249M 0 249M 0% /sys/fs/cgroup /dev/mmcblk0p1 96M 31M 66M 32% /boot/uboot /dev/mmcblk0p3 9.8M 18K 9.8M 1% /usb_drive My SD card size is almost 15GB and I guess that is the reason it says there is no space left on the device. It is trying to copy the whole of 15GB. I also tried to individually copy just the mmcblk0p2 to my mmcblk1, removed the SD card and tried to boot from the emmc using the command - sudo dd if=/dev/mmcblk0p2 of=/dev/mmcblk1 bs=4M status=progress But it does not work. The User LEDs do not turn on at all. How do I get the image to boot from the emmc? Thank you.
blazingcannon (101 rep)
Jan 7, 2025, 09:05 PM • Last activity: Jan 8, 2025, 03:32 AM
1 votes
0 answers
86 views
SSH connection problem BBB(Beagle Bone Black) on WSL2 Ubuntu 24.04
As the title suggests, I tried to establish an SSH connection to my BeagleBone Black device from the Ubuntu 24.04 operating system that I'm using with WSL2 on my Windows 11 computer, and I encountered some issues. I'll describe the process step by step for your assistance. * First, I bound the devic...
As the title suggests, I tried to establish an SSH connection to my BeagleBone Black device from the Ubuntu 24.04 operating system that I'm using with WSL2 on my Windows 11 computer, and I encountered some issues. I'll describe the process step by step for your assistance. * First, I bound the device defined as a storage device using the following command:
-sh
    usbipd bind --busid 2-3
* Then, I connected it using the following command:
-sh
    usbipd attach --wsl --busid 2-3
* After these commands, when I ran the following command on the Ubuntu side:
-sh
    sudo lshw -class network
I saw that a new network device was added. * I activated this new network device with:
-sh
    sudo ip link set dev eth1 up
And I assigned an IP address with:
-sh
    sudo ip addr add 192.168.7.1/24 dev eth1
*but I couldn't get a response when I pinged it*. Note: I have installed mkudevrule.sh.
Enes Akyay (11 rep)
Oct 29, 2024, 12:58 PM • Last activity: Oct 29, 2024, 01:28 PM
1 votes
0 answers
365 views
How do I install specific old versions of snaps, and is there a way I can find their dependency versions ahead of time?
I'm trying to install snapcraft on a Beaglebone Blue, which is running: ``` debian@beaglebone:~$ uname -a Linux beaglebone 4.19.94-ti-r42 #1buster SMP PREEMPT Tue Mar 31 19:38:29 UTC 2020 armv7l GNU/Linux ``` But when I do, I get this error: ``` debian@beaglebone:~$ sudo snap install snapcraft --cla...
I'm trying to install snapcraft on a Beaglebone Blue, which is running:
debian@beaglebone:~$ uname -a
Linux beaglebone 4.19.94-ti-r42 #1buster SMP PREEMPT Tue Mar 31 19:38:29 UTC 2020 armv7l GNU/Linux
But when I do, I get this error:
debian@beaglebone:~$ sudo snap install snapcraft --classic
error: cannot perform the following tasks:
- Mount snap "core22" (1034) (snap "core22" assumes unsupported features: snapd2.55.5 (try to update snapd and refresh the core snap))
When I try to upgrade snapd I get this:
debian@beaglebone:~$ sudo apt-get upgrade snapd
Reading package lists... Done
Building dependency tree       
Reading state information... Done
snapd is already the newest version (2.37.4-1+deb10u3).
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
My plan is to find the oldest version of core22 that works on snapd version 2.37.4, and then find the version of snapcraft that uses that version of core22. I've visited the core22 github repo, and couldn't find past versions. It doesn't look like they have a release structure. If this is feasible, how could I do that? If it isn't feasible, is there any other way to get microk8s on this machine?
KerPop47 (11 rep)
Jan 6, 2024, 07:49 PM
5 votes
2 answers
14269 views
Remove user and password at login in Debian 9 Stretch
I am working on a project using BeagleBone Black and an LCD cape. For that, I downloaded the current BBB IOT image from their website and installed LXDE for user interface. I want to create an application that starts at boot on the LCD. I need to remove the login step at the startup. I think that Li...
I am working on a project using BeagleBone Black and an LCD cape. For that, I downloaded the current BBB IOT image from their website and installed LXDE for user interface. I want to create an application that starts at boot on the LCD. I need to remove the login step at the startup. I think that LightDM is used as a desktop manager (maybe helps), but for now I only succeeded to auto insert the username. My question is how I can pass this step without any other user intervention. Login
Dragos (53 rep)
Oct 18, 2017, 02:32 PM • Last activity: Aug 15, 2023, 11:12 AM
1 votes
2 answers
10742 views
U-Boot "Wrong Ramdisk Image Format" with initramfs on BeagleBone black
I am following the book "Mastering Embedded Linux Programming - Second Edition" trying to boot up the Linux kernel mounting a ramdisk. I have U-boot 2020.01 working and the Linux kernel image made. I have made a file system on my computer where I have added busybox and the libraries required by it m...
I am following the book "Mastering Embedded Linux Programming - Second Edition" trying to boot up the Linux kernel mounting a ramdisk. I have U-boot 2020.01 working and the Linux kernel image made. I have made a file system on my computer where I have added busybox and the libraries required by it manually as so files. Here is summarized copy of tree in my filesystem.
├── bin
│   ├── arch -> busybox
...
│   ├── busybox
│   ├── cat -> busybox
...
├── dev
├── etc
├── home
├── lib
│   ├── ld-2.30.so
│   ├── ld-linux-armhf.so.3 -> ld-2.30.so
│   ├── libc-2.30.so
│   ├── libc.so.6 -> libc-2.30.so
│   ├── libm-2.30.so
│   ├── libm.so.6 -> libm-2.30.so
│   ├── libresolv-2.30.so
│   └── libresolv.so.2 -> libresolv-2.30.so
├── linuxrc -> bin/busybox
├── proc
├── sbin
│   ├── acpid -> ../bin/busybox
...
├── sys
├── tmp
├── usr
│   ├── bin
│   │   ├── [ -> ../../bin/busybox
...
│   ├── lib
│   └── sbin
│       ├── addgroup -> ../../bin/busybox
...
└── var
    └── log
I have created my ramdisk image following the snippet:
cd ~/rootfs
find . | cpio -H newc -ov --owner root:root > ../initramfs.cpio
cd ..
gzip initramfs.cpio
mkimage -A arm -O linux -T ramdisk -d initramfs.cpio.gz uRamdisk
I have placed all the needed files in the SD card and in u-boot in the Beaglebone black tried to boot as:
fatload mmc 0:1 0x80200000 zImage
fatload mmc 0:1 0x80f00000 am335x-boneblack.dtb
fatload mmc 0:1 0x81000000 uRamdisk
setenv bootargs console=ttyO0,115200 rdinit=/bin/sh
bootz 0x80200000 0x81000000 0x80f00000
The problem is after the bootz it complains about my ramdisk image being wrong.
=> fatload mmc 0:1 0x80200000 zImage
7109016 bytes read in 464 ms (14.6 MiB/s)
=> fatload mmc 0:1 0x80f00000 am335x-boneblack.dtb
34220 bytes read in 5 ms (6.5 MiB/s)
=> fatload mmc 0:1 0x81000000 uRamdisk
2828897 bytes read in 185 ms (14.6 MiB/s)
=> setenv bootargs console=ttyO0,115200 rdinit=/bin/sh
=> bootz 0x80200000 0x81000000 0x80f00000
Wrong Ramdisk Image Format
Ramdisk image is corrupt or invalid
As I am starting with Linux on embedded devices I am completely out of ideas on how to solve the issue. I have found the reason is that the filesystem image has been created wrong. I have tried to use mkimage with -c none to no avail. I have tried using the mkimage inside my u-boot copy instead of the one that you can install in Ubuntu (with sudo apt-get install u-boot-tools). Before mkimage is called initramfs.cpio.gz looks as as follow: Ramdisk compressed file before mkimage is used Am I missing some folders/files in my filesystem? Is it a problem my computer has ext4 but the boot partition uses fat32? Do I need to use a different mkimage toolset? What could be the problem?
Carlos (13 rep)
Apr 12, 2020, 07:46 PM • Last activity: May 30, 2023, 05:15 AM
0 votes
0 answers
377 views
How do I build Alpine Linux on BeagleBone Black?
Currently, I am exploring Embedded Linux and found out that Alpine is a good place to start with that. Thus, I tried to build Alpine on BeagleBone. I tried out multiple methods: 1. The Generic ARM setup 2. This neat repository https://github.com/BrianSidebotham/alpine-on-bbb I even tried to change t...
Currently, I am exploring Embedded Linux and found out that Alpine is a good place to start with that. Thus, I tried to build Alpine on BeagleBone. I tried out multiple methods: 1. The Generic ARM setup 2. This neat repository https://github.com/BrianSidebotham/alpine-on-bbb I even tried to change the board up and try building it on STM32MP157D-DK1. I am really not sure where I am going with it. None of the lights on the board light up (SD Card Bootup) on either of devices.
Ayyappan Subramaniam (1 rep)
May 18, 2023, 07:18 AM
0 votes
1 answers
4511 views
echo: write error: Operation not permitted issue
Hello i am trying to use the echo command to load firmware to the PRU on the Beaglebone black with the following command: root@beaglebone:~# echo 'am335x-pru1-fw' > /sys/class/remoteproc/remoteproc2/firmware However, i get the following error: -bash: echo: write error: Operation not permitted I can...
Hello i am trying to use the echo command to load firmware to the PRU on the Beaglebone black with the following command: root@beaglebone:~# echo 'am335x-pru1-fw' > /sys/class/remoteproc/remoteproc2/firmware However, i get the following error: -bash: echo: write error: Operation not permitted I can load firmware into pru0 without error but pru1 does not work. I am currently following the tutorial at this link if you are interested(download the zip file): https://e2e.ti.com/support/processors-group/processors/f/processors-forum/967535/faq-where-did-the-rpmsg-quick-start-guide-wiki-go Also the pru1 core seems to be running: root@beaglebone:/sys/class/remoteproc/remoteproc2# cat state running And when i try to stop it i get the same error message: root@beaglebone:/sys/class/remoteproc/remoteproc2# echo 'stop' > state -bash: echo: write error: Operation not permitted also my kernel on my bbb is: 4.19.94-ti-r42 The output of ls -l in the /sys/class/remoteproc/remoteproc2/ is: lrwxrwxrwx 1 root root 0 Jul 28 19:24 device -> ../../../44d00000.wkup_m3 -rwxrwxrwx 1 root root 4096 Jul 28 19:24 firmware -r--r--r-- 1 root root 4096 Jul 28 19:24 name drwxr-xr-x 2 root root 0 Jul 28 19:24 power -rwxrwxrwx 1 root root 4096 Jul 28 19:47 state lrwxrwxrwx 1 root root 0 Jul 28 19:24 subsystem -> ../../../../../../../class/remoteproc -rw-r--r-- 1 root root 4096 Jul 28 19:24 uevent If you require any other info let me know and thank you!
programmer25 (121 rep)
Jul 28, 2021, 05:49 PM • Last activity: Mar 12, 2023, 06:02 PM
1 votes
1 answers
694 views
Qt statically linked application error: linuxfb plugin not found by the application
I have successfully developed a graphical Qt 5.15.2 application using Qt Creator with dynamically linked libraries. For various reasons I have determined static linking would be better for my application. I attempted to switch my development environment to use static libraries instead of dynamic. My...
I have successfully developed a graphical Qt 5.15.2 application using Qt Creator with dynamically linked libraries. For various reasons I have determined static linking would be better for my application. I attempted to switch my development environment to use static libraries instead of dynamic. My application built with no errors, but when I deployed my application to a development board (a BeagleBone Black running Debian 11.5), I got the following error:
qt.qpa.plugin: Could not find the Qt platform plugin "linuxfb" in ""
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
I passed in a -platform linuxfb command line argument, I built my own static Qt libraries, I added CONFIG += static to my .pro file, and I am using the static libraries in Qt Creator. Is there something special I need to do to get the linuxfb library/plugin to link? Any insight into how I can resolve this would be greatly appreciated.
amyers (61 rep)
Nov 11, 2022, 03:38 PM • Last activity: Nov 14, 2022, 01:32 PM
1 votes
1 answers
937 views
Error when installing package "crontab" on Beaglebone Black (Debian Buster)
I am working on a project regarding autorunning a pythonscript on boot, on a Beaglebone Black Rev. C, running BeagleBoard.org Debian Buster IoT Image 2020-04-06. I am trying to follow the first part of this tutorial (I will describe the steps below): https://www.engineersgarage.com/autorun-python-sc...
I am working on a project regarding autorunning a pythonscript on boot, on a Beaglebone Black Rev. C, running BeagleBoard.org Debian Buster IoT Image 2020-04-06. I am trying to follow the first part of this tutorial (I will describe the steps below): https://www.engineersgarage.com/autorun-python-script-on-beaglebone-black-boot-part-14-15/ The steps proposed in the turorial are: 1. SSH into the machine through PC 2. Install crontab using the command sudo apt-get install crontab 3. Open the crontab and edit using crontab –e 4. Add the line @reboot sudo python /PATH/TO/SCRIPT/PYTHONSCRIPT.py & From a screenshot in the tutorial, it seems that crontab should be installed in the same folder as where the python script is located. Here is what I experienced when I tried to follow the steps: Installing crontab, returned an error:
debian@beaglebone:/media/card$ cd /media/card/Tests
debian@beaglebone:/media/card/Tests$ sudo apt-get install crontab
[sudo] password for debian:
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package crontab
There is a crontab file in the etc-folder. When listing the installed applications, using apt list --installed, I find the line below on the list: cron/oldstable,now 3.0pl1-134+deb10u1 armhf [installed] Also, perhaps I should create the cron job from the etc folder? Would there be any downsides to that? My project is located in a folder located on an SD Card, although I have set it up so I can write to it. Does this complicate the operation? (Please tell me if I need to provide further information - I will of course be happy to do so.)
EnTekker (11 rep)
Nov 7, 2022, 03:09 PM • Last activity: Nov 7, 2022, 05:19 PM
2 votes
2 answers
228 views
U-Boot errors when trying to enable Falcon mode on BeagleBone Black
I have been having trouble enabling Falcon mode on the BeagleBone Black. I have a working U-Boot (v2019.04) and Linux (Debian 11.5, kernel v5.15.65-bone-rt-r30), but I have been unsuccessful thus far in enabling Falcon mode. There are several errors I have come across. The first is when I attempt to...
I have been having trouble enabling Falcon mode on the BeagleBone Black. I have a working U-Boot (v2019.04) and Linux (Debian 11.5, kernel v5.15.65-bone-rt-r30), but I have been unsuccessful thus far in enabling Falcon mode. There are several errors I have come across. The first is when I attempt to save the environment:
=> saveenv
Saving Environment to EXT4...
** Unable to use mmc 0:1 for saveenv **
Failed (1)
The second is when I try to export the SPL. It correctly reads the uImage header:
=> spl export fdt ${loadaddr} - ${fdtaddr}
## Booting kernel from Legacy Image at 82000000 ...
   Image Name:   Linux kernel
   Created:      2022-10-26  17:38:41 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    9880064 Bytes = 9.4 MiB
   Load Address: 80008000
   Entry Point:  80008000
But then it has a checksum error and doesn’t finish the process:
Verifying Checksum ... Bad Data CRC
ERROR: can't get kernel image!
   XIP Invalid Image ... OK
data abort
This is my full U-Boot console log:
CPU  : AM335X-GP rev 2.1
I2C:   ready
DRAM:  512 MiB
No match for driver 'omap_hsmmc'
No match for driver 'omap_hsmmc'
Some drivers were not found
Reset Source: Global external warm reset has occurred.
Reset Source: Global warm SW reset has occurred.
Reset Source: Power-on reset has occurred.
RTC 32KCLK Source: External.
MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
Loading Environment from EXT4...
** Unable to use mmc 0:1 for loading the env **
Board: BeagleBone Black
 not set. Validating first E-fuse MAC
BeagleBone Black:
Model: BeagleBone Black Industrial:
BeagleBone Cape EEPROM: no EEPROM at address: 0x54
BeagleBone Cape EEPROM: no EEPROM at address: 0x55
BeagleBone Cape EEPROM: no EEPROM at address: 0x56
BeagleBone Cape EEPROM: no EEPROM at address: 0x57
Net:   eth0: MII MODE
cpsw, usb_ether
Press SPACE to abort autoboot in 2 seconds
=>
=> setenv args_mmc 'setenv bootargs console=${console} ${optargs} root=/dev/mmcblk0p1 ro rootfstype=${mmcrootfstype}'
=> setenv loadfdt 'mmc read ${fdtaddr} 80 180'
=> setenv loadimage 'mmc read ${loadaddr} 900 2000'
=> setenv bootcmd 'run args_mmc; run loadfdt; run loadimage; bootm ${loadaddr} - ${fdtaddr}'
=> saveenv
Saving Environment to EXT4...
** Unable to use mmc 0:1 for saveenv **
Failed (1)
=> run args_mmc
=> run loadimage

MMC read: dev # 0, block # 2304, count 8192 ... 8192 blocks read: OK
=> run loadfdt

MMC read: dev # 0, block # 128, count 384 ... 384 blocks read: OK
=> spl export fdt ${loadaddr} - ${fdtaddr}
## Booting kernel from Legacy Image at 82000000 ...
   Image Name:   Linux kernel
   Created:      2022-10-26  17:38:41 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    9880064 Bytes = 9.4 MiB
   Load Address: 80008000
   Entry Point:  80008000
   Verifying Checksum ... Bad Data CRC
ERROR: can't get kernel image!
   XIP Invalid Image ... OK
data abort
pc : []          lr : []
reloc pc : []    lr : []
sp : 9df38b88  ip : 00000000     fp : 00000006
r10: 00000003  r9 : 9df38eb8     r8 : 9df38c6c
r7 : 00000000  r6 : 9ffc0238     r5 : 00000000  r4 : 00000000
r3 : 00000020  r2 : 00000000     r1 : 00000000  r0 : 00000000
Flags: Nzcv  IRQs off  FIQs on  Mode SVC_32
Code: f7fe2000 2800fc91 e7f4d0ed 9ff9f6a8 (4a106803)
Resetting CPU ...

resetting ...
I am following the tutorial https://embetrix.com/2017/05/07/fast-boot-linux-with-u-boot-falcon-mode/ (except that I am compiling everything on an Ubuntu server and writing the SD card directly from the BeagleBone Black in Debian, so I skip the section with the five “part” commands in Yocto–hopefully that’s not a problem), so it’s possible there is an error in the tutorial or in my environment in some way. Perhaps there is a timeout issue when reading the kernel, or my device tree file is wrong? I created the uImage from a working zImage, and the uImage header is being read appropriately, so I’m not sure what the issue is. Any help would be greatly appreciated. EDIT: At the suggestion below I changed the config to no longer use the EXT4 filesystem. My environment variables now save, which is great! Unfortunately the kernel checksum problem still persists. My current U-Boot log is below:
U-Boot SPL 2022.04 (Nov 03 2022 - 11:40:28 -0400)
Trying to boot from MMC2


U-Boot 2022.04 (Nov 03 2022 - 11:40:28 -0400)

CPU : AM335X-GP rev 2.1
Model: TI AM335x BeagleBone Black
DRAM: 512 MiB
Reset Source: Power-on reset has occurred.
RTC 32KCLK Source: External.
Core: 150 devices, 14 uclasses, devicetree: separate
WDT: Started wdt@44e35000 with servicing (60s timeout)
MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
Loading Environment from MMC... *** Warning - bad CRC, using default environment

Board: BeagleBone Black
 not set. Validating first E-fuse MAC
BeagleBone Black:
Model: BeagleBone Black Industrial:
BeagleBone Cape EEPROM: no EEPROM at address: 0x54
BeagleBone Cape EEPROM: no EEPROM at address: 0x55
BeagleBone Cape EEPROM: no EEPROM at address: 0x56
BeagleBone Cape EEPROM: no EEPROM at address: 0x57
Net: Could not get PHY for ethernet@4a100000: addr 0
eth2: ethernet@4a100000, eth3: usb_ether
Press SPACE to abort autoboot in 0 seconds
=> setenv args_mmc 'setenv bootargs console=${console} ${optargs} root=/dev/mmcblk0p1 ro rootfstype=${mmcrootfstype}'
=> setenv loadfdt 'mmc read ${fdtaddr} 80 180'
=> setenv loadimage 'mmc read ${loadaddr} 900 2000'
=> setenv bootcmd 'run args_mmc; run loadfdt; run loadimage; bootm ${loadaddr} - ${fdtaddr}'
=> saveenv
Saving Environment to MMC... Writing to redundant MMC(0)... OK
=> run args_mmc
=> run loadimage

MMC read: dev # 0, block # 2304, count 8192 ... 8192 blocks read: OK
=> run loadfdt

MMC read: dev # 0, block # 128, count 384 ... 384 blocks read: OK
=> spl export fdt ${loadaddr} - ${fdtaddr}
## Booting kernel from Legacy Image at 82000000 ...
Image Name: Linux kernel
Created: 2022-10-26 17:38:41 UTC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 9880064 Bytes = 9.4 MiB
Load Address: 80008000
Entry Point: 80008000
Verifying Checksum ... Bad Data CRC
ERROR: can't get kernel image!
XIP Invalid Image
data abort
pc : [] lr : []
reloc pc : [] lr : []
sp : 9df30e08 ip : 00000000 fp : 00000020
r10: 00000003 r9 : 9df45eb0 r8 : 9df30f04
r7 : 00000000 r6 : 9ffe3b1c r5 : 00000000 r4 : 00000000
r3 : edfe0dd0 r2 : 00000003 r1 : 00000000 r0 : 00000000
Flags: nzCv IRQs off FIQs on Mode SVC_32 (T)
Code: bfef 0000 b510 4b24 (6801) 4602
Resetting CPU ...

resetting ...
amyers (61 rep)
Oct 31, 2022, 12:54 PM • Last activity: Nov 4, 2022, 05:10 PM
0 votes
0 answers
974 views
iostat returns disk utilization greater than 100% while profiling a Beaglebone Black board
I need to profile the performance of software running on a BeagleBone Black (BBB). The BBB has an ARM Cortex-A8 up to 1GHz frequency, 512MB RAM, and 4GB eMMC onboard flash storage. You can find more information here: https://beagleboard.org/black The BBB runs Debian bullseye booted from a 14GB Micro...
I need to profile the performance of software running on a BeagleBone Black (BBB). The BBB has an ARM Cortex-A8 up to 1GHz frequency, 512MB RAM, and 4GB eMMC onboard flash storage. You can find more information here: https://beagleboard.org/black The BBB runs Debian bullseye booted from a 14GB MicroSD: debian@BeagleBone:~$ uname -a Linux BeagleBone 5.10.109-ti-r45 #1bullseye SMP PREEMPT Fri May 6 16:59:02 UTC 2022 armv7l GNU/Linux ## Problem As first trial, I'm running in parallel iostat with dd: dd if=/dev/urandom of=~debian/ddtest/200MBfile bs=1M count=200 & iostat -xdz 1 20 I don't understand why iostat returns utilization values greater then 100%. I'm getting the metrics each second specifying 1 as argument in the command line. This is an excerpt of what I see in the terminal: Device r/s rkB/s rrqm/s %rrqm r_await rareq-sz w/s wkB/s wrqm/s %wrqm w_await wareq-sz d/s dkB/s drqm/s %drqm d_await dareq-sz f/s f_await aqu-sz %util mmcblk0 0.00 0.00 0.00 0.00 0.00 0.00 18.00 9216.00 0.00 0.00 1062.00 512.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 19.12 92.80 Device r/s rkB/s rrqm/s %rrqm r_await rareq-sz w/s wkB/s wrqm/s %wrqm w_await wareq-sz d/s dkB/s drqm/s %drqm d_await dareq-sz f/s f_await aqu-sz %util mmcblk0 0.00 0.00 0.00 0.00 0.00 0.00 16.00 8192.00 7.00 30.43 2058.25 512.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 32.93 101.20 Device r/s rkB/s rrqm/s %rrqm r_await rareq-sz w/s wkB/s wrqm/s %wrqm w_await wareq-sz d/s dkB/s drqm/s %drqm d_await dareq-sz f/s f_await aqu-sz %util mmcblk0 0.00 0.00 0.00 0.00 0.00 0.00 25.00 12800.00 0.00 0.00 2295.64 512.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 57.39 103.60 Device r/s rkB/s rrqm/s %rrqm r_await rareq-sz w/s wkB/s wrqm/s %wrqm w_await wareq-sz d/s dkB/s drqm/s %drqm d_await dareq-sz f/s f_await aqu-sz %util mmcblk0 0.00 0.00 0.00 0.00 0.00 0.00 33.00 15908.00 0.00 0.00 1136.58 482.06 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 37.51 89.60 mmcblk0 is the name of the 14GB memory (as stated by lsblk). I downloaded sysstat, namely the package including iostat, directly from https://packages.debian.org/stable/sysstat and installed the version 12.5.2-2: `sudo apt list | grep sysstat sysstat/stable,now 12.5.2-2 armhf [residual-config]` I checked the source code of sysstat and I saw that the utilization is calculated at line 381 of rd_stats.c: xds→util = S_VALUE(spd→tot_ticks, sdc→tot_ticks, itc); S_VALUE is a MACRO defined at line 154 of common.h: #define S_VALUE(m,n,p) (((double) ((n) - (m))) / (p) * 100) Each second iostat reads the ms spent doing I/O from /proc/diskstats. The variable sdc->tot_ticks represents the last value read, sdp->tot_ticks the previous sampled value, while itc is the sampling interval we set from the command line (i.e., one second). I can't understand why iostat returns values greater than 100%. I noticed that the time spent doing I/O (sdc->tot_ticks - sdp->tot_ticks) is often greater than itc. My guess is that iostat performs disk operations, that dd is preempted by the scheduler between two /proc/diskstat sampling or there are some processes running in parallel. ## Experiments I did some experiments, but I'm still don't get the source of the problem. With iotop, I checked what processes were running concurrently with dd. I found a few journaling processes, i.e., jb2 and systemdjournald. They do not affect disk utilization, since the time indicated at the 10th field of /proc/diskstats records the time queues and disks were busy, taking concurrency into account (https://serverfault.com/questions/862334/interpreting-read-write-and-total-io-time-in-proc-diskstats) . I made a trivial bash script (attached to this paragraph) that mimics the behavior of iostat. It retrieves the 10th field from /proc/diskstats and calculates the utilization given an observation time. I set an observation period of 1 second, the same as my first attempt with iostat, and obtained a utilization of more than 100%. I believe that iostat is not the problem, as confirmed by this issue: https://github.com/sysstat/sysstat/issues/73#issuecomment-860158402 Using the bash script, I got even higher values than those received from iostat. I believe this is due to /proc/diskstats readings or BBB performance extending the execution time of the script (or iostat).
#!/bin/bash
for (( i=0; i<$2; i++ ));
do
  value=$(cat "/proc/diskstats" | awk '/ mmcblk0 / {print $13}')
  if [ ! -z "$prev" ]; then
    bc -l <<< "scale=4;(($value - $prev)/($1*1000))*100"
  fi
  sleep $1
  prev=$value
done
I observed that running dd with the oflag=sync option decreases disk utilization. Also, journaling processes are not executed at the same time as dd but after it. This flag blocks the writing process until it is actually written to the device. This is the output of perf recording who makes block I/O requests: sudo perf record -e block:block_rq_insert -a dd if=/de/urandom of=~debian/ddtest/500MBfile bs=1M count=200 without oflag=sync without <code class=oflag=sync" class="img-fluid rounded" style="max-width: 100%; height: auto; margin: 10px 0;" loading="lazy"> with oflag=sync with <code class=oflag=sync" class="img-fluid rounded" style="max-width: 100%; height: auto; margin: 10px 0;" loading="lazy"> I'm missing how the kernel updates /proc/diskstats. I hope someone more experienced than me on the platform can help me understand the problem. Thank you.
vnzstc (1 rep)
Jul 8, 2022, 06:31 PM • Last activity: Jul 18, 2022, 12:25 PM
0 votes
0 answers
113 views
How to reboot my linux multiple times and store my dmesg log at each boot?
I'm using beaglebone board, I just want to measure its boot time multiple times, so for that, I'm thinking to implement one script which reboots after every boot and stores dmesg data. Can anyone give an idea on how to do it?
I'm using beaglebone board, I just want to measure its boot time multiple times, so for that, I'm thinking to implement one script which reboots after every boot and stores dmesg data. Can anyone give an idea on how to do it?
subbu Subhash (1 rep)
Jun 15, 2022, 02:54 AM
1 votes
0 answers
400 views
Facing issue in ssh for USB0 Interface buildroot
I am working on building Custom Os using Buildroot for beaglebone black. **Configurations:** Linux kernel version 4.19.29 I have enabled the Dropbear for SSH. The Script to load the drivers at boot time is: ``` #!/bin/sh # set -e GADGET_DIR=/config/usb_gadget/g1 OLDPWD=$(pwd) printf "Starting USB ga...
I am working on building Custom Os using Buildroot for beaglebone black. **Configurations:** Linux kernel version 4.19.29 I have enabled the Dropbear for SSH. The Script to load the drivers at boot time is:
#!/bin/sh

# set -e

GADGET_DIR=/config/usb_gadget/g1
OLDPWD=$(pwd)

printf "Starting USB gadget: "

modprobe cppi41
modprobe musb-am335x
modprobe musb-dsps
modprobe phy-am335x
modprobe libcomposite


mkdir /config
mount -t configfs none /config
mkdir ${GADGET_DIR}
cd ${GADGET_DIR}
echo "0x05e8" > idVendor
echo "0xa4a1" > idProduct
mkdir strings/0x409
echo "serialnumber" > strings/0x409/serialnumber
echo "manufacturer" > strings/0x409/manufacturer
echo "ECM Gadget" > strings/0x409/product
mkdir functions/ecm.usb0
mkdir configs/c.1
mkdir configs/c.1/strings/0x409
echo Conf 1 > configs/c.1/strings/0x409/configuration
echo 120 > configs/c.1/MaxPower
echo "06:32:9b:a9:9d:a5" > functions/ecm.usb0/host_addr
ln -s functions/ecm.usb0 configs/c.1
echo musb-hdrc.0 > UDC
cd ${OLDPWD}

echo "OK"
I have added the following in /etc/network/interfaces to assign an IP address and enable uplink for usb0 interface:
auto usb0
iface usb0 inet static
      address *.*.*.*
      netmask *.*.*.*
      network *.*.*.*
      gateway *.*.*.*
"*" represents the ipaddress ( This is just a demo example I have added the ip address in the implementation. ) My lsmod output:
Module                  Size  Used by    Not tainted
usb_f_ecm              16384  2
u_ether                24576  1 usb_f_ecm
libcomposite           61440 10 usb_f_ecm
phy_am335x             16384  2
phy_am335x_control     16384  1 phy_am335x
phy_generic            16384  1 phy_am335x
musb_dsps              20480  0
musb_hdrc             135168  1 musb_dsps
udc_core               53248  4 usb_f_ecm,u_ether,libcomposite,musb_hdrc
usbcore               217088  1 musb_hdrc
usb_common             16384  6 libcomposite,phy_am335x,musb_dsps,musb_hdrc,udc_core,usbcore
musb_am335x            16384  0 [permanent]
cppi41                 20480 60
Still, I cannot SSH using the USB Interface. **Question:** Am I missing any drivers or configurations required to enable SSH?
Sharvin26 (307 rep)
Apr 12, 2019, 10:02 AM • Last activity: May 19, 2022, 05:16 PM
0 votes
1 answers
865 views
How to install gcc-5 on Debian 8.10?
I am trying to install gcc-5 on debian 8.10 on a beaglebone green. I have looked at many threads, of which the following was the most promising. https://unix.stackexchange.com/questions/284817/how-to-install-gcc-5-on-debian-jessie-8-1 When I try to follow the instruction of echo "deb http://ftp.us.d...
I am trying to install gcc-5 on debian 8.10 on a beaglebone green. I have looked at many threads, of which the following was the most promising. https://unix.stackexchange.com/questions/284817/how-to-install-gcc-5-on-debian-jessie-8-1 When I try to follow the instruction of echo "deb http://ftp.us.debian.org/debian unstable main contrib non-free" >> /etc/apt/sources.list.d/unstable.list I get an error, similarly when I try the same with sudo. If I elevate the user, using sudo su -, It seems I am successful. debian@beaglebone:~$ echo "deb http://ftp.us.debian.org/debian unstable main contrib non-free" >> /etc/apt/sources.list.d/unstable.list -bash: /etc/apt/sources.list.d/unstable.list: Permission denied debian@beaglebone:~$ sudo echo "deb http://ftp.us.debian.org/debian unstable main contrib non-free" >> /etc/apt/sources.list.d/unstable.list -bash: /etc/apt/sources.list.d/unstable.list: Permission denied debian@beaglebone:~$ sudo su - root@beaglebone:~# echo "deb http://ftp.us.debian.org/debian unstable main contrib non-free" >> /etc/apt/sources.list.d/unstable.list root@beaglebone:~# cat /etc/apt/sources.list.d/unstable.list deb http://ftp.us.debian.org/debian unstable main contrib non-free root@beaglebone:~# exit logout debian@beaglebone:~$ sudo cat /etc/apt/sources.list.d/unstable.list deb http://ftp.us.debian.org/debian unstable main contrib non-free debian@beaglebone:~$ Continuing, sudo apt-get update all seems fine. debian@beaglebone:~$ sudo apt-get update Ign http://deb.debian.org jessie InRelease Hit http://repos.rcn-ee.com jessie InRelease Hit http://deb.debian.org jessie-updates InRelease Hit http://deb.debian.org jessie/updates InRelease Hit https://deb.nodesource.com jessie InRelease Hit https://deb.nodesource.com jessie InRelease Hit http://ftp.us.debian.org unstable InRelease Hit http://deb.debian.org jessie Release.gpg Hit http://deb.debian.org jessie Release Get:1 http://repos.rcn-ee.com jessie/main armhf Packages [987 kB] Get:2 http://deb.debian.org jessie-updates/main armhf Packages [20 B] Get:3 http://deb.debian.org jessie-updates/contrib armhf Packages [20 B] Get:4 https://deb.nodesource.com jessie/main armhf Packages [980 B] Get:5 http://deb.debian.org jessie-updates/non-free armhf Packages [20 B] Get:6 http://deb.debian.org jessie/updates/main armhf Packages [961 kB] Get:7 https://deb.nodesource.com jessie/main Sources [20 B] Get:8 https://deb.nodesource.com jessie/main armhf Packages [765 B] Get:9 http://ftp.us.debian.org unstable/main armhf Packages [11.9 MB] Get:10 http://deb.debian.org jessie/updates/contrib armhf Packages [994 B] Get:11 http://deb.debian.org jessie/updates/non-free armhf Packages [4,393 B] Get:12 http://deb.debian.org jessie/main armhf Packages [8,898 kB] Get:13 http://ftp.us.debian.org unstable/contrib armhf Packages [61.4 kB] Get:14 http://ftp.us.debian.org unstable/non-free armhf Packages [78.7 kB] Get:15 http://deb.debian.org jessie/contrib armhf Packages [44.3 kB] Get:16 http://deb.debian.org jessie/non-free armhf Packages [74.9 kB] Fetched 23.0 MB in 1min 22s (281 kB/s) Reading package lists... Done debian@beaglebone:~$ **But when I try the last instruction of:** apt-get install -t unstable gcc-5 It does not work: as default user: debian@beaglebone:~$ sudo apt-get install -t unstable gcc-5 Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package gcc-5 debian@beaglebone:~$ The same happens if I elevate user: root@beaglebone:~# apt-get install -t unstable gcc-5 Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package gcc-5 root@beaglebone:~# I am using this kernel image [Debian 8.10 2018-02-01 4GB SD SeeedStudio IoT](https://debian.beagleboard.org/images/bone-debian-8.10-seeed-iot-armhf-2018-02-01-4gb.img.xz) I need to run this specific image because it is the most recent image that supports the HDMI Cape . I am trying to run a node.js server as well as C/C++ code. Being unable to run the node.js server and the app boiled down to not having the correct version of gcc because: whenever I run node server.js, I get the following error: My host has gcc version 9.4, and node js version 10.19 Yes I ran, sudo npm cache clean -f sudo npm install -g n sudo n stable on both host and target. I also followed the debian 8 guide to install different versions of nodejs, the same issue persists. https://www.digitalocean.com/community/tutorials/how-to-install-node-js-on-debian-8 Any help would be appreciated.
big friendly giant (9 rep)
Apr 10, 2022, 08:56 AM • Last activity: Apr 11, 2022, 01:31 PM
0 votes
1 answers
377 views
Unable to bring up the CANbus interface on a Beaglebone black
To automatically bring up the interface on boot, I edited the `/etc/network/interfaces` file as follows: `debian@beaglebone:~$ sudo nano /etc/network/interfaces` And added the following at the end of the file: ```console auto can1 iface can1 inet manual pre-up /sbin/ip link set can1 type can bitrate...
To automatically bring up the interface on boot, I edited the /etc/network/interfaces file as follows: debian@beaglebone:~$ sudo nano /etc/network/interfaces And added the following at the end of the file:
auto can1
iface can1 inet manual
    pre-up /sbin/ip link set can1 type can bitrate 250000 #triple-sampling on restart-ms 100
    up /sbin/ifconfig can1 up
    down /sbin/ifconfig can1 down
But when I reboot, I still need to do $ sudo /sbin/ip link set can1 up type can bitrate 250000 in order for the $ candump can1 to work. What should I do? [UPDATE] In case it makes a difference, here is my whole /etc/network/interfaces/`
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
#auto eth0
#iface eth0 inet dhcp
# Example to keep MAC address between reboots
#hwaddress ether DE:AD:BE:EF:CA:FE

##connman: ethX static config
#connmanctl services
#Using the appropriate ethernet service, tell connman to setup a static IP address for that service:
#sudo connmanctl config  --ipv4 manual    --nameservers 

##connman: WiFi
#
#connmanctl
#connmanctl> tether wifi off
#connmanctl> enable wifi
#connmanctl> scan wifi
#connmanctl> services
#connmanctl> agent on
#connmanctl> connect wifi_*_managed_psk
#connmanctl> quit

console


auto can1
iface can1 inet manual
    pre-up /sbin/ip link set can1 type can bitrate 250000
    up /sbin/ifconfig can1 up
    down /sbin/ifconfig can1 down
[UPDATE] My /boot/uEnv.txt
#Docs: http://elinux.org/Beagleboard:U-boot_partitioning_layout_2.0 

uname_r=4.14.108-ti-r131
#uuid=
#dtb=am335x-boneblack-emmc-overlay.dtb

###U-Boot Overlays###
###Documentation: http://elinux.org/Beagleboard:BeagleBoneBlack_Debian#U-Boot_Overlays 
###Master Enable
enable_uboot_overlays=1
###
###Overide capes with eeprom
#uboot_overlay_addr0=/lib/firmware/BB-UART1-00A0.dtbo
uboot_overlay_addr1=/lib/firmware/BB-UART2-00A0.dtbo
#uboot_overlay_addr2=/lib/firmware/BB-UART4-RS485-00A0.dtbo
#uboot_overlay_addr3=/lib/firmware/BB-UART5-00A0.dtbo
###
###Custom Cape
#dtb_overlay=/lib/firmware/.dtbo
###
###Disable auto loading of virtual capes (emmc/video/wireless/adc)
disable_uboot_overlay_emmc=1
disable_uboot_overlay_video=1
disable_uboot_overlay_audio=1
disable_uboot_overlay_wireless=1
disable_uboot_overlay_adc=1
###
###PRUSS OPTIONS
###pru_rproc (4.14.x-ti kernel)
uboot_overlay_pru=/lib/firmware/AM335X-PRU-RPROC-4-14-TI-00A0.dtbo
###pru_rproc (4.19.x-ti kernel)
#uboot_overlay_pru=/lib/firmware/AM335X-PRU-RPROC-4-19-TI-00A0.dtbo
###pru_uio (4.14.x-ti, 4.19.x-ti & mainline/bone kernel)
#uboot_overlay_pru=/lib/firmware/AM335X-PRU-UIO-00A0.dtbo
###
###Cape Universal Enable
enable_uboot_cape_universal=1
###
###Debug: disable uboot autoload of Cape
#disable_uboot_overlay_addr0=1
#disable_uboot_overlay_addr1=1
#disable_uboot_overlay_addr2=1
#disable_uboot_overlay_addr3=1
###
###U-Boot fdt tweaks... (60000 = 384KB)
#uboot_fdt_buffer=0x60000
###U-Boot Overlays###

cmdline=coherent_pool=1M net.ifnames=0 lpj=1990656 rng_core.default_quality=100 quiet

#In the event of edid real failures, uncomment this next line:
#cmdline=coherent_pool=1M net.ifnames=0 lpj=1990656 rng_core.default_quality=100 quiet video=HDMI-A-1:1024x768@60e

##enable Generic eMMC Flasher:
##make sure, these tools are installed: dosfstools rsync
#cmdline=init=/opt/scripts/tools/eMMC/init-eMMC-flasher-v3.sh
St&#233;phane de Luca (173 rep)
Apr 8, 2022, 07:36 AM • Last activity: Apr 8, 2022, 08:50 AM
Showing page 1 of 20 total questions