

going
-
Posts
806 -
Joined
-
Last visited
Content Type
Forums
Store
Crowdfunding
Applications
Events
Raffles
Community Map
Posts posted by going
-
-
2 часа назад, rockmusic64 сказал:
I am using Debian for around eight years exclusively
Very good. You are our man.
2 часа назад, rockmusic64 сказал:no display output on HDMI or DP. It might be, because i did not do it in the recommended way of using ubuntu in a vm.
Why ubuntu?
Just because the project is being built in this environment and it is tested.
But it doesn't matter.
The last stable debian, mint, will do....Why a virtual machine?
Any error in the build system itself can ruin a working system.
It is easy to restore a VM from an OS snapshot.2 часа назад, rockmusic64 сказал:but there is no display output on HDMI or DP
First, check the DTB.
On a running device, extract from the file system:dtc --sort -I fs -O dts /sys/firmware/devicetree/base > dts-out.txt
Check if there are nodes describing hdmi, dp.
P.S. dmesg | grep -i hdmi
-
2 часа назад, rockmusic64 сказал:
Yes, thanks, i will try!
Using the documentation, install the Armbian build system on your desktop:
I recommend installing ubuntu-22.04\24.04-server into a virtual machine (Qemu\Kvm or VirtualBox)
Download the ISO image from the official website.Connect via SSH from the terminal to the OS in the virtual machine (As a regular user).
Next in the terminal:
sudo apt install git nano mc bash-completion git clone --depth=1 --branch=main https://github.com/armbian/build cd build ./compile.sh BRANCH=edge BOARD=rockpro64
Assemble a minimal image, write it to the SD card and check its performance.
Please describe in words your level of knowledge of Linux, git and the problem you want to solve.
I'm just sending English text to an automatic translator. -
-
1 час назад, Aleksey Vasenev сказал:
Orangepi3-lts
You shouldn't expect help from me for this device.
-
10 часов назад, dmitgrib сказал:
swupdate is a Linux update agent with the goal to provide an efficient and safe way to update an embedded system.
@dmitgrib As far as I understand from your messages, the package from the debian repository does not work for you.
Warning:
Several packages that install and modify files on flash devices, memory devices, and bootloaders do not work correctly in the Armbian OS.Just because the paths or names of the target files are different.
In this package, at least two libraries require additional attention, in addition to attention to the source texts of the package itself:
swupdate (2022.12+dfsg-4+deb12u1) swupdate is a Linux update agent with the goal to provide an efficient and safe way to update an embedded system. - Install on embedded media (eMMC, SD, Raw NAND, NOR and SPI-NOR flashes) - Allow delivery single image for multiple devices - Multiple interfaces for getting software 1. local storage 2. integrated web server 3. integrated REST client connector to hawkBit 4. remote server download - Software delivered as images, gzipped tarball, etc - Allow custom handlers for installing FPGA/ microcontroller firmware. - Power-Off safe ..... dep: libgpiod2 (>= 1.1) C library for interacting with Linux GPIO device - shared libraries ..... dep: libswupdate0.1 (>= 2021.04) Library for controlling the swupdate framework
The best way to make a package is to repeat the steps described in the debian documentation #packaging-tutorial
You can do this directly on the device.
sudo nano /etc/apt/sources.list replace "# deb-src" to "deb-src" sudo apt update mkdir packaging cd packaging # not sudo: apt-get source swupdate sudo apt-get build-dep swupdate
Next, we edit the source texts and assemble them as described in the documentation.
-
-
17 часов назад, dmitgrib сказал:
I assumed that I could compile and build the SWUpdate package from the environment where the Linux kernel and U-Boot are built. Is this how to do it?
SWUpdate package - Here, please, in more detail. What is this package?
Maybe I can help. -
Maybe start from the beginning.
Disable all overlays.
Download the OS.
On a running OS, extract the DTS:dtc --sort -I fs -O dts /sys/firmware/devicetree/base > dts-base.txt
Connect the overlay. Reboot.
On a running OS, the DTS is extracted to another file.
Compare. -
6 часов назад, kreestyahn сказал:
fragment@2 { target = <&spi1>; __overlay__ { #address-cells = <1>; #size-cells = <0>; pinctrl-0 = <&spi1_pins>; pinctrl-names = "default", "default"; status = "okay";
fragment@2 { target = <&spi1>; __overlay__ { #address-cells = <1>; #size-cells = <0>; pinctrl-names = "default", "default"; pinctrl-0 = <&spi1_pins>, <&spi1_cs0_pin>; status = "okay";
And try to experience
-
46 минут назад, kreestyahn сказал:
mmc@0 { reg = <0>;
Pins are recorded for the mmc0 node
dts/allwinner/sun50i-h616.dtsi#L275
bat
Add fragment0: aliases
By analogy with this aliases
/omit-if-no-ref/ - This line says that they are missing from your dtb
Add fragment1:
spi1_pins: spi1-pins { pins = "PH6", "PH7", "PH8"; function = "spi1"; }; spi1_cs0_pin: spi1-cs0-pin { pins = "PH5"; function = "spi1"; };
Your fragment has now become the third. Add a description of the pins to it by analogy with this:
-
12 минут назад, kreestyahn сказал:
I have connected a microSD module to the SPI1 CS0 pins
Can you publish the connection diagram of this device. What's in the brief?
15 минут назад, kreestyahn сказал:Is there a way to mount an SPI device?
First, you need to write an overlay for the DTS.
Compile it and add it to /boot/dtb*/overlay, and a line to load into armbianEnv.txt the file.
After that, the SD card will be automatically mounted as /dev/mmcblkXp1
-
55 минут назад, Aleksey Vasenev сказал:
6.1.88 bad
Alexey, will you be able to publish the console boot log with the debug message parameter 7?
-
There have been changes in the 6.1.78 kernel that negatively affect arm (Cortex-A7).
Try not to use kernels more than 6.1.78.
I hope this will be fixed soon. -
10 минут назад, Hossein Majidi сказал:
The details of the board is:
Orange Pi 5 Plusarchitecture - arm64 (aarch64)
Chip: Rockchip RK3588
13 минут назад, Hossein Majidi сказал:Linux orangepi5-plus 5.10.160-rt89+ #8 SMP PREEMPT_RT Sun Apr 14 23:02:59 CST 2024 aarch64 GNU/Linux
It is a core with PREEMPT technology.
Your application and the kernel driver that the application uses should be running with increased priority.
In order for them to be able to displace other tasks (processes) which occupy the processor core at the right time.
The PREEMPT_RT patch for the kernel contains bits that allow rt tasks to do preemption.
These bits must be present in the heavy (expensive) parts of the kernel code. For example, in the gpu driver (mali -lima), dma ....1 час назад, Hossein Majidi сказал:And I wanna use spidev0.1 and the minimum desired rate is 5 MHz for SPI.
The hardware can provide good speed, but the drivers providing the process should be a priority and should be able to avoid conflicts over resources with other parts of the kernel.
As far as I understand, did you take a ready-made, assembled core by someone?
Have you run latency tests from LinuxCNC or cyclictest on this kernel?I looked at this driver:
and it uses dma in its work.
The kernel from the manufacturer may contain some changes in this driver and in the dma driver.
You may need to study the code carefully. And make changes yourself and build the kernel.And also configure the initial boot of the kernel (additional parameters for isolating individual processors on which your RT tasks will run).
To understand the problem, I need to look into the source code of this particular kernel. Therefore, just general recommendations.
It is better to get more qualified help in a specialized forum from people who have already taken steps in this direction.
This is the LinuxCNC forum and the like. There are many of them.
If you are just starting development, I would recommend that you pay attention to the Xenomai3 Xenomai4 and the Dovetail core.
How to add the necessary bits to the SOC architecture is well described here.
Very detailed documentation. And this is done by real professionals.
Regards
-
Oh! I'm sorry, but you got on the wrong forum.
8 часов назад, Hossein Majidi сказал:I could install a real-time kernel on it so I know it shouldn't be real-time issue with kernel.
What is the processor architecture?
8 часов назад, Hossein Majidi сказал:We've noticed that it might be the spidev driver issue that is not real-time.
This is a very slow driver. It is intended mainly for development, to debug code or for non-speed-critical applications.
But you can always write your own driver using the features of the RT kernel.
Which one?9 часов назад, Hossein Majidi сказал:And now we're gonna communicate with low-level SPI. Bit I dont know how?
can any one please help me?
A little more details and I will direct you to the right place where professionals deal with these issues.
-
@bedna It's possible that I'm wrong. Here the user seems to have found a problem and this is a corrupted dts for OPI-PC2:
-
This script assumes that there should be one user on your system with a UID >= 1000.
In general, this is not true.
If you need an administrator user without a home directory, you can create one with a UID < 1000.
But in this case, zsh will not work correctly for him. Or fix the situation manually.
5 часов назад, bedna сказал:But the system freezing at boot trying to connect to network, I will look deeper into.
There may be two problems here.
There is no clock on the device and the OS makes a request to a remote time server at startup and if it does not receive a timestamp, then it just waits. It looks like it's stuck.
1) The external internet connection is not working.
2) You have updated the kernel package. Your OS is Debian Bullseye.Packages are collected in the ubuntu noble environment (24.04).
This may have caused the Ethernet connection to break down.
P.S.
Try installing Ubuntu 24.04 on your device.
And your 4 year updates won't create any problems. -
50 минут назад, mikhailai сказал:
I'm hoping there would be just a few commits (ideally just one) that could be cherry-picked into 6.1 branch to make it work.
Okay, I get it.
Can we just take these few patches from the 6.6 kernel and add them to the 6.1 kernel?It is better if they are in the form in which they already exist in 6.6.
I mean, what have you already tested.
-
24 минуты назад, kreestyahn сказал:
Can I write here or should I open a new topic?
Name topik: Orange Pi Zero 2W overlay I2C SPI help
Write here
-
-
For this device, we can make an image using the Source Code:
Let's try to add support to the Armbian build system.
-
20.06.2024 в 02:21, Stephen Graf сказал:
Cut the log file by taking out all the kernel build log entries.
https://paste.armbian.com/ibamekatak
Summary: kernel patching: 498 total patches; 498 applied; 81 with problems; 80 needs_rebase; 4 not_mbox
This line indicates that problems exist, but is silent about what kind of problems they are. Row offset? Diffusion?
Here, a separate piece can be applied to another node in the DTS or to another function in the C code.
Only a person who reads the source code of the file and reads the patch file can detect the problem.
-
17.06.2024 в 20:52, mikhailai сказал:
"linux-image-current-sunxi" version 24.5.1 with 6.6.31 kernel: boots fine.
3 часа назад, mikhailai сказал:The culprit is the following commit:
07b37f227c8daa27e68f57b1c691fab34a06731e (HEAD) random: handle creditable entropy from atomic process context
This patch in the 6.6 kernel is present after the v6.6.28 tag 998f52a860555a9f02242bc0a4b3e9b47d47dc11
I think the problem lies elsewhere.
-
21.06.2024 в 09:54, mikhailai сказал:
Does anyone have suggestions on how to proceed from here?
Analysis:
linux-stable> git log --pretty=oneline v6.1.87..07b37f227c8daa27e68f57b1c691fab34a06731e | wc -l 8
Maybe we will do the following:
1) Freeze the outdated kernel to version 6.1.87.
diff --git a/config/sources/families/include/sunxi64_common.inc b/config/sources/families/include/sunxi64_common.inc index 18775666..e37fe516 100644 --- a/config/sources/families/include/sunxi64_common.inc +++ b/config/sources/families/include/sunxi64_common.inc @@ -25,6 +25,7 @@ case $BRANCH in legacy) declare -g KERNEL_MAJOR_MINOR="6.1" # Major and minor versions of this kernel. + declare -g KERNELBRANCH="tag:v6.1.87" ;; current) diff --git a/config/sources/families/include/sunxi_common.inc b/config/sources/families/include/sunxi_common.inc index 93b14ab8..f6261767 100644 --- a/config/sources/families/include/sunxi_common.inc +++ b/config/sources/families/include/sunxi_common.inc @@ -26,6 +26,7 @@ case $BRANCH in legacy) declare -g KERNEL_MAJOR_MINOR="6.1" # Major and minor versions of this kernel. + declare -g KERNELBRANCH="tag:v6.1.87" ;; current)
2) Переработаем (извлечём заново патчи) для этой версии ядра.
3) Leave this kernel in this state, and eliminate the cause for the current 6.6 kernel. If it is present in it.
linux-image-legacy-sunxi=24.5.1 (kernel 6.1.92) is broken: stuck at "Starting kernel ..."
in Orange Pi One
Posted
It usually looks like this:
diff --git a/arch/arm/kernel/patch.c b/arch/arm/kernel/patch.c index e9e828b6bb30..ce0fd3aeb575 100644 --- a/arch/arm/kernel/patch.c +++ b/arch/arm/kernel/patch.c @@ -101,11 +101,18 @@ void __kprobes __patch_text_real(void *addr, unsigned int insn, bool remap) if (waddr != addr) { flush_kernel_vmap_range(waddr, twopage ? size / 2 : size); - patch_unmap(FIX_TEXT_POKE0, &flags); } flush_icache_range((uintptr_t)(addr), (uintptr_t)(addr) + size); + + /* Can only call 'patch_unmap' after flushing dcache and icache, + * because it calls 'raw_spin_unlock_irqrestore', but that may + * happen to be the very function we're currently patching + * (as it happens during the ftrace init). + */ + if (waddr != addr) + patch_unmap(FIX_TEXT_POKE0, &flags); } static int __kprobes patch_text_stop_machine(void *data)
@Gunjan Gupta You might want to take a look at this.