找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 21668|回复: 172

[2021.8.23]在玩客云Armbian上编译S8XX内核并开启docker

 火.. [复制链接]
发表于 2021-5-2 17:53 | 显示全部楼层 |阅读模式
本帖最后由 alienven 于 2021-10-20 23:14 编辑

[2021.8.23]更新下载链接。
[2021.7.28]整理内容排版。
要求:

1. 玩客云一台
2. 刷好Armbian(本文基于balbes150编译的Armbian_21.02.0-trunk_Aml-s812_buster_current_5.10.0_.img)
3. 16G以上U盘

感谢:[SLAzurin](https://github.com/SLAzurin/armbian-aml-s8xx-kernel-build-steps/blob/main/README.md)
文件外链:https://wwa.lanzoui.com/b00uyslsh 密码:c8g1

### 懒人版
   如果你Armbian版本和我一样可以使用我编译好的内核包。网盘里名为后缀7z.001.flac三个分卷包,使用前删除后缀flac,解压得到linux-meson-mx-integration-5.11-20201225.tar。MobaXterm上传到eMMC的/root目录(确保空间大于2.5G)或者挂载U盘到/mnt,U盘格式必须为ext4。重要,否则后面解压文件会报错。

  1. tar -xvf linux-meson-mx-integration-5.11-20201225.tar
  2. cd /linux-meson-mx-integration-5.11-20201225
  3. make modules_install && make headers_install && make install
  4. mv /boot/uImage /boot/uImage.old
  5. cp arch/arm/boot/uImage /boot
复制代码

拔电!重启完再运行check-config.sh看一下模块是否正常启用。
网盘里名为check-config.sh,上传至/root

  1. bash /root/check-config.sh
复制代码

删除垃圾文件。
  1. rm -r linux-meson-mx-integration-5.11-20201225
  2. rm linux-meson-mx-integration-5.11-20201225.tar
复制代码



### 编译步骤:

1. #### 下载源码

   因为我刷的是Armbian_21.02.0-trunk_Aml-s812_buster_current_5.10.0_.img,所以我选择编译和Armbian内核一致的版本,你也可以编译更高的内核版本。下载地址:https://github.com/xdarklight/linux/tree/meson-mx-integration-5.11-20201225(这里显示为5.11实际上为5.10,可在Makefile里查看)


2. #### SSH连接上玩客云

   我习惯使用MobaXterm,这个看你喜欢。切换到root账户。挂载U盘到/mnt。

  1. su root                        #切换到root账户
  2. lsblk                            #查看U盘路径
  3. mount /dev/sda1 /mnt  #挂载U盘到/mnt
复制代码



3. #### 解压文件云

   用MobaXterm上传linux-meson-mx-integration-5.11-20201225.zip至玩客云/mnt

  1. cd /mnt
  2. unzip linux-meson-mx-integration-5.11-20201225.zip
  3. cd linux-meson-mx-integration-5.11-20201225
复制代码

4. #### 创建.config

   将玩客云/boot下config-5.10.0-aml-s812内核配置文件复制到电脑桌面用记事本打开。(也可选择在玩客云里复制到linux-meson-mx-integration-5.11-20201225下并改名.config。用nano修改,如果你是其他版本,自行修改路径)

  1. cp /boot/config-5.10.0-aml-s812 /mnt/linux-meson-mx-integration-5.11-20201225/.config
  2. nano .config
复制代码

   这里说明一下,之前Armbian可以安装docker,但运行docker run会报错,原因是缺少内核模块。缺少的模块可以运行下面这条命令查看。

  1. bash /root/check-config.sh
复制代码

  1.       Generally Necessary:
  2.       
  3.       - cgroup hierarchy: properly mounted [/sys/fs/cgroup]
  4.       - CONFIG_NAMESPACES: enabled
  5.       - CONFIG_NET_NS: enabled
  6.       - CONFIG_PID_NS: enabled
  7.       - CONFIG_IPC_NS: enabled
  8.       - CONFIG_UTS_NS: enabled
  9.       - CONFIG_CGROUPS: enabled
  10.       - CONFIG_CGROUP_CPUACCT: enabled
  11.       - CONFIG_CGROUP_DEVICE: enabled
  12.       - CONFIG_CGROUP_FREEZER: enabled
  13.       - CONFIG_CGROUP_SCHED: enabled
  14.       - CONFIG_CPUSETS: enabled
  15.       - CONFIG_MEMCG: enabled
  16.       - CONFIG_KEYS: enabled
  17.       - CONFIG_VETH: enabled (as module)
  18.       - CONFIG_BRIDGE: enabled
  19.       - CONFIG_BRIDGE_NETFILTER: enabled
  20.       - CONFIG_IP_NF_FILTER: enabled
  21.       - CONFIG_IP_NF_TARGET_MASQUERADE: enabled
  22.       - CONFIG_NETFILTER_XT_MATCH_ADDRTYPE: enabled
  23.       - CONFIG_NETFILTER_XT_MATCH_CONNTRACK: enabled
  24.       - CONFIG_NETFILTER_XT_MATCH_IPVS: enabled
  25.       - CONFIG_IP_NF_NAT: enabled
  26.       - CONFIG_NF_NAT: enabled
  27.       - CONFIG_POSIX_MQUEUE: missing
  28.       
  29.       Optional Features:
  30.       
  31.       - CONFIG_USER_NS: enabled
  32.       - CONFIG_SECCOMP: enabled
  33.       - CONFIG_CGROUP_PIDS: enabled
  34.       - CONFIG_MEMCG_SWAP: enabled
  35.         (cgroup swap accounting is currently enabled)
  36.       - CONFIG_BLK_CGROUP: enabled
  37.       - CONFIG_BLK_DEV_THROTTLING: missing
  38.       - CONFIG_CGROUP_PERF: enabled
  39.       - CONFIG_CGROUP_HUGETLB: missing
  40.       - CONFIG_NET_CLS_CGROUP: enabled
  41.       - CONFIG_CGROUP_NET_PRIO: enabled
  42.       - CONFIG_CFS_BANDWIDTH: enabled
  43.       - CONFIG_FAIR_GROUP_SCHED: enabled
  44.       - CONFIG_RT_GROUP_SCHED: missing
  45.       - CONFIG_IP_NF_TARGET_REDIRECT: enabled
  46.       - CONFIG_IP_VS: enabled
  47.       - CONFIG_IP_VS_NFCT: missing
  48.       - CONFIG_IP_VS_PROTO_TCP: missing
  49.       - CONFIG_IP_VS_PROTO_UDP: missing
  50.       - CONFIG_IP_VS_RR: missing
  51.       - CONFIG_EXT3_FS: enabled
  52.       - CONFIG_EXT3_FS_XATTR: missing
  53.       - CONFIG_EXT3_FS_POSIX_ACL: missing
  54.       - CONFIG_EXT3_FS_SECURITY: missing
  55.         (enable these ext3 configs if you are using ext3 as backing filesystem)
  56.       - CONFIG_EXT4_FS: enabled
  57.       - CONFIG_EXT4_FS_POSIX_ACL: enabled
  58.       - CONFIG_EXT4_FS_SECURITY: enabled
  59.       - Network Drivers:
  60.         - "overlay":
  61.           - CONFIG_VXLAN: enabled (as module)
  62.           - CONFIG_BRIDGE_VLAN_FILTERING: enabled
  63.             Optional (for encrypted networks):
  64.             - CONFIG_CRYPTO: enabled
  65.             - CONFIG_CRYPTO_AEAD: enabled
  66.             - CONFIG_CRYPTO_GCM: enabled
  67.             - CONFIG_CRYPTO_SEQIV: enabled
  68.             - CONFIG_CRYPTO_GHASH: enabled
  69.             - CONFIG_XFRM: enabled
  70.             - CONFIG_XFRM_USER: enabled
  71.             - CONFIG_XFRM_ALGO: enabled
  72.             - CONFIG_INET_ESP: enabled
  73.         - "ipvlan":
  74.           - CONFIG_IPVLAN: enabled (as module)
  75.         - "macvlan":
  76.           - CONFIG_MACVLAN: enabled (as module)
  77.           - CONFIG_DUMMY: enabled (as module)
  78.         - "ftp,tftp client in container":
  79.           - CONFIG_NF_NAT_FTP: enabled
  80.           - CONFIG_NF_CONNTRACK_FTP: enabled
  81.           - CONFIG_NF_NAT_TFTP: enabled
  82.           - CONFIG_NF_CONNTRACK_TFTP: enabled
  83.       - Storage Drivers:
  84.         - "aufs":
  85.           - CONFIG_AUFS_FS: missing
  86.         - "btrfs":
  87.           - CONFIG_BTRFS_FS: enabled
  88.           - CONFIG_BTRFS_FS_POSIX_ACL: missing
  89.         - "devicemapper":
  90.           - CONFIG_BLK_DEV_DM: enabled (as module)
  91.           - CONFIG_DM_THIN_PROVISIONING: enabled (as module)
  92.         - "overlay":
  93.           - CONFIG_OVERLAY_FS: enabled
  94.         - "zfs":
  95.           - /dev/zfs: missing
  96.           - zfs command: missing
  97.           - zpool command: missing
复制代码

   将红色报错的加到.config。例如CONFIG_POSIX_MQUEUE: missing
   在.config里搜索CONFIG_POSIX_MQUEUE这一项
   #CONFIG_POSIX_MQUEUE  is not set
   改为  CONFIG_POSIX_MQUEUE=y
   下面相关的
   POSIX_MQUEUE_SYSCTL
   也改为  CONFIG_POSIX_MQUEUE_SYSCTL=y
   其它同理。如果遇到.config里没有的直接加到末尾即可。末尾的"zfs"用不到略过,不用管。
   修改完上传到linux-meson-mx-integration-5.11-20201225里。

5. ### 正式开始编译

  1. apt update
  2. apt install libncurses-dev     #安装menuconfig依赖
复制代码

什么都不要动选save保存退出。

  1. screen -S linux                #这一步是为了待会关掉ssh后编译不中断
  2. make -j4 LOCALVERSION="-aml-s812" LOADADDR=0x00208000 uImage modules
复制代码

   编译大概要花费4个小时,关掉ssh,四个小时后再来看看。

6. ### 安装内核模块

  1. screen -r linux
  2. make modules_install && make headers_install && make install
  3. mv /boot/uImage /boot/uImage.old
  4. cp arch/arm/boot/uImage /boot
  5. screen -S linux -X quit
复制代码

   拔电!重启完再运行check-config.sh看一下模块是否正常启用

  1. bash /root/check-config.sh
复制代码

Enjoy!!!




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
我的恩山、我的无线 The best wifi forum is right here.
发表于 2021-5-2 17:58 | 显示全部楼层
第一!!!!!!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-5-2 19:27 | 显示全部楼层
来学习下编译内核
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-5-2 21:55 | 显示全部楼层
来看看学习下!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-5-3 02:02 | 显示全部楼层

来看看学习
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-5-3 06:30 来自手机 | 显示全部楼层
来看看学习下
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-5-3 09:53 | 显示全部楼层
看看学习下!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-5-3 20:44 | 显示全部楼层
玩客云一台
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-5-4 09:38 | 显示全部楼层
syhsegsdg更好
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-5-4 09:41 | 显示全部楼层
非常感谢!玩法似锦。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-5-4 10:24 | 显示全部楼层
来学习下编译内核
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-5-4 10:25 | 显示全部楼层
来看看学习下
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-5-4 22:35 | 显示全部楼层
来看看学习下
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-5-4 23:43 | 显示全部楼层
来看看学习
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-5-5 06:48 | 显示全部楼层
因为我刷的是Armbian_21.02.0-trunk_Aml-s812_buster_current_5.10.0_.img,所以我选择编译和Armbian内核一致的版本
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-3-28 19:23

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

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