Jump to content


  • Posts

  • Joined

  • Last visited

 Content Type 


Member Map




Posts posted by bozden

  1. Follow-up:


    After compiling the kernel with usbtouchscreen as module and enabling it + apt-get xinput & xinput-calibrator , my touchscreen worked.

    Axis were inverted, so a transformation matrix is needed on /etc/X11/xorg.conf.d/99-calibration.conf:


            Option "TransformationMatrix" "0 -1 1 1 0 0 0 0 1"

    On the other hand it needs some scaling as I cannot reach the screen's edges. As far as I can see it can only be done by trial-error - a very tedious task.


    By looking into /var/log/Xorg.0.log I can see the TransformationMatrix is read, but not other parameters suggested by xinput_calibrator mentioned in the log, so I'm not sure if they are relevant (modifying them had no effect).


    That's it for now...


  2. 7 hours ago, lanefu said:


    So a cheat to let customize image see the board would be for the script to source sdcard/etc/armbian-release


    Then you'll have a board var etc.  Sorry typing on my phone otherwise if provide a better example 


    Thank you for the tip. I currently solved this without cheating:

    1) I use a shared folder on VirtualBox

    2) On the main bash I'm running, after the compilation is done I create MyApp folder, and move from the output/images folder renaming 3 files generated.

    Simple solution for my dumb question :/



  3. I fully understand this, that quote was attribute to "No end-user support: built from trunk" wording in motd :)


    I learned linux playing with these SBC's, mainly Armbian and it is a hobby for me. I have several installations at my home-office as hobby projects. If I ever earn some money from these stuff I'll donate it. But for this or helping others on the forums, I need to learn first :) 


    Things like chroot environment, kernel parameters, kernel compiling are very new to me. The build script is very high quality code from my perspective. Last week, by examining it I learned a lot. For example the "wait_for_package_manager" function in general.sh provides solution for some of my problems. Kudos for @Igor and everybody contributed.


    I'll try to "document" my adventure for other newbies.


  4. OK, after a weeks effort, I (quick-)examined the code, found some related posts and got help from @Werner, thank you for breaking the "you are on your own" rule :beer:.


    The structure above needs major revising, if we go step by step:


    1) I have to write the variables in the outher bash to some .sh file (e.g. under userpatches/overlay/myapp) to be copied to chroot environment to be sourced.

    2 & 3) I cannot do this, because in "image-helpers.sh" customize_image routine only one file, "customize-image.sh" is copied to $SDCARD. So I must combine everything into that file.

    3) In customize-image.sh, I need to source the file I've saved in step 1 to get my variables back

    4) Is ok, but can only be used for setting variables.


    And finally how I can include my own files... See:

    Now I have to test this whole thing.



  5. 2 hours ago, Werner said:

    Maybe this help:



    Thank you Werner, that helps.


    I had a misconception with the namin. "Userpatch" mixed with kernel pathing, "overlay" with overlayfs.


    After examining the code I found correct keywords for search and found this:

    I also recognized from the code that only customize-image.sh is copied to destination and my other files (which I call from it) do not.


    Now the post you shared comes into play...


    Thank you again.


  6. OK, learning...


    I just recognized customize-image.sh is run in chroot, so direct access to host OS is not possible, maybe there is a variable for host binding which I couldn't find.

    On the other hand lib.config is run on host. Although it seems to be used for setting variables, it is source'd, so I can run anything there. So, this might work:


    cp "${SRC}""${MY_PRODUCT_DIR}" "${SDCARD}""${MY_SETUP_DIR}"


    And in customize-image.sh, I can move files around and do whatever I like with them.


    Can somebody please confirm? It takes too long to test...


  7. I have several files I want to embed into the compiled image, such as logos, desktop backgrounds, some public keys, scripts etc.

    I can put them in correct place (e.g. /usr/local/bin) or put it in a directory at root (e.g. /MyAppSetup) and run a script to handle/move them.

    In the past I was using a private git repo on my server to clone these, but if I'm compiling, I'd like to get rid of this extra layer.


    I could not find a way to do that. Could someone please advise?


  8. I have several applications running on different boards. After reading documents/forum posts and checking the code here and there, I came to the following setup and I'll be very pleased if someone confirms it.


    Application A1, A2,..An

    Board B1, B2,...Bn


    1) Create multiple compile_Ax_By.sh, containing:


    # Define my application
    # Call ./compile.sh with predefined parameters
    ./compile.sh BOARD="orangepipcplus" BRANCH="current" RELEASE="focal" BUILD_DESKTOP="yes" KERNEL_ONLY="no" KERNEL_CONFIGURE="no"


    2) In userpatches/customize-image.sh add a single line to my custom my-custom-image.sh (in case original got overwritten by update)


    3) In userpatches/my-custom-image.sh put my main logic with case and/or common functions:


    # MY MAIN
    main() {
     case $MYAPP in
    # MY SUBS


    4) Create userpatches/lib.config and form a similar case structure for variables


    case $HKBOX_TYPE in
    # common ones here



    One thing I couldn't find is the name of the final image. Something like Armbian_MyApp_MyBoard_....img would be nice. Otherwise it overwrites the original...




  9. Thank you Igor, I already had examined them briefly. Very nice work indeed... But not applicable for my case (I think)... I'm not bulk-producing...


    What I'm trying to do (for now) is simply adding some drivers, adding some scripting to customize-image.sh, such as additions to motd, several users/groups/rights management, pre-installing some additional software through apt-get, adding some custom scripts under /usr/local/bin etc.


    Testing this would require installation of the customized Armbian and checking the logs etc.


    Is there a working armhf emulator for x32-64? That would ease the burden alot... I found QEMU just now, did you try it?

    My development environment is on Win 10 and I don't mind speed loss caused by emulation.


    Or I'm really missing the point :/


  10. I was afraid to hear that...  It is hard to learn what tech they are using on specific drives.

    I'll buy larger-than-necessary USB flash drives hoping the controller would distribute the wearing...

    At that time I used USB-2 Flash'es, this time I'll get USB-3's, hoping to get better performance...


    But to be able to put the device in a case, the "Fit" labeled devices (Sandisk or Samsung) are best, and this will narrow my chances...


  11. Yep :) For years I ran away from that, too much detail for me - and I was afraid to fail, Linux is my second language :P. I spent last night on reading and applying, as of now I already have build all default images for all my boards.


    I was using scripting to modify the default setup, probably I will be able to create special purpose images (I think, I hope, ...).


  12. They do not provide armhf version for client and armbian-config installs the server.


    If I try to compile from source I get an error in sqlite part, which I couldn't resolve.


    sqlite/sqlite3.c: In function ‘sqlite3VdbeExec’:
    sqlite/sqlite3.c:90236:1: internal compiler error: Bus error
    90236 | }
          | ^
    Please submit a full bug report,
    with preprocessed source if appropriate.
    See <file:///usr/share/doc/gcc-9/README.Bugs> for instructions.
    make[2]: *** [Makefile:2168: sqlite/urbackupclientbackend-sqlite3.o] Error 1


    Did anyone succeed in this?


  13. I had a untested touchscreen device lying in its box , presenting itself as:


    Bus 006 Device 002: ID 0eef:0001 D-WAV Scientific Co., Ltd eGalax TouchScreen


    The driver provided on their site (https://www.eeti.com/drivers_Linux.html) complains that the controller is non-HID and reverts back the installation. I tried it manually with no success. I'm using an OPi PC Plus to build a Home Assistant machine.


    Does anyone have pointers for this for Armbian?

    Something like https://lennarkivistik.com/cat/misc/hacu/13 (this one is for RPi)


  14. In the past I used a lower end Sandisk's and used external flash drive with nand-sata-install to move system due to endurance.

    What is the status as of today? Are Sandisk Ultra A1's better than flash drives (i.e. not special "high endurance" ones).

    I need to ask because the installation is not easy to reach (another part of the city) and current problems may be because of flash failure (didn't get my hand on the devices yet).


    Any pointers will be much appreciated.


    PS: I found this today, very interesting read...



  15. OK, being away for a while and having 5.x kernel and sunxi_cedrus around I need some directions. I had some embedded 3.x desktop installations in a community museum showing videos (using mpv after a button press) which need revising. So I decided to update the firmware/scripts etc. These are Orange Pi One's...

    In the past I installed 3.x desktop version as it has better video acceleration. What should I do now? I don't see a focal desktop in downloads.

    Is it OK to use the focal server, install xfce4 on top of it? Will I have video acceleration?

    I've been using HEVC .mkv files...


    Thanks in advance



    ~# uname -a
    Linux myhostname 5.8.16-sunxi #20.08.12 SMP Sat Oct 17 13:46:53 CEST 2020 armv7l armv7l armv7l GNU/Linux
    :~# dmesg | grep -i cedr
    [    6.324285] sunxi_cedrus: module is from the staging directory, the quality is unknown, you have been warned.
    [    6.331485] cedrus 1c0e000.video-codec: Device registered as /dev/video0


  16. I feel so dumb !


    After many hours of tcpdump'ing and log tailing I found my mistake... Just to record this unfortunate event:

    I first installed pihole DHCP for the exterior network ( then moved to home-network ( side.

    On the web interface there is a "Router (gateway) IP address" and my router is in at - I left it as it is :unsure: That should be on the same subnet of course :blink: Changed it  and it worked...


    Sorry for your time 

  17. Hi friends, I've been away from SBC's (and you) for two years. With covid-19 at hand and all family at home remote working/learning, I wanted to redesign my home-office network. I bought two managed switches (Zyxel 1200GS-8) in order to introduce VLANs, transformed the office server to a router etc. I try to build a SBC gateway between public and home network but got myself into trouble. I'm working on this for three days now but couldn't get it working. I messed around a lot and got lost, need second (and more) eyes to debug it.


    Here is the network layout: 


    About the gateway:

    • OPi PC 2 ( has 1Gbps port connected to home NW) augmented with a 100 Mbps USB Ethernet (to router)
    • Latest (as of 2020/10) Armbian (Ubuntu 20.04.x based)
    • I removed Network Manager and switched to systemd & netplan (all my installations have these and they are very intuitive - and got stable)
    • Installed PiHole (manually from command line, disabling OS check) to serve .64.* home network.
    • Enabled ufw and handling the port/interface/subnet routing with before.rules


    What is working:

    • Can ping/traceroute/dig from the gateway
    • Can ping/traceroute/dig from the server
    • PiHole up and running as DNS and DHCP, home network devices can get IP from the PiHole DHCP server


    Problem: No internet connection on devices getting IP from PiHole DHCP


    I saw many such posts with PiHole but each problem is unique - and PiHole is new to me. What I understand is it is not working like industry standart SW like Bind9 & ISC-DHCP. There are many many stuff in play and I've got lost.


    (I played too much with the config files so I don't want to post them beforehand.)


    How can I debug this? There must be something I'm missing...


    Thanks in advance...

    Bülent Özden


  • Create New...