Linux不同版本内核安装
查看Linux版本
cat /etc/redhat-release
查看内核版本
uname -r
解压内核压缩包
tar xf linux-2.6.30.tar.gz
Linux内核源码安装流程
1,安装依赖
yum -y install gcc
yum -y install gcc-c++
yum install make
-- 或者
yum groupinstall "Development Tools"
-- 或者
yum install gcc gcc-c++ kernel-devel
--安装ncurses
yum install gcc make ncurses ncurses-devel perl
yum update
2,下载源码包
cd /tmp
wget https://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.32.26.tar.bz2
bzip2 -d linux-2.6.32.26.tar.bz2
tar -xvf linux-2.6.32.26.tar -C /usr/src/
3,安装前配置
cd /usr/src/linux-2.6.32.26/
make menuconfig
""" 此命令运行将弹出"kernel configuration"界面 """
""" 按"ESC",点"YES"退出即可 """
""" 如需定制内核,请按提示进行选择 """
make oldconfig
""" 如果定制内核,则不需要此步 """
""" 为要编译的内核源码使用当前系统内核配置文件 """
""" 当前目录下将会创建 ".config" 文件 """
4,编译安装
make [-jn]
""" n 为数字,如:make -j4 拆分 4 个作业任务并行编译,加快编译速度 """
""" 使用 make -j 则不限制并行编译的任务数,但是出错率可能会高一些 """
""" 如果不使用任何编译参数,一两个小时也是很常见的 """
make modules_install --安装内核模块
make install --安装内核
reboot
5,验证并测试
uname -a
VSCode远程连接开发配置
Mac安装homebrew
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
启动ssh的服务:
systemctl start sshd.service
设置开机自动启动ssh服务
systemctl enable sshd.service
配置远程ssh
在本地创建密钥
ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa-remote-ssh
将公钥上传到服务器
将ssh key放到服务器上
scp ~/.ssh/id_rsa.pub 用户名@ip:/home/id_rsa.pub
此处将用户名和ip换成你的服务器账户和服务器ip。
pbcopy < ~/.ssh/id_rsa-remote-ssh.pub
登录服务器并将公钥放到服务器ssh认证文件中
cat /home/id_rsa.pub >> ~/.ssh/authorized_keys
Centos7上源码编译安装llvm 11.0.0
1. 下载llvm-project
直接通过git clone,由于项目文件非常多,所以size很大。试了几次一直超时失败,无奈只能下载压缩包。
报错:
error: RPC failed; curl 18 transfer closed with outstanding read data remaining
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
解决:https://blog.csdn.net/it_liuchengli/article/details/77040806
下载压缩包 llvm-project-11.0.0.tar.xz,这个xz文件大小约80M。
解压:xz -d llvm-project-11.0.0.tar.xz,生成了一个 802M 的tar包。
再解:tar -xvf llvm-project-11.0.0.tar ,生成一个 ./llvm-project-11.0.0 目录
cd llvm-project-11.0.0
2. 升级gcc版本
编译llvm,需要gcc至少为 5.1版本,centos默认安装的是 gcc 4.8.5。
按照如下步骤升级了 gcc 到 7.3.1。
yum install centos-release-scl
yum install devtoolset-7
当前登陆session生效
scl enable devtoolset-7 bash
source /opt/rh/devtoolset-7/enable
执行下列命令,永久生效
echo "source /opt/rh/devtoolset-7/enable" >> ~/.bash_profile
source /opt/rh/devtoolset-7/enable
查看版本,已经是 7.3.1 了
[root@localhost Downloads]# gcc --version
gcc (GCC) 7.3.1 20180303 (Red Hat 7.3.1-5)
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
3. 编译安装llvm
在 llvm-project-11.0.0 目录中创建一个build目录
mkdir build
cd build
然后开始编译:
其中 -DLLVM_ENABLE_RTTI=ON 这个选项需要重点说明一下。由于我的目的是为了研究bpf技术,所以不可避免的会涉及到编译安装bpftrace这个工具。在编译bpftrace工程的时候如果没有打开 LLVM 的RTTI,会导致编译失败。而这个编译选项默认是关闭的,所以这里必须明确打开这个功能。
此命令用于检测 llvm 是否包含 rtti 特性
cmake -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_RTTI=ON -DLLVM_ENABLE_PROJECTS="clang;libcxx;libcxxabi" -G "Unix Makefiles" ../llvm
然后 make,这个过程需要很长时间。
make成功,然后再 make install
报错可能需要 sudo make install
clang 11.0.0,安装成功
网友评论