侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

重新编译龙芯梦兰loongnix系统内核添加iptables_nat模块

2023-11-27 星期一 / 0 评论 / 0 点赞 / 56 阅读 / 6956 字

龙芯梦兰发布的基于fedora21的loongnix系统,但系统没有iptables_nat模块,导致无法安装docker应用。 为了安装docker应用,只能重新编译内核加入iptables_nat

龙芯梦兰发布的基于fedora21的loongnix系统,但系统没有iptables_nat模块,导致无法安装docker应用。

为了安装docker应用,只能重新编译内核加入iptables_nat模块。

在网上找了很多重新编译内核的资料,发现都不太适合龙芯的系统。

自己摸索着重新编译,最终成功步骤如下:

开始之前,确认系统已经安装了必要的软件包:

  • audit-libs-devel
  • binutils-devel
  • elfutils-devel
  • git
  • hmaccalc
  • newt-devel
  • pciutils-devel
  • perl-ExtUtils-Embed
  • python-devel
  • rpmdevtools
  • zlib-devel

1: 获得源码

可以去mirror.lemote.com上获取对应版本的源码包,我使用的源码包文件:kernel-4.4.25-2.fc21.loongson.server.2.src.rpm 

2:用如下命令安装

rpm -ivh kernel--4.4.fc21.loongson.server.2.src.rpm
正在升级/安装...
   1:kernel-4.4.25-2.fc21.loongson.ser################################# [100%]

这个命令把 RPM 目录写入了 ${HOME}/repbuild/SOURCES 和 ${HOME}/rpmbuild/SPECS ,${HOME} 是您的用户主目录。

3:用如下命令准备内核源码树:

cd ~/rpmbuild/SPECSrpmbuild -bp --target=mipsel kernel.spec

现在,内核源码树就位于 ~/rpmbuild/BUILD/kernel-4.4.fc21.loongson/linux-4.4.25-2.custom.fc21.loongson.server.2.mips64el 目录。

4:改变内核源码树目录

cd ~/rpmbuild/BUILD/kernel--4.4.fc21.loongson/linux--4.4.fc21.loongson/

5: 选择所需的配置文件

cp configs/kernel-4.4.25-mips64el.config .config

6:运行下面的命令

make mrproper ( 去除编译过的档案 - 很重要, 每次重编时都要记得做 )make oldconfigmake menuconfig

7:选中下面的模块:

Linux Kernel Configuration
    -> Networking support
        -> Networking options
            -> Network packet filtering framework(netfilter)
                -> Core netfilter configuration
                    -> Netfilter connection tracking support
                    -> Netbios name service protocal support(new)
                    -> Netfilter Xtables support (required for ip_tables)

                          需要包含xt_conntrack模块
Linux Kernel Configuration
    -> Networking support
        -> Networking options
            -> Network packet filtering framework(netfilter)
                -> IP: Netfilter Configuration
                    -> IPv4 connection tracking support (require for NAT)
                    -> IP tables support (required for filtering/masq/NAT)
                    -> MASQUERADE target support
                    -> REDIRECT target support

8:编译 & 安装 Kernel

依序执行下列指令 :

make -j9 all ( 需花一段时间 )make -j9 modules_installmake install

9:新Kernel写入到GRUB

备份旧的grub配置文件

cp grub2/grub.cfg grub2/grub.cfg.bak

更新grub配置文件

grub2-mkconfig -o /boot/grub2/grub.cfg

10:重启系统后查询系统nat模块是否添加成功

#lsmodModule                  Size  Used byfuse                   99126  3 cfg80211              264539  0 rfkill                 18355  1 cfg80211ebtables               27720  0 ip6_tables             18493  0 iptable_nat             1991  0 nf_conntrack_ipv4      13512  1 nf_defrag_ipv4          1635  1 nf_conntrack_ipv4nf_nat_ipv4             5999  1 iptable_natnf_nat                 13749  1 nf_nat_ipv4nf_conntrack           88967  3 nf_nat,nf_nat_ipv4,xt_conntrack,nf_conntrack_ipv4iptable_mangle          1848  0 iptable_raw             1580  0 iptable_filter          1656  1 ip_tables              18175  4 iptable_filter,iptable_mangle,iptable_nat,iptable_rawx_tables               21685  6 ip_tables,iptable_filter,ebtables,iptable_mangle,ip6_tables,iptable_rawdm_mirror              16043  0 dm_region_hash          8471  1 dm_mirrordm_log                 10163  2 dm_region_hash,dm_mirrorsnd_hda_intel          20677  0 snd_hda_codec         104369  1 snd_hda_intelsnd_hda_core           38782  2 snd_hda_codec,snd_hda_inteljoydev                 11783  0 snd_hwdep               7538  1 snd_hda_codecsnd_seq                65617  0 snd_seq_device          3792  1 snd_seqsnd_pcm                95955  3 snd_hda_codec,snd_hda_intel,snd_hda_coresnd_timer              23393  2 snd_pcm,snd_seqshpchp                 28859  0 nfsd                  362647  1 

广告 广告

评论区