сборка ядра
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
Переходим в каталог в котором будем собирать ядро: cd /opt Ставим не обходимые пакеты для сборки в систему: apt install git make gcc linux-libc-dev pkg-config libncurses-dev flex bison libssl-dev libelf-dev dwarves rsync bc fakeroot build-essential xz-utils libncurses5-dev Скачиваем патчи солидрана: git clone https://github.com/SolidRun/lx2160a_build.git Скачиваем ядро: git clone --depth 1 https://github.com/nxp-qoriq/linux -b LSDK-21.08 Переходим в каталог ядра: cd linux Производим слияние конфигов: cp ../lx2160a_build/configs/linux/lx2k_additions.config arch/arm64/configs/ ./scripts/kconfig/merge_config.sh arch/arm64/configs/defconfig arch/arm64/configs/lsdk.config arch/arm64/configs/lx2k_additions.config Нужно как то себя обозначить для дальнейшего использования git: git config --global user.email "you@example.com" git config --global user.name "Your Name" Применяем патчи: git am ../lx2160a_build/patches/linux-LSDK-21.08/*.patch Получаем настройки текущего ядра: Достаточно любой из команд, но ничего страшного если выполните по рядку zcat /proc/config.gz > .config make oldconfig На этом этапе можно добавить batman_adv в конфиг vim .config найти строку CONFIG_BATMAN_ADV ( используй / для поиска) и привести ее к виду CONFIG_BATMAN_ADV=m CONFIG_BONDING=m Теперь производим сборку и установку make -j$(nproc) make modules_install make install Если требуется можно сохранить старое ядро mv /boot/Image /boot/Image.original mv /boot/Image.gz /boot/Image.gz.original Вот так мы установим новое ядро: cp arch/arm64/boot/Image.gz arch/arm64/boot/Image /boot/ |
скрипт для поднятия сети
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
cat > /usr/local/sbin/cx-lx2-network.sh << "EOF" #!/bin/bash # Script to bring up high speed network interfaces ont the SolidRun LX2160A # Clearfog / Honeycomb for n in 9 7 10 8 do /usr/bin/ls-addni dpmac.$n done exit 0 EOF cat > /etc/systemd/system/ls-addni.service << "EOF" [Unit] DefaultDependencies=no Description=Bring up high-speed network interfaces Before=network-pre.target Wants=network-pre.target [Service] Type=oneshot ExecStart=/usr/local/sbin/cx-lx2-network.sh TimeoutSec=0 RemainAfterExit=yes [Install] RequiredBy=network.target EOF chmod +x /usr/local/sbin/cx-lx2-network.sh systemctl daemon-reload systemctl enable ls-addni.service |
sysctl.conf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
net.ipv4.ip_forward=1 net.ipv4.tcp_max_tw_buckets = 65536 #net.ipv4.tcp_tw_recycle = 1 net.ipv4.tcp_tw_reuse = 0 net.ipv4.tcp_max_syn_backlog = 131072 net.ipv4.tcp_syn_retries = 3 net.ipv4.tcp_synack_retries = 3 net.ipv4.tcp_retries1 = 3 net.ipv4.tcp_retries2 = 8 #net.ipv4.tcp_rmem = 16384 174760 349520 #net.ipv4.tcp_wmem = 16384 131072 262144 net.ipv4.tcp_mem = 262144 524288 1048576 net.ipv4.tcp_max_orphans = 65536 net.ipv4.tcp_fin_timeout = 10 net.ipv4.tcp_low_latency = 1 #net.ipv4.tcp_syncookies = 0 net.core.rmem_max = 134217728 net.core.wmem_max = 134217728 #net.ipv4.tcp_rmem = 4096 87380 67108864 #net.ipv4.tcp_wmem = 4096 65536 67108864 net.ipv4.tcp_rmem = 16384 174760 67108864 net.ipv4.tcp_wmem = 16384 131072 67108864 sysctl -w net.ipv4.tcp_window_scaling=1 sysctl -w net.core.rmem_max=16777216 sysctl -w net.core.wmem_max=16777216 |
BATMAN-ADV
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
apt install -y git libnl-3-dev libnl-genl-3-dev libnl-genl-3-dev make pkg-config gcc Установка нового модуля batman-adv cd /opt/ git clone https://github.com/open-mesh-mirror/batman-adv.git cd batman-adv git checkout v2024.2 sed -i '/export/s/=n/=y/' Makefile make -j`nproc` make install echo "batman-adv" | tee -a /etc/modules Сборка и установка программы управления batman_adv cd /opt/ git clone https://github.com/open-mesh-mirror/batctl.git cd batctl/ git checkout v2024.2 make -j`nproc` make install |
solidrun 2160
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
https://solidrun.atlassian.net/wiki/spaces/developer/pages/197494288/HoneyComb+LX2+ClearFog+CX+LX2+Quick+Start+Guide https://github.com/SolidRun/lx2160a_build https://solid-run-images.sos-de-fra-1.exo.io/LX2k/lx2160a_build/20240731-2a7ab21/lx2160acex7_2000_700_3200_8_5_2-2a7ab21.img.xz 1. Включаем загрузку с сд карты (off \ on \ on \ on \ off) 2. Прерываем загрузку нажатием любой кнопки 3. Записываем в mmc образ load mmc 0:1 0xa4000000 ubuntu-core.img mmc dev 1 mmc write 0xa4000000 0 0xd2000 4. Загружаемся в новь созданный образ boot 5. Логинемся root/root 6. Меняем разметку на диске mmc fdisk /dev/mmcblk1 жмем p - показать размер текущей системы жмем d - удалить раздел жмем n - создадим раздел !!! внимание нужно отступить 131072 вводим 131072 после всех операций с разделами для сохранения жмем w 7. Увеличиваем фс resize2fs /dev/mmcblk1p1 8. Выключаем устройство и переключаем перемычки на загрузку mmc (off \ on \ on \ off \ off) 9. ssh root echo "PermitRootLogin yes" >> /etc/ssh/sshd_config systemctl restart sshd 10. dhcp cat > /etc/network/interfaces.d/eth2 << "EOF" auto eth2 iface eth2 inet dhcp EOF |