恩山无线论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1201|回复: 39

[N1盒子] 【菜鸟小狮子】瞎记点近段编译armbian和fullconenat的步骤(已成功,待验证)

[复制链接]
发表于 2020-3-5 16:40 | 显示全部楼层 |阅读模式
本帖最后由 tinylion 于 2020-3-15 19:39 编辑

操作系统:https://ubuntu.com/download/desk ... &architecture=amd64


之前因为编译了lean的openwrt,依赖这些都装了。


编译armbian镜像


参考贴:https://www.right.com.cn/forum/thread-1035863-1-1.html

1. git clone https://github.com/150balbes/Build-Armbian
2. cd Build-Armbian && touch .ignore_changes
3. ./compile.sh

之后弹出界面开始选编译核心或是镜像,选了编译镜像,然后选board,但找不到原贴说的g12,自己选了aml-s9xxx这项
然后会下载一堆的东东,被墙网慢的会吐血,下载都是编译器gcc gnu这些东东
然后会再次弹出编译选项框,里面瞎选了开启bbr和ipset,
小tip,编译选项框界面输入 / ,然后输入bbr或ipset,可以查看相应的模块在哪里开启,进入打上*或M
选完后在主界面选到 exit,此后会自动开始编译,感觉很不习惯,不能像编译openwrt那样自己输make -jn
此后一路顺利,编译镜像OK,最后的输出显示如下:

Filesystem      Size  Used Avail Use% Mounted on
udev            1.9G     0  1.9G   0% /dev
tmpfs           391M  2.1M  389M   1% /run
/dev/sda1       126G   35G   85G  30% /
tmpfs           2.0G     0  2.0G   0% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/loop3      4.3M  4.3M     0 100% /snap/gnome-calculator/544
/dev/loop1      3.8M  3.8M     0 100% /snap/gnome-system-monitor/127
/dev/loop2       92M   92M     0 100% /snap/core/8689
/dev/loop0      1.0M  1.0M     0 100% /snap/gnome-logs/81
/dev/loop4       15M   15M     0 100% /snap/gnome-characters/399
/dev/loop5      161M  161M     0 100% /snap/gnome-3-28-1804/116
/dev/loop6       45M   45M     0 100% /snap/gtk-common-themes/1440
/dev/loop7       90M   90M     0 100% /snap/core/8268
/dev/loop8       55M   55M     0 100% /snap/core18/1668
tmpfs           391M   16K  391M   1% /run/user/121
tmpfs           391M   32K  391M   1% /run/user/1000
tmpfs           391M     0  391M   0% /run/user/0
tmpfs           2.6G 1020M  1.6G  40% /home/tinylion/Build-Armbian/.tmp/rootfs-current-aml-s9xxx-bionic-no-no
/dev/loop9p2    1.3G  980M  269M  79% /home/tinylion/Build-Armbian/.tmp/mount-current-aml-s9xxx-bionic-no-no
/dev/loop9p1    256M   77M  179M  31% /home/tinylion/Build-Armbian/.tmp/mount-current-aml-s9xxx-bionic-no-no/boot
[ o.k. ] Writing U-boot bootloader [ /dev/loop9 ]
[ .... ] Fingerprinting
[ o.k. ] Done building [ /home/tinylion/Build-Armbian/output/images/Armbian_20.05.0-trunk_Aml-s9xxx_bionic_current_5.5.1.img ]
[ o.k. ] Runtime [ 242 min ]
[ o.k. ] Repeat Build Options [ ./compile.sh  BOARD=aml-s9xxx BRANCH=current RELEASE=bionic BUILD_MINIMAL=no BUILD_DESKTOP=no KERNEL_ONLY=no KERNEL_CONFIGURE=yes  ]

编译的镜像是5.5.1,刷入U盘成功,从U盘写入EMMC也成功,但未得空测试编译的bbr或ipset这些是否开启正常。



编译fullconenat


参考贴:https://www.haiyun.me/archives/1266.html

1. git clone https://github.com/150balbes/Amlogic_s905-kernel.git
2.cd Amlogic_s905-kernel

参考:https://github.com/Chion82/netfilter-full-cone-nat

(1)把xt_FULLCONENAT.c 拷贝到Amlogic_s905-kernel/net/netfilter/ 目录下
(2)在文件 Amlogic_s905-kernel/net/netfilter/Makefile最末加上
obj-$(CONFIG_NETFILTER_XT_TARGET_FULLCONENAT) += xt_FULLCONENAT.o
(3)编辑文件 Amlogic_s905-kernel/net/ipv4/netfilter/Kconfig
在config IP_NF_TARGET_NETMAP这一节结束的后面加上
config IP_NF_TARGET_FULLCONENAT  tristate "FULLCONENAT target support"  depends on NETFILTER_ADVANCED  select NETFILTER_XT_TARGET_FULLCONENAT  ---help---  This is a backwards-compat option for the user's convenience  (e.g. when running oldconfig). It selects  CONFIG_NETFILTER_XT_TARGET_FULLCONENAT.
(4)编辑文件 Amlogic_s905-kernel/net/netfilter/Kconfig
config NETFILTER_XT_TARGET_NETMAP 这一节结束的后面加上
config NETFILTER_XT_TARGET_FULLCONENAT  tristate '"FULLCONENAT" target support'  depends on NF_NAT  ---help---  Full Cone NAT  To compile it as a module, choose M here. If unsure, say N.(5)此后输入 make menuconfig 选择 Networking support -> Network options -> Network packet filtering framework (Netfilter) -> IP: Netfilter Configuration -> <M> FULLCONENAT target support

此时若直接 make -j1 V=s
编译到 fullconenat时会出错,再次仔细看readme.md,发现得开启CONFIG_NF_CONNTRACK_EVENTS,用 / ,然后搜CONFIG_NF_CONNTRACK_EVENTS
找到对应的选项,开启,再次编译就成功了。

以上步骤编译出来的.ko文件insmod不能用,
用modinfo xt_FULLCONENAT.ko 发现版本不对
需要用 make LOCALVERSION="-aml-s9xxx"  -j4

还可以尝试在编译弹出框时,在local version里先写入-aml-s9xxx
然后再 make -j4 V=s

虽然最后得到了正确的.ko文件,但insmod时还是会报错,还有后面要解决iptables的更新问题,实在不是一般的麻烦,
最后参照 https://www.jianshu.com/p/88e7cd6a0c95 这贴暂时没有报错了,但是不是真实现Fullconenat了,还得后续验证!



编译成功最后会输出如下信息:
Setup is 13724 bytes (padded to 13824 bytes).
System is 8833 kB
CRC 51b3f831
Kernel: arch/x86/boot/bzImage is ready  (#1)
  MODPOST 13 modules
  CC [M]  drivers/thermal/intel/x86_pkg_temp_thermal.mod.o
  LD [M]  drivers/thermal/intel/x86_pkg_temp_thermal.ko
  CC [M]  fs/efivarfs/efivarfs.mod.o
  LD [M]  fs/efivarfs/efivarfs.ko
  CC [M]  net/ipv4/netfilter/iptable_nat.mod.o
  LD [M]  net/ipv4/netfilter/iptable_nat.ko
  CC [M]  net/ipv4/netfilter/nf_log_arp.mod.o
  LD [M]  net/ipv4/netfilter/nf_log_arp.ko
  CC [M]  net/ipv4/netfilter/nf_log_ipv4.mod.o
  LD [M]  net/ipv4/netfilter/nf_log_ipv4.ko
  CC [M]  net/ipv6/netfilter/nf_log_ipv6.mod.o
  LD [M]  net/ipv6/netfilter/nf_log_ipv6.ko
  CC [M]  net/netfilter/nf_log_common.mod.o
  LD [M]  net/netfilter/nf_log_common.ko
  CC [M]  net/netfilter/xt_FULLCONENAT.mod.o
  LD [M]  net/netfilter/xt_FULLCONENAT.ko
  CC [M]  net/netfilter/xt_LOG.mod.o
  LD [M]  net/netfilter/xt_LOG.ko
  CC [M]  net/netfilter/xt_MASQUERADE.mod.o
  LD [M]  net/netfilter/xt_MASQUERADE.ko
  CC [M]  net/netfilter/xt_addrtype.mod.o
  LD [M]  net/netfilter/xt_addrtype.ko
  CC [M]  net/netfilter/xt_mark.mod.o
  LD [M]  net/netfilter/xt_mark.ko
  CC [M]  net/netfilter/xt_nat.mod.o
  LD [M]  net/netfilter/xt_nat.ko
虽顺利得到.ko文件,但编译的时候没加上版本,估计会有问题,回头在insmod试试

排版很乱,有空慢慢编辑















我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-3-6 04:20 | 显示全部楼层
看看怎么样
我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-3-6 06:02 | 显示全部楼层
学习一下,
我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-3-6 06:47 | 显示全部楼层
学习参考进步勃起
我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-3-6 09:20 | 显示全部楼层
学习参考进步勃起
我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-3-6 09:27 | 显示全部楼层
坐看大佬们漂移,我开着我的7手桑塔纳慢慢跟随!
我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-3-6 09:27 | 显示全部楼层
armbian和fullconenat
我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-3-6 19:04 | 显示全部楼层
楼主,你是一个大好人!!
我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-3-7 21:19 来自手机 | 显示全部楼层
大佬NB了,学习
我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-3-13 12:26 | 显示全部楼层
感谢分享!
我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-3-13 13:39 | 显示全部楼层
好看看如何啊
我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-3-13 14:09 | 显示全部楼层
路过学习下
我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-3-14 22:36 | 显示全部楼层
RE: 【菜鸟小狮子】瞎记点近段编译armbian和fullconenat的步骤(已成功,待验证)
我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-3-15 07:49 来自手机 | 显示全部楼层
如果您要查看本帖隐藏内容请回复
我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-3-21 00:17 | 显示全部楼层
感谢分享!
我的恩山、我的无线 The best wifi forum is right here.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )|网站地图

GMT+8, 2020-11-27 22:19

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表