Sample Header Ad - 728x90

Unix & Linux Stack Exchange

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

Latest Questions

5 votes
1 answers
4831 views
How do I properly add Chromium to my Yocto Project Linux distribution
Built [**Yocto**][1] (Poky fido branch) Linux distro for **Raspberry Pi 2** following this excellent tutorial [Part 1](http://www.embarcados.com.br/raspberry-pi-2-qt5-yocto-parte-1/). Now trying to run Chromium. Added [meta-browser](http://layers.openembedded.org/layerindex/branch/master/layer/meta-...
Built **Yocto** (Poky fido branch) Linux distro for **Raspberry Pi 2** following this excellent tutorial [Part 1](http://www.embarcados.com.br/raspberry-pi-2-qt5-yocto-parte-1/). Now trying to run Chromium. Added [meta-browser](http://layers.openembedded.org/layerindex/branch/master/layer/meta-browser/) to my bblayers.conf Added chromium recipes to my .bb image file. Was able to compile and build my image but getting these errors when trying to run: root@raspberrypi2:/usr/bin/chromium# ./chrome [527:527:0624/195537:FATAL:browser_main_loop.cc(161)] Running without the SUID sandbox! See https://code.google.com/p/chromium/wiki/LinuxSUIDSandboxDevelopment for more information on developing with the sandbox on. Aborted ### --no-sandbox root@raspberrypi2:/usr/bin/chromium# ./chrome --no-sandbox [528:528:0624/195641:ERROR:browser_main_loop.cc(164)] Running without the SUID sandbox! See https://code.google.com/p/chromium/wiki/LinuxSUIDSandboxDevelopment for more information on developing with the sandbox on. [528:528:0624/195641:ERROR:browser_main_loop.cc(210)] Gtk: cannot open display: root@raspberrypi2:/usr/bin/chromium# [530:530:0624/195641:ERROR:image_metadata_extractor.cc(111)] Couldn't load libexif. [530:530:0100/000000:ERROR:zygote_linux.cc(587)] write: Broken pipe ^C ### DISPLAY=:0.0 root@raspberrypi2:/usr/bin/chromium# export DISPLAY=:0.0 && ./chrome --no-sandbox [531:531:0624/195652:ERROR:browser_main_loop.cc(164)] Running without the SUID sandbox! See https://code.google.com/p/chromium/wiki/LinuxSUIDSandboxDevelopment for more information on developing with the sandbox on. [531:531:0624/195652:ERROR:browser_main_loop.cc(210)] Gtk: cannot open display: :0.0 root@raspberrypi2:/usr/bin/chromium# [533:533:0624/195652:ERROR:image_metadata_extractor.cc(111)] Couldn't load libexif. [533:533:0100/000000:ERROR:zygote_linux.cc(587)] write: Broken pipe ^C ### --use-gl=egl > *I'd be very interested to have it working with hardware acceleration* root@raspberrypi2:/usr/bin/chromium# export DISPLAY=:0.0 && ./chrome --no-sandbox --use-gl=egl [534:534:0624/195901:ERROR:browser_main_loop.cc(164)] Running without the SUID sandbox! See https://code.google.com/p/chromium/wiki/LinuxSUIDSandboxDevelopment for more information on developing with the sandbox on. [534:534:0624/195901:ERROR:browser_main_loop.cc(210)] Gtk: cannot open display: :0.0 root@raspberrypi2:/usr/bin/chromium# [536:536:0624/195901:ERROR:image_metadata_extractor.cc(111)] Couldn't load libexif. [536:536:0100/000000:ERROR:zygote_linux.cc(587)] write: Broken pipe ^C Any pointers are welcome.
zabumba (954 rep)
Jun 24, 2015, 10:00 PM • Last activity: Jul 29, 2025, 03:08 PM
3 votes
2 answers
8820 views
Java 21 binaries fail to execute on Raspberry Pi OS 64-bit (aarch64)
I'm not able to install Java 21 on Raspberry Pi 5. I downloaded ARM versions from OpenJDK and Oracle, but neither works for me. When typing `./java`, it prints: `No such file or directory` (*I'm sure I'm in the right directory.*) I cannot find any repository I can use to install Java 21, and I need...
I'm not able to install Java 21 on Raspberry Pi 5. I downloaded ARM versions from OpenJDK and Oracle, but neither works for me. When typing ./java, it prints: No such file or directory (*I'm sure I'm in the right directory.*) I cannot find any repository I can use to install Java 21, and I need a newer version of Java than 17 for my projects written in Java 21. file ./java output:
./java: ELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV),
dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, for
GNU/Linux 3.7.0, not stripped
ldd ./java output:
java: not a dynamic executable
Do you have any idea how I can install Java 21 on Raspberry Pi 5? How to reproduce: * **OpenJDK**: From the website ([https://jdk.java.net/21/](https://jdk.java.net/21/)) I downloaded the version for Linux / AArch64, unpacked it, and tried to run the java executable from the unpacked bin directory using the java command inside that directory. * **Oracle JDK**: I downloaded it from the website ([https://www.oracle.com/pl/java/technologies/downloads/](https://www.oracle.com/pl/java/technologies/downloads/)) , version for ARM64 Compressed Archive, and did exactly as with the OpenJDK version. The distribution is the default for Raspberry Pi 5: Raspberry Pi OS 64-bit (based on Debian). Output for find / -name java -type f -exec ls -l {} \; 2>/dev/null:
bloodlex@raspberrypi:~/Download/jdk-21.0.1/bin $ find / -name java -type f -exec ls -l {} \; 2>/dev/null
-rwxr-xr-x 1 bloodlex bloodlex 70792 10-05 15:44 /home/bloodlex/Download/jdk-21.0.1/bin/java
Output for file /bin/ls:
bloodlex@raspberrypi:~/Download/jdk-21.0.1/bin $ file /bin/ls
/bin/ls: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3,
BuildID[sha1]=73a3ba02d9f4bf3632cbebe139c6a844ca5076d3, for GNU/Linux 3.2.0, stripped
Output for uname -a:
bloodlex@raspberrypi:~/Download/jdk-21.0.1/bin $ uname -a
Linux raspberrypi 6.1.0-rpi6-rpi-v8 #1 SMP PREEMPT Debian 1:6.1.58-1+rpt2 (2023-10-27) aarch64 GNU/Linux
Bloodlex (131 rep)
Nov 27, 2023, 02:37 PM • Last activity: Jul 22, 2025, 06:04 PM
1 votes
2 answers
4006 views
When uname reports aarch64 instead of arm64v8. Willl docker-ce still pull arm64v8 images
docker-ce now supports multiple architecture base images but looks for the tag arm64v8 instead of aarch64 (which is labelled as deprecated). Unfortunately my new ubuntu 18.04 host os uname reports aarch64. ` Linux nas 4.4.154-1122-rockchip-ayufan-g7859b9b904a9 #1 SMP Mon Oct 1 07:32:42 UTC 2018 aarc...
docker-ce now supports multiple architecture base images but looks for the tag arm64v8 instead of aarch64 (which is labelled as deprecated). Unfortunately my new ubuntu 18.04 host os uname reports aarch64. ` Linux nas 4.4.154-1122-rockchip-ayufan-g7859b9b904a9 #1 SMP Mon Oct 1 07:32:42 UTC 2018 aarch64 aarch64 aarch64 GNU/Linux ` So 1. Can one manually add/change the architecture tag in a already operational host? or 2. Will docker-ce pull the arm64v8 image even if the host os reports aarch64?
DKebler (302 rep)
Oct 22, 2018, 05:51 PM • Last activity: Jul 18, 2025, 10:08 PM
1 votes
2 answers
3392 views
Cross-compile libgpiod library and use it in my program
I am trying to cross-compile a program with the "gpiod" library. My host pc has Ubuntu 18.04 and the target platform I am cross-compiling for is a Board with IMX8X SOM. I found source code at https://variwiki.com/index.php?title=MX8_GPIO&release=RELEASE_DUNFELL_V1.3_VAR-SOM-MX8X and I wanted to comp...
I am trying to cross-compile a program with the "gpiod" library. My host pc has Ubuntu 18.04 and the target platform I am cross-compiling for is a Board with IMX8X SOM. I found source code at https://variwiki.com/index.php?title=MX8_GPIO&release=RELEASE_DUNFELL_V1.3_VAR-SOM-MX8X and I wanted to compile it, following the paragraph "2.2 libgpiod C Application". The OS used in my board is the "dunfell" distro compiled with Yocto. The cross-compiler I am using is also created as sdk withing the Yocto environments (aarch64-fslc-linux-gcc). When I compiled, I firstly obtained "fatal error: gpiod.h: No such file or directory" So, this library is not included by default in the provided toolchain. So I tried to install the (cross)library in my pc, following the instructions at https://www.beyondlogic.org/an-introduction-to-chardev-gpio-and-libgpiod-on-the-raspberry-pi/ , but it did not work. The second error I get is /opt/fslc-wayland/3.1/sysroots/x86_64-fslcsdk-linux/usr/libexec/aarch64-fslc-linux/gcc/aarch64-fslc-linux/9.3.0/real-ld: cannot find -lgpiod collect2: error: ld returned 1 exit status These are my compilation flags: CFLAGS = -Wall -I$(INCLUDE) --sysroot=${SDKTARGETSYSROOT} -Og -lgpiod I am new to this kind of issues and I hope I am making trivial mistakes. Thanks in advance if someone is able to help!
powermignolo (11 rep)
Dec 29, 2021, 11:56 AM • Last activity: Jul 15, 2025, 08:07 AM
2 votes
1 answers
2251 views
bettercap not working on kali linux
I've been attempting to perform an SSL strip MITM attack with my Rasberry pi 4B 4GB running kali Linux. after loading all the required modules in better cap and navigating to a website without HSTS on my target machine I'm not seeing the traffic show up much less the login credentials. Commands I'm...
I've been attempting to perform an SSL strip MITM attack with my Rasberry pi 4B 4GB running kali Linux. after loading all the required modules in better cap and navigating to a website without HSTS on my target machine I'm not seeing the traffic show up much less the login credentials. Commands I'm entering:
echo 1 > /proc/sys/net/ipv4/ip_forward ...
bettercap -iface wlan0 ...
set https.proxy.sslstrip true ...
https.proxy on ...
set arp.spoof.targets (Target IP) ...
arp.spoof on ...
net.sniff on ...
I should also mention that bettercap is frequently and continuously detecting and then losing new endpoints. I've tried navigating to the website on my target machine while it's detected the right endpoint and before it loses it to no avail. I've been able to use arpspoof and urlsnarf to successfully monitor HTTP traffic before in my MITM attack without SSL strip.
MichaelPV (93 rep)
Oct 26, 2019, 10:54 PM • Last activity: Jul 11, 2025, 02:10 PM
4 votes
1 answers
3161 views
How do I extract vmlinux from an ARM image?
I am trying to extract vmlinux from Ubuntu's netboot kernel used in the `armhf` architecture. The script `extract-vmlinux` returns extract-vmlinux: Cannot find vmlinux. It even fails when I try to use it on a normal x86 kernel. How can I extract vmlinux from this ARM vmlinuz?
I am trying to extract vmlinux from Ubuntu's netboot kernel used in the armhf architecture. The script extract-vmlinux returns extract-vmlinux: Cannot find vmlinux. It even fails when I try to use it on a normal x86 kernel. How can I extract vmlinux from this ARM vmlinuz?
Melab (4328 rep)
Mar 17, 2017, 09:52 PM • Last activity: Jun 24, 2025, 09:02 AM
1 votes
1 answers
1897 views
Adding multiple user accounts on different primary/secondary groups
I am trying to create several user accounts with different groups in an imx6 board. Currently, no users are created in the device. Hence, I see 1000:1000 as my default user:group ID. The scenario I need to implement is as follows: Create two groups: grp1, grp2 Create three users: A, B, C User A: pri...
I am trying to create several user accounts with different groups in an imx6 board. Currently, no users are created in the device. Hence, I see 1000:1000 as my default user:group ID. The scenario I need to implement is as follows: Create two groups: grp1, grp2 Create three users: A, B, C User A: primary group-grp1, User B: primary group-grp1, secondary group- grp2 User C: primary group-grp2 Also, these users should be able to communicate via message queues. Users (A & B) and (B & C) should be able to communicate via message queues. Users (A & C) should not be able to communicate. In a Server/Client program, I have already set mq_open file permissions as (S_IRWXU | S_IRWXG ), so that only users in the same group can be communicated. The steps I followed to create different users are: adduser abc This creates a user with uid:guid 1000:1000 in /etc/passwd abc:$1$SqakfDG7$cPlfYQT8YmkcvgzazVKvZ/:1000:1000:Linux User,,,:/home/abc:/bin/sh addgroup grp1 addgroup grp2 Above step creates two groups in /etc/group as below. grp1:x:1001: grp2:x:1002: Create user A,B with grp1, and C with grp2 adduser -G grp1 A adduser -G grp1 B adduser -G grp2 C This creates user A in /etc/passwd A:$1$E8MDq2ND$/qU4011IYRaisq7EfJh00/:1001:1001:Linux User,,,:/home/A:/bin/sh B:$1$l2iSdPAh$ggD5NQAC1nJzbVfNVO/Kk.:1002:1001:Linux User,,,:/home/B:/bin/sh C:$1$2Y6v67Wz$TYNxHBltTNeCDhAnnAFd3.:1003:1002:Linux User,,,:/home/C:/bin/sh And in /etc/group A:x:1003: B:x:1004: C:x:1005: As you can see users A and B has the same group id (grp1) (i.e. 1001), and my server/client program successfully run. **The issue is to add group B into the secondary group "grp2".** Typing "id A" "id B" and "id C" gives me: uid=1001(A) gid=1001(grp1) groups=1001(grp1) uid=1002(B) gid=1001(grp1) groups=1001(grp1) uid=1003(C) gid=1002(grp2) groups=1002(grp2) Tried adding user "B" to "grp2" using usermod command as explained in https://unix.stackexchange.com/questions/274200/primary-and-secondary-groups usermod -a -G grp2 B but "id B" doesn't change uid=1002(B) gid=1001(grp1) groups=1001(grp1) I even tried adding user "B" to groups grp1 and grp2 when creating it for the first time adduser -G grp1,grp2 B However, I get the following error. adduser: unknown group grp1,grp2 Any idea what could I have done wrong? Thanks alot!!
radar101 (11 rep)
Aug 9, 2017, 12:32 PM • Last activity: Jun 24, 2025, 12:01 AM
6 votes
1 answers
2522 views
Getting big endian linux build to boot on ARM with u-boot
I’m trying to make a big endian build of a linux distribution for ARM. Since I’m on Gentoo, cross-compiling couldn’t be easier. I’ve already built it all, but then got stuck with getting it/the kernel to boot. I’m targetting Cubieboard with AllWinner A10 CPU. As a bootloader I use u-boot. Since u-bo...
I’m trying to make a big endian build of a linux distribution for ARM. Since I’m on Gentoo, cross-compiling couldn’t be easier. I’ve already built it all, but then got stuck with getting it/the kernel to boot. I’m targetting Cubieboard with AllWinner A10 CPU. As a bootloader I use u-boot. Since u-boot doesn’t support big endian ARM, I patched it exactly before passing control to the kernel: diff -Naur u-boot-2016.01-1/arch/arm/lib/bootm.c u-boot-2016.01-2/arch/arm/lib/bootm.c --- u-boot-2016.01-1/arch/arm/lib/bootm.c 2016-01-12 15:06:54.000000000 +0100 +++ u-boot-2016.01-2/arch/arm/lib/bootm.c 2017-07-09 14:13:29.675865446 +0200 @@ -315,7 +315,16 @@ 0, machid, r2); } else #endif + { + { + unsigned long v; + __asm volatile ("mrc p15, 0, %0, c1, c0, 0\n\t" + "orr %0, %0, #(1 setenv bootargs console=tty0 console=ttyS0,115200 earlyprintk hdmi.audio=EDID:0 disp.screen0_output_mode=EDID:1280x800p60 root=PARTUUID=AC9D6C6F-01 rootwait panic=10 => ext2load mmc 0 0x48000000 boot/uimage 5025856 bytes read in 592 ms (8.1 MiB/s) => ext2load mmc 0 0x51000000 boot/sun4i-a10-cubieboard.dtb 28542 bytes read in 237 ms (117.2 KiB/s) => bootm 0x48000000 - 0x51000000 ## Booting kernel from Legacy Image at 48000000 ... Image Name: Linux-4.9.9-gentoo Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 5025792 Bytes = 4.8 MiB Load Address: 48000000 Entry Point: 48000000 Verifying Checksum ... OK ## Flattened Device Tree blob at 51000000 Booting using the fdt blob at 0x51000000 Loading Kernel Image ... OK Loading Device Tree to 49ff6000, end 49ffff7d ... OK Starting kernel ... And it just hangs there like this – no progress, no output, nothing. My question is, how to proceed from here/how to find out what is actually happening? Am I missing something, did I do anything wrong (or didn’t do something)? Some more things I tried, but without success: - word-swapping the kernel image (as APEX does) (resulted in undefined instruction on boot), - using compressed kernel image, - using legacy FEX file instead of FDT. ---------- Update 2017/07/21: I’ve been partly successful in solving my issue. I took the hint from Tom Rini’s comment and tried packing zImage into the uImage which made the kernel boot. With a custom init program (just a simple Hello World compiled either BE or LE) I confirmed the other Tom Rini’s suspicion: my original kernel was not big endian, but little. To fix this, I added the following two lines to the top of kernel’s .config: CONFIG_ARCH_SUPPORTS_BIG_ENDIAN=y CONFIG_CPU_BIG_ENDIAN=y I sourced my inspiration from a [how-to for Nvidia Jetson TK1](http://wiki.baserock.org/How_to_install_a_big-endian_Linux_system_to_NVIDIA_Jetson_TK1/) . I also added the following line to arch/arm/mach-sunxi/Kconfig at the end of A10 section: select ARCH_SUPPORTS_BIG_ENDIAN It turned out that this is enough to build and boot a big endian kernel as the kernel itself switches the CPU to big endian mode. However, it does so with setend instruction---its scope is only for the kernel itself, not for userspace (as link in Murray Jensen’s answer explains). I’m going to try: - jumping to kernel’s decompressor entry point via exception, or (if I fail) - patching the kernel so that it spawns processes into big endian settings (although I sort of smell a minefield there...).
xHire (61 rep)
Jul 16, 2017, 12:44 PM • Last activity: Jun 21, 2025, 06:04 PM
1 votes
1 answers
2275 views
Command not found when In chroot
Im currently Porting Arch Linux to My phone and I am trying to set up the rootfs properly - have it installed to an external scdard and am using busybox to chroot into it with busybox chroot /data/ local/mnt sh I can see pacman exists when I search for it: /usr/bin # type -a pacman returns /sbin/pac...
Im currently Porting Arch Linux to My phone and I am trying to set up the rootfs properly - have it installed to an external scdard and am using busybox to chroot into it with busybox chroot /data/ local/mnt sh I can see pacman exists when I search for it: /usr/bin # type -a pacman returns /sbin/pacman but whenever I try to install the base system with: pacman -S base-devel 1lightdm xorg-xinit xfce4 networkmanager --needed I get sh: pacman: not found
Bilal Ahmed (11 rep)
Mar 13, 2022, 10:57 PM • Last activity: Jun 16, 2025, 01:01 AM
0 votes
1 answers
2805 views
ARM cross-compiler not recognized in MX Linux during STM32 development
I am using MX Linux OS and trying to work with the STM32F103C8T6 MCU. Following the user manual *Beginning STM32* by Warren Gay, I successfully installed the Git clone of `stm32f103c8t6`, `libopencm3`, and `FreeRTOS` as per the manual. When I downloaded and unzipped the ARM cross-compiler, the files...
I am using MX Linux OS and trying to work with the STM32F103C8T6 MCU. Following the user manual *Beginning STM32* by Warren Gay, I successfully installed the Git clone of stm32f103c8t6, libopencm3, and FreeRTOS as per the manual. When I downloaded and unzipped the ARM cross-compiler, the files were saved under the /opt/gcc-arm folder. Upon typing arm-none-eabi-gcc --version, I encountered a "command not found" error. Upon further investigation, I typed:
$ ls -l /opt/gcc-arm/bin
It listed arm-none-eabi-gcc in the following format (in green):
-rwxr-xr-x 2 1001 1001  1296976 Nov 24  2020 arm-none-eabi-gcc
Similarly, the type gcc command gives the output:
gcc is /usr/bin/gcc
Instead of:
arm-none-eabi-gcc is hashed (/opt/gcc-arm/bin/gcc)
as mentioned in the user manual. The type arm-none-eabi-gcc command outputs:
not found
As I understand, the green color of the file means it is executable, but I am unable to determine why the computer is not recognizing the command. Finally, when running the make command, I received the following response:
user@mx:~/stm32f103c8t6
$ make
make -C libopencm3 TARGETS=stm32/f1
make: Entering directory '/home/user/stm32f103c8t6/libopencm3'
  BUILD   lib/stm32/f1
  CC      adc.c
make: arm-none-eabi-gcc: Command not found
make: *** [../../Makefile.include:41: adc.o] Error 127
Failure building: lib/stm32/f1: code: 2
make: *** [Makefile:79: lib] Error 1
make: Leaving directory '/home/user/stm32f103c8t6/libopencm3'
make: *** [Makefile:38: libopencm3/lib/libopencm3_stm32f1.a] Error 2
Deepak Kumar (1 rep)
Jul 23, 2021, 10:52 AM • Last activity: Jun 13, 2025, 12:01 PM
0 votes
1 answers
1966 views
How do I install Chromium for ARM Cortex-A8 on bare Linux 3.0.8 armv7l?
### TARGET [FriendlyARM mini210s](http://www.friendlyarm.net/products/mini210s) I have successfully cross-compiled Chromium for ARM [SEE WORKFLOW HERE](https://unix.stackexchange.com/questions/176794/how-do-i-cross-compile-chromium-for-arm). ## How do I install the Chromium on my bare linux 3.0.8 ar...
### TARGET [FriendlyARM mini210s](http://www.friendlyarm.net/products/mini210s) I have successfully cross-compiled Chromium for ARM [SEE WORKFLOW HERE](https://unix.stackexchange.com/questions/176794/how-do-i-cross-compile-chromium-for-arm) . ## How do I install the Chromium on my bare linux 3.0.8 armv7l? ### What I have done so far I copied over ./chrome/installer/linux/debian_wheezy_arm-sysroot files onto my target (not sure that was the right thing, but it seems reasonable enough) When I try to run Chrome I am getting this error: [root@target chrome-release]# ./chrome ./chrome: error while loading shared libraries: libattr.so.1: cannot open shared object file: No such file or directory ##### UPDATE I resolved this particular issue [here](https://unix.stackexchange.com/questions/180099/chromium-compiled-for-arm-libattr-so-1-not-found) #### QUESTION 1 : Where do I find libattr source or binary and install it on my target? I have found a file, but I'd rather try to x-compile from source. #### QUESTION 2 : How do I have resolved consistantly without breaking my target? [This helped](https://stackoverflow.com/questions/5216399/usr-lib-libstdc-so-6-version-glibcxx-3-4-15-not-found) ... but I feel that I am messing my Linux 3.0.8 armv7l instance. [root@target chrome-release]# ./chrome ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by ./chrome) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by ./chrome) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /sdcard/chrome-release/lib/libkeyed_service_content.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /sdcard/chrome-release/lib/libkeyed_service_content.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /sdcard/chrome-release/lib/libkeyboard.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /sdcard/chrome-release/lib/libbase_prefs.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /sdcard/chrome-release/lib/libstorage.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /sdcard/chrome-release/lib/libstorage.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /sdcard/chrome-release/lib/libnet.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /sdcard/chrome-release/lib/libnet.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /sdcard/chrome-release/lib/libgfx.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /sdcard/chrome-release/lib/libgfx.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /sdcard/chrome-release/lib/libmessage_center.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /sdcard/chrome-release/lib/libviews.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /sdcard/chrome-release/lib/libviews.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /sdcard/chrome-release/lib/libevents_devices.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /sdcard/chrome-release/lib/libcontent.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /sdcard/chrome-release/lib/libcontent.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /sdcard/chrome-release/lib/libv8.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /sdcard/chrome-release/lib/libv8.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /sdcard/chrome-release/lib/libdbus.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /sdcard/chrome-release/lib/libskia.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /sdcard/chrome-release/lib/libppapi_proxy.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /sdcard/chrome-release/lib/libppapi_proxy.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /sdcard/chrome-release/lib/libprinting.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /sdcard/chrome-release/lib/libdomain_reliability.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /sdcard/chrome-release/lib/libapp_list.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /sdcard/chrome-release/lib/libmojo_common_lib.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /sdcard/chrome-release/lib/libblink_web.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /sdcard/chrome-release/lib/libblink_web.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /sdcard/chrome-release/lib/libgcm.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /sdcard/chrome-release/lib/libmedia.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /sdcard/chrome-release/lib/libmedia.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /sdcard/chrome-release/lib/libbase_i18n.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /sdcard/chrome-release/lib/libui_base.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /sdcard/chrome-release/lib/libui_base.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /sdcard/chrome-release/lib/libstorage_common.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /sdcard/chrome-release/lib/libppapi_host.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /sdcard/chrome-release/lib/libsessions_content.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /sdcard/chrome-release/lib/libcc.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /sdcard/chrome-release/lib/libcc.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /sdcard/chrome-release/lib/libbase.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /sdcard/chrome-release/lib/libbase.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /sdcard/chrome-release/lib/libevents_base.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /sdcard/chrome-release/lib/liburl_matcher.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /sdcard/chrome-release/lib/libgin.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /sdcard/chrome-release/lib/libcompositor.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /sdcard/chrome-release/lib/libash.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /sdcard/chrome-release/lib/libash.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /sdcard/chrome-release/lib/libmojo_system_impl.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /sdcard/chrome-release/lib/libgtk2ui.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /sdcard/chrome-release/lib/libgtk2ui.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /sdcard/chrome-release/lib/libpolicy_component.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /sdcard/chrome-release/lib/libpolicy_component.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /sdcard/chrome-release/lib/libsql.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /sdcard/chrome-release/lib/libblink_platform.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /sdcard/chrome-release/lib/libdevice_bluetooth.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /sdcard/chrome-release/lib/libdevice_bluetooth.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /sdcard/chrome-release/lib/liburl_lib.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /sdcard/chrome-release/lib/libcrcrypto.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /sdcard/chrome-release/lib/libcrcrypto.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /sdcard/chrome-release/lib/libaura.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /sdcard/chrome-release/lib/libipc.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /sdcard/chrome-release/lib/libipc.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /sdcard/chrome-release/lib/libsync_core.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /sdcard/chrome-release/lib/libgpu.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /sdcard/chrome-release/lib/libgpu.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /sdcard/chrome-release/lib/libgesture_detection.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /sdcard/chrome-release/lib/libevents.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /sdcard/chrome-release/lib/libppapi_shared.so) ./chrome: /lib/libc.so.6: version `GLIBC_2.9' not found (required by /usr/lib/libgio-2.0.so.0) ./chrome: /lib/libc.so.6: version `GLIBC_2.9' not found (required by /lib/libglib-2.0.so.0) ./chrome: /lib/libc.so.6: version `GLIBC_2.11' not found (required by /usr/lib/libcairo.so.2) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /sdcard/chrome-release/lib/libcc_surfaces.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /sdcard/chrome-release/lib/libcc_surfaces.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /sdcard/chrome-release/lib/libdevice_battery.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /sdcard/chrome-release/lib/libdevice_battery.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /sdcard/chrome-release/lib/libwebkit_gpu.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /sdcard/chrome-release/lib/libgl_wrapper.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /sdcard/chrome-release/lib/libmedia_blink.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /sdcard/chrome-release/lib/libgpu_blink.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /sdcard/chrome-release/lib/libipc_mojo.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /sdcard/chrome-release/lib/libgles2_utils.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /sdcard/chrome-release/lib/libgles2_implementation.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /sdcard/chrome-release/lib/libgles2_implementation.so) ./chrome: /lib/libc.so.6: version `GLIBC_2.10' not found (required by /lib/libdbus-1.so.3) ./chrome: /lib/libc.so.6: version `GLIBC_2.11' not found (required by /usr/lib/libfreetype.so.6) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /sdcard/chrome-release/lib/libwtf_unittest_helpers.so) ./chrome: /lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /sdcard/chrome-release/lib/libgl_in_process_context.so) ./chrome: /lib/libresolv.so.2: version `GLIBC_2.9' not found (required by /usr/lib/libkrb5.so.3) ## UPDATE - Install on mini210s w/ linux 3.0.8 armv7l target When I try this: # LD_PRELOAD=/lib/libc-2.13.so;/lib/libresolv-2.13.so ./chrome -v Segmentation fault #### How do get more information about the reason of this segmentation fault? $ file ./chrome ./chrome: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.26, not stripped How do I know whether this compiled file should run on my SBC w/ linuc 3.0.8 armv7l? Also asked on [chromium-dev group](https://groups.google.com/a/chromium.org/forum/#!topic/chromium-dev/_8VUllVuMyc) ## UPDATE Tried to install on BeagleBone Black root@beaglebone:~/chromium# uname -a Linux beaglebone 3.8.13-bone67 #1 SMP Wed Sep 24 21:30:03 UTC 2014 armv7l GNU/Linux I am getting the same segmentation fault root@beaglebone:~/chromium# ./chrome Segmentation fault Determine file type root@beaglebone:~/chromium# file chrome chrome: ELF 32-bit LSB shared object, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.26, BuildID[sha1]=0x99f2a5210e0831419cf2bb4c9c64839cf03673f4, not stripped
zabumba (954 rep)
Jan 13, 2015, 10:53 AM • Last activity: Jun 11, 2025, 06:01 PM
12 votes
2 answers
5926 views
Meaning of an ampersand prefix in a device tree
I am looking at a DTS file which tries to specify different nodes, but interestingly I find a few nodes having different style of nomenclature. / { model = "TI AM335x BeagleBone Black"; compatible = "ti,am335x-bone-black", "ti,am335x-bone", "ti,am33xx"; }; &ldo3_reg { regulator-min-microvolt = ; reg...
I am looking at a DTS file which tries to specify different nodes, but interestingly I find a few nodes having different style of nomenclature. / { model = "TI AM335x BeagleBone Black"; compatible = "ti,am335x-bone-black", "ti,am335x-bone", "ti,am33xx"; }; &ldo3_reg { regulator-min-microvolt = ; regulator-max-microvolt = ; regulator-always-on; }; &mmc1 { vmmc-supply = ; }; &mmc2 { vmmc-supply = ; pinctrl-names = "default"; pinctrl-0 = ; bus-width = ; status = "okay"; }; / { hdmi { compatible = "ti,tilcdc,slave"; i2c = ; pinctrl-names = "default", "off"; pinctrl-0 = ; pinctrl-1 = ; status = "okay"; }; }; What does it convey if a node has & as its prefix? What is the necessity of separating them from root node, while they can be present in the root node itself? Interestingly, the above example also has two root nodes, how is that possible?
kakeh (483 rep)
Jan 14, 2015, 12:43 PM • Last activity: May 28, 2025, 01:05 PM
0 votes
1 answers
6794 views
load driver with insmod get :disagrees about version of symbol module_layout
I compiled simple drive for Linux kernel for ARM system: > $ uname -a Linux CR5 4.4.171-cr5 #2 Tue Mar 10 11:49:00 CET 2020 armv7l GNU/Linux To compile i used the config file from the up ruining system located at: > /proc/config.gz i downloaded a vanilla kernel, checkout to tag 4.4.5, replace the co...
I compiled simple drive for Linux kernel for ARM system: > $ uname -a Linux CR5 4.4.171-cr5 #2 Tue Mar 10 11:49:00 CET 2020 armv7l GNU/Linux To compile i used the config file from the up ruining system located at: > /proc/config.gz i downloaded a vanilla kernel, checkout to tag 4.4.5, replace the config file ,compile the kernel, and then compile the drive with the tool-chine for arm > gcc-linaro-7.2.1-2017.11-i686_arm-linux-gnueabi The drive contain simple code #include #include int init_module(void) { printk(KERN_INFO "Hello world.\n"); return 0; } void cleanup_module(void) { printk(KERN_INFO "Goodbye world.\n"); } i used *insmod* to load the driver but the err message to terminal is: > insmod: ERROR: could not insert module test_module.ko: Invalid module format at the *dmesg* i get this message > test_module: disagrees about version of symbol module_layout However, when i compere between running module in the system with my module with *readelf -a* The **ELF Header** are the same and the **File Attributes** are the same. what can i check more? Maybe the module loading was blocked by kernel? how can i check that? some one hes a lead for my what i can do next? p.s - simple c program is ruining fine, so i guess the tool-chine is fine - *insmod -f* not work as well Thanks
yntnm (101 rep)
Jul 11, 2021, 12:20 PM • Last activity: May 23, 2025, 02:07 PM
0 votes
1 answers
53 views
Allwinner A10 tablet - Not able to go past "Starting kernel..."
I had an old tablet lying around so I created the page according to linux-sunxi ([https://linux-sunxi.org/Softwinners_crane][1]). I was trying to get Linux running on it. A different tablet was similar (as also pointed out in another mailing list) to mine - Topwise A721, so I used it's .dts file for...
I had an old tablet lying around so I created the page according to linux-sunxi (https://linux-sunxi.org/Softwinners_crane ). I was trying to get Linux running on it. A different tablet was similar (as also pointed out in another mailing list) to mine - Topwise A721, so I used it's .dts file for this. After following the extensive documentation on the website, collecting all details and so on, I built u-boot and kernel and flashed them on an SD card. When trying to boot I get stuck at this screen, and then the display goes off:
U-Boot 2025.07-rc2-00018-g126a88d49bca (May 18 2023 - 10:35:18 +0530) Allwinner Technology

CPU:   Allwinner A10 (SUN4I)
Model: Topwise A721
DRAM:  1 GiB
Core: 70 devices, 21 uclasses, devicetree: separate
WDT:   Not starting watchdog@01c20c90
MMC:   mmc@1c0f000: 0
Loading Environment from FAT... Unable to read "uboot.env" from mmc0:1...
HDMI connected: Setting up a 1920x1080 hdmi console (overscan 0x0)
In:    serial,usbkbd
Out:   serial,vidconsole
Err:   serial,vidconsole
Net:   No ethernet found.

starting USB...
No host cable detected. Bus usb@01c13000: Port not available.
No USB controllers found
   scanning USB for storage devices... 0 Storage Device(s) found
Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc0:1...
Found U-Boot script /boot.scr
301 bytes read in 1 ms (293.9 KiB/s)
## Executing script at 43100000
24070 bytes read in 3 ms (7.7 MiB/s)
6105264 bytes read in 335 ms (21.6 MiB/s)
Kernel image @ 0x42000000 [ 0x000000 - 0x5d28b0 ]
## Flattened Device Tree blob at 43000000 
   Booting using the fdt blob at 0x43000000 
Working FDT set to 43000000
   Loading Device Tree to [49ff7000, end 49fffe05] ... OK
Working FDT set to 49ff7000 

Starting kernel ...
How do I fix this?
Shivam Gupta (1 rep)
May 21, 2025, 08:55 AM • Last activity: May 21, 2025, 02:24 PM
0 votes
1 answers
2057 views
Tiling Window manager performance issues i3wm. Is this wm specific or the environment?
I'm doing some development on a Raspberry Pi 4 with 4gb of ram. After about a week of using the default WM, lxde/openbox, I decided a really needed a tiling capability. So much better for development. I've always been a fan of DWM because it's fast and simple. However, in my brief experience with i3...
I'm doing some development on a Raspberry Pi 4 with 4gb of ram. After about a week of using the default WM, lxde/openbox, I decided a really needed a tiling capability. So much better for development. I've always been a fan of DWM because it's fast and simple. However, in my brief experience with i3wm, I like what I believe to be a unique feature when it comes to containerizing desktops. For example, if I'm on desktop 1, and open firefox, then I move to desktop 2 and open two terminals before firefox finishes loading, I want firefox on desktop 1. Not on 2 cluttering up my terminals. The problem is that i3wm is running stupid slow. It's driving me nuts. Does i3 have known performance issues compared to other tiling window managers? Is there a lighter alternative which still behaves as described above? Or is this some other type of issue? I haven't used i3 much but I'm pretty certain I used it about a decade ago without issue, on a desktop which at the time was probably significantly slower than a modern rpi.
mreff555 (131 rep)
Feb 24, 2021, 05:09 PM • Last activity: Apr 26, 2025, 04:09 AM
8 votes
1 answers
2096 views
How to run docker inside android chroot
I have debian stretch installed in arm64 android phone in chrooted environment. I have installed docker-ce following these steps from [here][1]. On starting docker :: `systemctl start docker` returns this error :: `Running in chroot, ignoring request.` Checking using `service docker status` shows `[...
I have debian stretch installed in arm64 android phone in chrooted environment. I have installed docker-ce following these steps from here . On starting docker :: systemctl start docker returns this error :: Running in chroot, ignoring request. Checking using service docker status shows [FAIL] Docker is not running ... failed! How can I run it inside chroot on my android phone ?
jonny789 (509 rep)
Jan 30, 2018, 06:10 PM • Last activity: Apr 24, 2025, 06:05 AM
0 votes
0 answers
18 views
How to read GPIO interrupt timing at the application layer?
I use the a40i(arm) processor and read the gpio interrupt flag at the application layer. I read the gpio flag as a character device. The gpio interrupt is given externally and has a stable 4ms period. The kernel has an rt patch, and the interrupt will be threaded. The gpio interrupt has its priority...
I use the a40i(arm) processor and read the gpio interrupt flag at the application layer. I read the gpio flag as a character device. The gpio interrupt is given externally and has a stable 4ms period. The kernel has an rt patch, and the interrupt will be threaded. The gpio interrupt has its priority set by renice, and isolated core and core binding processing is also done. However, there will be time fluctuations at the application layer. For example, there is a certain possibility that reading two interrupts will take more than 6ms, but most of the time is still around 4.2ms. Is there any way to optimize this fluctuation? the driver code of GPIO: #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include static int MajorDevNum = 0; static int SpiioNum = 0; static int IrqNum = 0; static struct class *SpiioClass; static int IrqOccurred = 0; static wait_queue_head_t WaitQueue; static spinlock_t RWLock; #define GPIO_PH20 244 static void SetIrqOccurred(int newIrqOccurred) { spin_lock_irq(&RWLock); IrqOccurred = newIrqOccurred; gpio_set_value(GPIO_PH20, IrqOccurred); spin_unlock_irq(&RWLock); } static irqreturn_t spiio_irq_handler(int irq, void *dev_id) { if (irq == IrqNum) { SetIrqOccurred(1); } return IRQ_HANDLED; } static int spiio_drv_read(struct file *file, char __user *buf, size_t size, loff_t *offset) { int ret = IrqOccurred; if (ret) SetIrqOccurred(0); return ret; } /* write(fd, &val, 1); */ static int spiio_drv_write(struct file *file, const char __user *buf, size_t size, loff_t *offset) { SetIrqOccurred(0); return 1; } static int spiio_drv_open(struct inode *node, struct file *file) { int err = 0; pr_info("this is open for gpio\n"); return 0; } static int spiio_drv_close(struct inode *node, struct file *file) { return 0; } static long spiio_drv_ioctl(struct file *file, unsigned int cmd, unsigned long arg) { return 0; } static unsigned int spiio_drv_poll(struct file *file, struct poll_table *wait) { return 0; } static struct file_operations spiio_drv = { .owner = THIS_MODULE, .open = spiio_drv_open, .read = spiio_drv_read, .write = spiio_drv_write, .release = spiio_drv_close, .unlocked_ioctl = spiio_drv_ioctl, .poll = spiio_drv_poll, }; int spiio_probe(struct platform_device *pdev) { int err = 0; struct gpio_config pinConfig; char pinName = {0}; unsigned int config = 0; struct device_node *nd = pdev->dev.of_node; if (!nd) { pr_err("no found device tree node\n"); return -1; } if ((of_gpio_named_count(nd, "spiio_gpio") name) < 0) { pr_err("gpio request failed, GPIO:%d\n", SpiioNum); gpio_free(SpiioNum); return -1; } sunxi_gpio_to_name(pinConfig.gpio, pinName); pr_info("pinName = %s\n", pinName); pr_info("index = %d\n", pinConfig.gpio); pr_info("mul_sel = %d\n", pinConfig.mul_sel); pr_info("pull = %d\n", pinConfig.pull); pr_info("drv_level = %d\n", pinConfig.drv_level); pr_info("data = %d\n", pinConfig.data); config = SUNXI_PINCFG_PACK(SUNXI_PINCFG_TYPE_FUNC, pinConfig.mul_sel); pin_config_set(SUNXI_PINCTRL, pinName, config); if (pinConfig.pull != GPIO_PULL_DEFAULT) { config = SUNXI_PINCFG_PACK(SUNXI_PINCFG_TYPE_PUD, pinConfig.pull); pin_config_set(SUNXI_PINCTRL, pinName, config); pr_info("set pull:%d\n", pinConfig.pull); } if (pinConfig.drv_level != GPIO_DRVLVL_DEFAULT) { config = SUNXI_PINCFG_PACK(SUNXI_PINCFG_TYPE_DRV, pinConfig.drv_level); pin_config_set(SUNXI_PINCTRL, pinName, config); pr_info("set drv_level:%d\n", pinConfig.drv_level); } if (pinConfig.data != GPIO_DATA_DEFAULT) { config = SUNXI_PINCFG_PACK(SUNXI_PINCFG_TYPE_DAT, pinConfig.data); pin_config_set(SUNXI_PINCTRL, pinName, config); pr_info("set data:%d\n", pinConfig.data); } if (gpio_direction_input(SpiioNum) < 0) { pr_err("gpio_direction_input failed %d\n", SpiioNum); gpio_free(SpiioNum); return -1; } MajorDevNum = register_chrdev(0, "spiio", &spiio_drv); /* /dev/spiio */ if (MajorDevNum < 0) { pr_err("failed to get major device number\n"); gpio_free(SpiioNum); return -1; } SpiioClass = class_create(THIS_MODULE, "spiio_class"); if (IS_ERR(SpiioClass)) { pr_err("spiio class has an error\n"); unregister_chrdev(MajorDevNum, "spiio"); gpio_free(SpiioNum); return PTR_ERR(SpiioClass); } device_create(SpiioClass, NULL, MKDEV(MajorDevNum, 0), NULL, "spiio%d", 0); /* /dev/100ask_spiio0 */ pr_info("gpio is ok, spiio num is %d\n", SpiioNum); #if 1 spin_lock_init(&RWLock); init_waitqueue_head(&WaitQueue); IrqNum = gpio_to_irq(SpiioNum); if (IS_ERR(IrqNum)) { pr_err("irqNum is err\n"); free_irq(IrqNum, NULL); gpio_free(SpiioNum); unregister_chrdev(MajorDevNum, "spiio"); return -1; } if ((err = request_irq(IrqNum, spiio_irq_handler, IRQF_TRIGGER_RISING, "spiio_irq", NULL)) < 0) { pr_err("requst_irq failed, err = %d\n", err); free_irq(IrqNum, NULL); gpio_free(SpiioNum); unregister_chrdev(MajorDevNum, "spiio"); return -1; } pr_info("add irq %d on pin %d success.\n", IrqNum, SpiioNum); #endif #if 1 cpumask_t cpumask; cpumask_clear(&cpumask); cpumask_set_cpu(2, &cpumask); // 将中断绑定到CPU2 err = irq_set_affinity_hint(IrqNum, &cpumask); if (err == 0) { pr_info("set irq cpu to 2 successfully\n"); } else { pr_err("failed to set irq cpu to 2, err =%d\n", err); } #endif if (gpio_request(GPIO_PH20, "PH20_GPIO")) { pr_err("failed to request GPIO PH20\n"); } else { gpio_direction_output(GPIO_PH20, 1); pr_info("request GPIO PH20 successfully\n"); } return 0; } int spiio_remove(struct platform_device *pdev) { #if 1 free_irq(IrqNum, NULL); #endif device_destroy(SpiioClass, MKDEV(MajorDevNum, 0)); class_destroy(SpiioClass); unregister_chrdev(MajorDevNum, "spiio"); gpio_free(SpiioNum); pr_info("gpio remove ...\n"); return 0; } struct of_device_id ids[] = { {.compatible = "dobot, spiio"}, {}, }; static struct platform_driver chip_demo_gpio_driver = { .probe = spiio_probe, .remove = spiio_remove, /* .shutdown = spiio_remove,*/ .driver = { .name = "spiio", .of_match_table = ids, }, }; static int __init spiio_init(void) { int err; err = platform_driver_register(&chip_demo_gpio_driver); return err; } static void __exit spiio_exit(void) { platform_driver_unregister(&chip_demo_gpio_driver); } module_init(spiio_init); module_exit(spiio_exit); MODULE_LICENSE("GPL"); According to the test results, the entire ISR is executed with a delay. static void SetIrqOccurred(int newIrqOccurred) { spin_lock_irq(&RWLock); IrqOccurred = newIrqOccurred; gpio_set_value(GPIO_PH20, IrqOccurred); spin_unlock_irq(&RWLock); }
yanzhang.guo (113 rep)
Apr 24, 2025, 01:20 AM • Last activity: Apr 24, 2025, 02:02 AM
0 votes
1 answers
359 views
running X86 Virtualbox VM on an Apple silicon Mac, UTM not working
My college provides a virtual machine ([SliTaz][1] VM, possibly an old Linux distro) to run veriluoc which is a software to design and simulate logic gates. The problem is that VM was designed to run on x86/x86_64 hardware. But I need it to run it on my M2-based(Arm) Macbook. I have been trying to u...
My college provides a virtual machine (SliTaz VM, possibly an old Linux distro) to run veriluoc which is a software to design and simulate logic gates. The problem is that VM was designed to run on x86/x86_64 hardware. But I need it to run it on my M2-based(Arm) Macbook. I have been trying to use qemu and UTM to run it, with no success. The exact problem UTM displays is:
Booting SliTaz GNU/Linux (cooking) (Kernel vmlinux-2.6.37-slitaz)
Filesystem type is ext2fs, partition type 0x83
   [Linux-bzImage, setup=0x3400, size=0x25d4a0]
ehci_hcd 000:00:1d.7: init 0000:00:1d.7 fail, -16
i8042.c: No controller found.
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
Pid: 1, comm: swapper Not tainted 2.6.37-slitaz #2
Call Trace:
 [] ? printk+0xf/0x11
 [] panic +0x50/0x14b
 [] mount_block_root+0x1e5/0x1f9
 []?sys_mknod+Ox13/0x15
 [] mount_root+0x4c/0x54
 [1 prepare_namespace+0x140/0x171
 [] kernel_init+0x17f/0x18e
 [] ? kernel_int+0×0/0×18e
 [] kernel_thread_helper+0x6/0x10
No success either after searching the term VFS: Unable to mount root fs on unknown-block(0,0), or changing the disk type.
Nil Oller (1 rep)
Mar 6, 2024, 02:58 PM • Last activity: Apr 8, 2025, 05:47 PM
0 votes
1 answers
38 views
How to set the nice value of GPIO interrupt using busybox's htop?
I am using the htop command of busybox on an arm processor. I now want to set the nice value of the GPIO interrupt. I can set it manually successfully, but after checking the information, it seems that there is no way to automatically set the nice value of the GPIO interrupt through `htop` at boot t...
I am using the htop command of busybox on an arm processor. I now want to set the nice value of the GPIO interrupt. I can set it manually successfully, but after checking the information, it seems that there is no way to automatically set the nice value of the GPIO interrupt through htop at boot time?
yanzhang.guo (113 rep)
Apr 7, 2025, 03:27 PM • Last activity: Apr 7, 2025, 04:22 PM
1 votes
0 answers
132 views
WiFi connections drops every 5 minutes exactly (Fedora)
I'm using a Framework Laptop 13 with Fedora 41 and an ARM mainboard. When the machine is on battery power, not plugged in, the WiFi connection drops every 5 minutes exactly (or very close). The message "Activation of Network Connection Failed" is displayed, after which no networks are available in t...
I'm using a Framework Laptop 13 with Fedora 41 and an ARM mainboard. When the machine is on battery power, not plugged in, the WiFi connection drops every 5 minutes exactly (or very close). The message "Activation of Network Connection Failed" is displayed, after which no networks are available in the WiFi settings. Interestingly, if I boot while the machine is plugged in, disconnect, and plug it in again, this 5-minute failure happens again. Same thing happens if the computer is plugged in and I shut the lid. The only way to avoid this is to boot while plugged in. Sometimes the problem occurs seemingly randomly as well. The only solution I have found that works is to leave the laptop plugged in all the time or to restart every 5 minutes. I bet this is a power settings issue but I can't figure out what's going on. What I've tried: - Re-seating WiFi card - Running sudo systemctl restart - Forgetting connection and re-connecting through Fedora's GUI - Disabling GNOME extensions related to power use like caffeine - Changing power mode to "Performance" - *Booting from a USB. Connection is stable until I install to my hard drive. Then I return to the 5-minute deadline.* This question is similar: https://unix.stackexchange.com/questions/552589/fedora-31-drops-wifi-connection-after-some-time Thanks for your advice. Edit: here are some of the messages that I see right before the connection drops. Is this related to my IPv6 address shifting around??
Mar 01 14:35:26 fedora kernel: wlp1s0: disconnect from AP 0a:58:28:1f:26:52 for new auth to 8e:58:28:1f:26:52
Mar 01 14:35:26 fedora kernel: wlp1s0: authenticate with 8e:58:28:1f:26:52 (local address=62:4a:ae:22:9c:fc)
Mar 01 14:35:27 fedora kernel: wlp1s0: send auth to 8e:58:28:1f:26:52 (try 1/3)
Mar 01 14:35:30 fedora kernel: wlp1s0: send auth to 8e:58:28:1f:26:52 (try 2/3)
Mar 01 14:35:32 fedora kernel: wlp1s0: aborting authentication with 8e:58:28:1f:26:52 by local choice (Reason: 3=DEAUTH_LEAVING)
Mar 01 14:35:46 fedora kernel: wlp1s0: authenticate with 8e:58:28:1f:26:52 (local address=62:4a:ae:22:9c:fc)
Mar 01 14:35:47 fedora kernel: wlp1s0: send auth to 8e:58:28:1f:26:52 (try 1/3)
Mar 01 14:35:47 fedora kernel: wlp1s0: authenticate with 8e:58:28:1f:26:52 (local address=62:4a:ae:22:9c:fc)
Mar 01 14:35:48 fedora kernel: wlp1s0: send auth to 8e:58:28:1f:26:52 (try 1/3)
Mar 01 14:35:48 fedora kernel: wlp1s0: authenticated
Mar 01 14:35:48 fedora kernel: wlp1s0: associate with 8e:58:28:1f:26:52 (try 1/3)
Edit2: Booting from USB works great. As soon as I install Fedora to the hard drive I'm back to the 5 minute timer.
wakanda_official_tourism (21 rep)
Mar 1, 2025, 08:45 PM • Last activity: Mar 2, 2025, 02:02 AM
Showing page 1 of 20 total questions