2022-11-29

disable systemd service in yocto?

in file meta-xxx/recipes-core/systemd/systemd_%.bbappend

do_configure_append() {

  #disabling autostart of systemd-timesyncd      sed -i -e "s/enable systemd-timesyncd.service/disable systemd-timesyncd.service/g" ${S}/presets/90-systemd.preset    #disabling autostart of systemd-resolved      sed -i -e "s/enable systemd-resolved.service/disable systemd-resolved.service/g" ${S}/presets/90-systemd.preset  }

2022-11-16

userspace 에서의 led class 를 이용하는 방법으로, /dev/uleds 열어서 핸들을 얻어온후.
그 핸들을 이용해서 시스템에 등록된 모든 led 기능을 사용한다.
커널 디바이스 드라이버 --> LED --> userspace led 선택.

2022-11-07

리눅스 노트북 빌드가 느릴때 확인사항.

sudo add-apt-repository ppa:linrunner/tlp  sudo apt update
sudo apt install tlp tlp-rdw
sudo apt install acpi-call-dkms
sudo apt install auto-cpufreq

2022-11-04

2022-10-14

[개발노트] sd카드 만들기.

#!/bin/sh
DEVSDCARD=/dev/sdb
DEFAULT_SDCARD_PARTUUID=e91c4e10-16e6-4c0e-bd0e-77becf4a3582
sudo partx -d ${DEVSDCARD}
sudo sgdisk -o ${DEVSDCARD}
sudo sgdisk --resize-table=128 -a 1  \
        -n 1:34:545 -c 1:fsbl1 \
        -n 2:546:1057 -c 2:fsbl2 \
        -n 3:1058:5153 -c 3:fip \
        -n 4:5154:136225 -c 4:bootfs -A 4:set:2 \
        -n 5:136226:2233377 -c 5:rootfs -u 5:${DEFAULT_SDCARD_PARTUUID} \
        -n 6:2233378:4330529 -c 6:userfs \
        -n 7:4330530:8524833 -c 7:raw \
        -p ${DEVSDCARD}
sudo dd if=arm-trusted-firmware/tf-a-stm32mp153d-ssonic-sdcard.stm32 of=${DEVSDCARD}1 conv=fdatasync  bs=8M
sudo dd if=arm-trusted-firmware/tf-a-stm32mp153d-ssonic-sdcard.stm32 of=${DEVSDCARD}2 conv=fdatasync  bs=8M
sudo dd if=fip/fip-stm32mp153d-ssonic-trusted.bin of=${DEVSDCARD}3 conv=fdatasync  bs=8M
sudo dd if=st-image-bootfs-openstlinux-weston-stm32mp153d-ssonic.ext4 of=${DEVSDCARD}4 conv=fdatasync  bs=8M
sudo dd if=st-image-core-openstlinux-weston-stm32mp153d-ssonic.ext4 of=${DEVSDCARD}5 conv=fdatasync  bs=8M
sudo dd if=st-image-userfs-openstlinux-weston-stm32mp153d-ssonic.ext4 of=${DEVSDCARD}6 conv=fdatasync  bs=8M
sudo dd if=/dev/null of=${DEVSDCARD}7 conv=fdatasync  bs=8M count=4

2022-10-02

[개발노트] eeprom에 mac address 넣기 참고용.

^^


 macb1: ethernet@f802c000 {

    compatible = "atmel,sama5d3-macb", "cdns,at91sam9260-macb", "cdns,macb";


    status = "okay";

    phy-mode = "rmii";

    #address-cells = <1>;

    #size-cells = <0>;


    nvmem-cells = <&eth0_addr>;

    nvmem-cell-names = "mac-address";


    phy0: ethernet-phy@1 {

        interrupt-parent = <&pioE>;

        interrupts = <30 IRQ_TYPE_EDGE_FALLING>;

        reg = <1>;

    };


    /*ethernet-phy@1 {

        reg = <0x1>;

    };*/

};


/* Bit banging internal I2C to manage the AT24MAC402 chip */


i2c3@ {

    compatible = "i2c-gpio";

    gpios = <&pioE 1 0 /* SDA */

             &pioE 2 0 /* SCK */

            >;

    i2c-gpio,delay-us = <4>;    /* ~178 kHz */

    #address-cells = <1>;

    #size-cells = <0>;


    /* EEPROM contains the eth0 MAC address */


    eeprom@58 {

        compatible = "atmel,24mac402";

        pagesize = <256>;

        read-only;

        reg = <0x58>;

        #address-cells = <1>;

        #size-cells = <1>;


        eth0_addr: eth-mac-addr@9A {

            reg = <0x0 0x06>;

        };

    };

};

2022-09-19

[삽질메모] nmcli


#ipv6 off
nmcli con modify br0 ipv6.method "disabled"

systemctl stop NetworkManager
systemctl restart NetworkManager


#static ip and bridge mode.
nmcli con add type bridge ifname br0 con-name br0
nmcli con add type bridge-slave ifname lan1 master br0 con-name lan1
nmcli con add type bridge-slave ifname lan2 master br0 con-name lan2

nmcli con modify br0 ipv4.addresses '192.168.222.77/24'
nmcli con modify br0 ipv4.gateway '192.168.222.1'
nmcli con modify br0 ipv4.dns '8.8.8.8 8.8.4.4'
nmcli con modify br0 ipv6.method disabled
nmcli con modify br0 ipv4.method manual
nmcli con modify br0 bridge.stp no
nmcli con up id br0

[   17.156194] br0: port 1(lan1) entered blocking state
[   17.159734] br0: port 1(lan1) entered listening state
[   32.472068] br0: port 1(lan1) entered learning state
[   47.832064] br0: port 1(lan1) entered forwarding state
[   47.835759] br0: topology change detected, propagating
systemd-networkd만 사용할때는 파란부분 blocking->forwarding 으로 빠르게 진행되지만.
NetworkManager만 사용할때는 빨간부분까지 4단계를 거치면서 빨간단계당 5초이상의 시간을 소요한다. 이것은 stp를 끔으로서 해결되었다.(빨간단계를 수행지않고 파란거만 빨리 진행된다는말)
stp : 스페팅트리프로토콜로써 스위치루프를 감지하여 죽이는 알고리즘이란다. 나는필요없...

systemctl daemon-reload
systemctl restart NetworkManager

#delete connection.
nmcli -f bridge con delete br0
nmcli -f bridge-slave con delete lan1
nmcli -f bridge-slave con delete lan2

nmcli -f ethernet con delete lan1


?? default gateway setup.

#gateway mode.
nmcli con add type ethernet ifname lan1 con-name lan1
nmcli con modify lan1 ipv4.addresses '192.168.222.77/24'
nmcli con modify lan1 ipv4.gateway '192.168.222.1'
nmcli con modify lan1 ipv4.dns '8.8.8.8 8.8.4.4'
nmcli con modify lan1 ipv4.method manual && \
nmcli con up id lan1 && \
nmcli con down id lan1 && \
nmcli con up id lan1


# nmcli connection modify bridge0 ipv4.addresses '192.0.2.1/24'
# nmcli connection modify bridge0 ipv4.gateway '192.0.2.254'
# nmcli connection modify bridge0 ipv4.dns '192.0.2.253'
# nmcli connection modify bridge0 ipv4.dns-search 'example.com'
# nmcli connection modify bridge0 ipv4.method manual // auto

nmcli connection modify bridge-br0 ipv4.method manual
nmcli con down id bridge-br0
nmcli con up id bridge-br0

route delete default gw 192.1678.225.1 lte0


nmcli con down id bridge-br0
nmcli con up id bridge-br0
nmcli con mod bridge-br0 ipv4.route-metric 1

nmcli con add con-name lan1 type ethernet ifname lan1 ipv4.method auto
nmcli con up id lan1
nmcli con add con-name lan2 type ethernet ifname lan2 ipv4.method shared
nmcli con up id lan2

nmcli -f ethernet con delete lan1
nmcli -f ethernet con delete lan2

nmcli connection add type ethernet ifname lan2 ipv4.method shared con-name local

nmcli c add con-name lan2 type ethernet ifname lan2 ipv4.method shared ipv6.method ignore
nmcli c up local

esp32-test softap_start_args happycpu p@ss1234 4
nmcli con add type ethernet ifname ethap0 ipv4.method shared con-name ethap0 ipv4.addresses 192.168.100.1/24
nmcli con up id ethap0

ip route add default via 192.168.225.1 dev lte0
ip route replace default via 192.0.2.1 dev eth0

ip route del default via 1.2.3.4 dev eth0 proto static metric 100
ip route add default via 1.2.3.4 dev eth0 proto static metric 90

2022-09-18

[개발노트] overlay.txt란 이런것.

https://developer.toradex.com/linux-bsp/how-to/device-tree/device-tree-overlays-linux/#preenabled-device-tree-overlays 발췌~

Enable/Disable a Device Tree Overlay

To enable or disable applying a pre-built overlay on a Toradex SoM just add/remove it to/from the file overlays.txt located on the boot partition, and reboot the system.


For example, one wants to disable a parallel RGB interface and display on Colibri-iMX8X and enable an HDMI interface (using DSI-to-HDMI adapter). The initial overlays.txt file looks like:


# cat /boot/overlays.txt 

fdt_overlays=colibri-imx8x_parallel-rgb_overlay.dtbo colibri-imx8x_ad7879_overlay.dtbo display-edt7_overlay.dtbo


Steps to disable a parallel RGB and enable an HDMI:


Open the overlays.txt file with any text editor, e.g. vi:

# vi /boot/overlays.txt 


Remove overlays, that is needed for Resistive Touch Display 7" Parallel and add one for DSI-to-HDMI adapter. The file should look like:

# cat /boot/overlays.txt 

fdt_overlays=colibri-imx8x_dsihdmi_overlay.dtbo


Synchronize them filesystems:

# sync


Reboot the system:

# reboot

2022-09-16

[잡시식] 시스템에 할당된(연결된?) 공인아이피 알아내기.

curl ifconfig.me

공유기밑에 사설ip임에도 최상단 공인ip를 알아낼수있다.
--> 이걸로, ISP정보를 알아낼수있을까?
--> 이걸로 ISP DNS서버를 알아내서.
--> 거기에 ping 을 하자. 제일 빠를듯?

2022-09-14

[개발노트][트러블슈팅] git clone이 안될때


갑자기 아래의 오류와 함께 git이 안될때...

Git: Fatal:Unsupported SSL backend 'openssl'. Supported SSL backends: gnutls


wget https://curl.haxx.se/ca/cacert.pem

mv cacert.pem ~/.ssh

git config --global http.sslBackend "openssl"

git config --global http.sslCAInfo ~/.ssh/cacert.pem

git config --global --unset http.sslBackend


암호화 + base64 하고 쉘스크립트.

 #!/bin/bash # IV와 UserKey를 설정합니다 (아스키 문자열을 그대로 사용). IV="0123456789abcdef"  UserKey="0123456789abcdef" # IV와 UserKey를 16...