Jump to content

ITNavigate

Members
  • Posts

    7
  • Joined

  • Last visited

Posts posted by ITNavigate

  1. 3 minutes ago, Igor said:


    Documentation is always behind/at minimum since we are low on resources. It is stated: "For a comprehensive list of available variables, look through lib/configuration.sh"

    https://github.com/armbian/documentation/blob/master/docs/Developer-Guide_User-Configurations.md#user-provided-configuration

     

    Feel free to make a pull request if you want to extend this part of the documentation.

    *Blush*

     

    I'll see what I can do to help. Maybe a week before I can.

  2. 23 hours ago, Igor said:


    Those are build system areas. You copy linux-sunxi-next.config to build/userpatches/ and edit there ... the same goes with patches, copy to userpatches/kernel/sunxi-next (in this case) and rename to .patch ... those .disabled are for our internal needs.

     


    Sure it is. https://docs.armbian.com/Developer-Guide_User-Configurations/ 

     

    Add: KERNELBRANCH='tag:v4.14.52' to build/userpatches/lib.config

    OK. That is awesome!!

     

    One problem, I can't find KERNELBRANCH documented :-(

  3. 19 hours ago, Igor said:


    If you were editing something outside user area, this is normal. It will not change branches ... and overwrite your changes. Perhaps we need to add another warning.

    The only places I am *aware* that I had changed files were:

    build/config/kernel/linux-sunxi-next.config (and then reverted)
    build/patches/sunxi* (renamed to & from .disabled)
    build/userpatches/
    cache/sources/linux-mainline/

    I'm not saying that these are definitely the only files that I changed, only the ones that I can remember.

    colin@ArmbianDev:~/Armbian/build$ git status

    didn't flag anything either.

     

    However, all that aside, checking out an entire new build env from your github repo fixed all the errors for my basic build.

    ./compile.sh BOARD=nanopiair BRANCH=next LIB_TAG=sunxi-4.14 KERNEL_ONLY=yes KERNEL_CONFIGURE=yes

    works flawlessly

     

    However, I want a real-time sunxi-next kernel. The latest 4.14 RT patch that I can find at https://mirrors.edge.kernel.org/pub/linux/kernel/projects/rt/4.14/ is patch-4.14.52-rt34.patch. Is there any way that I can convince the compile script to only download 4.14.52, not 4.14.58?

  4. Officially, how do I convince my build environment that I still want to use 4.14?

     

    When I just

    ./compile.sh BOARD=nanopiair BRANCH=next

    it defaults to 4.17

     

    What I have come up with is:

    git checkout sunxi-4.14 && touch .ignore_changes

     

    This results in a lot of patches failing 

    What is the correct way please?

  5. So I found the answers to my questions:

    11 hours ago, ITNavigate said:

    Do I need to

    (1) rename 30-real-time143-full-plus-rt-fixes.patch.disabled

    AND

    (2) extract patches-4.14.52-rt34.tar.gz into userpatches ?

     

    My experience says that only step 2 is required.

     

    11 hours ago, ITNavigate said:

    Using either just option (2), or both (1) and (2) combined, I get similar results :

    
    pi@nanopineo2:~/rt-tests-1.0$ sudo ./cyclictest -p 80 -t5 -n
    # /dev/cpu_dma_latency set to 0us
    policy: fifo: loadavg: 0.08 0.10 0.05 1/126 1901
    
    T: 0 ( 1873) P:80 I:1000 C:  22898 Min:      7 Act:   10 Avg:  103 Max:    2070
    T: 1 ( 1874) P:80 I:1500 C:  15409 Min:      7 Act:   11 Avg:  110 Max:    2004
    T: 2 ( 1875) P:80 I:2000 C:  11570 Min:      7 Act:    9 Avg:  113 Max:    2197
    T: 3 ( 1876) P:80 I:2500 C:   9257 Min:      7 Act:    8 Avg:  129 Max:    1938
    T: 4 ( 1877) P:80 I:3000 C:   7714 Min:      7 Act:   10 Avg:  129 Max:    1969

    These results suggest to me that I don't have an RT kernel. however uname says different:

    
    pi@nanopineo2:~/rt-tests-1.0$ uname -a
    Linux nanopineo2 4.14.52-rt34-sunxi64 #15 SMP PREEMPT RT Mon Jul 2 08:58:04 AWST 2018 aarch64 aarch64 aarch64 GNU/Linux

     

    As I said in the first line NOOB here. Where have I gone wrong?

     

    Where did I go wrong?? I didn't read @arre's wonderful blog (http://arre234.blogspot.com/2018/02/linux-portable-wifi-guitar-amp-on.html) properly. He clearly states in his earlier post in this thread :

    Quote

    A few tricky points were the CPU govenor and CPU operating points automatically switching by default, causing the realtime behavior to be really bad (max spikes around 3000 in cpu test).

    By patching the device tree to only use a fixed operating point, I achieve the following output:

     

    In the blog post he details how he resolved these issues.

    Setting the scaling governor to userspace, and specifying the freq and speed resolved my issues.

     

    I still need to investigate how to remove the operation points from the device tree, but that should just be a little searching and reading.

     

  6. So I am a NOOB to RT, and it has been a few years since I compiled a kernel

     

    I am trying to compile PREEMPT RT for NanoPi NEO 2 (H5) or NanoPi NEO AIR (H3).

     

    Do I need to

    (1) rename 30-real-time143-full-plus-rt-fixes.patch.disabled

    AND

    (2) extract patches-4.14.52-rt34.tar.gz into userpatches ?

     

    Using just option (1) I don't get a modified kernel .config file, so cannot select  Fully Preemptive.

     

    I have modified config-default.conf. KERNEL_ONLY, KERNEL_CONFIGURE and KERNEL_KEEP_CONFIG are all "yes"

    config-default.conf:

    # Read build script documentation http://www.armbian.com/using-armbian-tools/
    # for detailed explanation of these options and for additional options not listed here
    
    KERNEL_ONLY="yes"                       # leave empty to select each time, set to "yes" or "no" to skip dialog prompt
    KERNEL_CONFIGURE="yes"                  # leave empty to select each time, set to "yes" or "no" to skip dialog prompt
    CLEAN_LEVEL="make,debs,oldcache"        # comma-separated list of clean targets: "make" = make clean for selected kernel and u-boot,
                                            # "debs" = delete packages in "./output/debs" for current branch and family,
                                            # "alldebs" = delete all packages in "./output/debs", "images" = delete "./output/images",
                                            # "cache" = delete "./output/cache", "sources" = delete "./sources"
                                            # "oldcache" = remove old cached rootfs except for the newest 6 files
    
    DEST_LANG="en_US.UTF-8"                 # sl_SI.UTF-8, en_US.UTF-8
    
    BOARD=""
    
    # advanced
    KERNEL_KEEP_CONFIG="yes"                        # do not overwrite kernel config before compilation
    EXTERNAL="yes"                          # build and install extra applications and drivers
    EXTERNAL_NEW="prebuilt"                 # compile and install or install prebuilt additional packages
    CREATE_PATCHES="no"                     # wait that you make changes to uboot and kernel source and creates patches
    BUILD_ALL="no"                          # cycle through available boards and make images or kernel/u-boot packages.
                                            # set KERNEL_ONLY to "yes" or "no" to build all packages/all images
    
    BSPFREEZE=""                            # freeze armbian packages (u-boot, kernel, dtb)
    INSTALL_HEADERS=""                      # install kernel headers package
    LIB_TAG="master"                        # change to "branchname" to use any branch currently available.

    After compiling (admittedly on Ubuntu  16.04.4 x64, not Ubuntu Bionic 18.04 x64) I scp the resulting .deb's to the board (NanoPi NEO 2 shown), then

    pi@nanopineo2:~$ sudo dpkg -i *.deb
    (Reading database ... 52634 files and directories currently installed.)
    Preparing to unpack linux-dtb-next-sunxi64_5.50_arm64.deb ...
    Unpacking linux-dtb-next-sunxi64 (5.50) over (5.50) ...
    Preparing to unpack linux-headers-next-sunxi64_5.50_arm64.deb ...
    Unpacking linux-headers-next-sunxi64 (5.50) over (5.50) ...
    Preparing to unpack linux-image-next-sunxi64_5.50_arm64.deb ...
    Unpacking linux-image-next-sunxi64 (5.50) over (5.50) ...
    Preparing to unpack linux-source-next-sunxi64_5.50_all.deb ...
    Unpacking linux-source-4.14.52-next-sunxi64 (4.14.52-next-sunxi64+5.50) over (4.14.52-next-sunxi64+5.50) ...
    Preparing to unpack linux-u-boot-next-nanopineo2_5.50_arm64.deb ...
    Unpacking linux-u-boot-nanopineo2-next (5.50) over (5.50) ...
    Setting up linux-dtb-next-sunxi64 (5.50) ...
    Setting up linux-headers-next-sunxi64 (5.50) ...
    Compiling headers - please wait ...
    Setting up linux-image-next-sunxi64 (5.50) ...
    update-initramfs: Generating /boot/initrd.img-4.14.52-rt34-sunxi64
    update-initramfs: Converting to u-boot format
    Setting up linux-source-4.14.52-next-sunxi64 (4.14.52-next-sunxi64+5.50) ...
    Setting up linux-u-boot-nanopineo2-next (5.50) ...
    Updating u-boot on /dev/mmcblk0
    

    Using either just option (2), or both (1) and (2) combined, I get similar results :

    pi@nanopineo2:~/rt-tests-1.0$ sudo ./cyclictest -p 80 -t5 -n
    # /dev/cpu_dma_latency set to 0us
    policy: fifo: loadavg: 0.08 0.10 0.05 1/126 1901
    
    T: 0 ( 1873) P:80 I:1000 C:  22898 Min:      7 Act:   10 Avg:  103 Max:    2070
    T: 1 ( 1874) P:80 I:1500 C:  15409 Min:      7 Act:   11 Avg:  110 Max:    2004
    T: 2 ( 1875) P:80 I:2000 C:  11570 Min:      7 Act:    9 Avg:  113 Max:    2197
    T: 3 ( 1876) P:80 I:2500 C:   9257 Min:      7 Act:    8 Avg:  129 Max:    1938
    T: 4 ( 1877) P:80 I:3000 C:   7714 Min:      7 Act:   10 Avg:  129 Max:    1969

    These results suggest to me that I don't have an RT kernel. however uname says different:

    pi@nanopineo2:~/rt-tests-1.0$ uname -a
    Linux nanopineo2 4.14.52-rt34-sunxi64 #15 SMP PREEMPT RT Mon Jul 2 08:58:04 AWST 2018 aarch64 aarch64 aarch64 GNU/Linux

     

    As I said in the first line NOOB here. Where have I gone wrong?

×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines