自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

來(lái)嘗試一下Linux內(nèi)核編譯的“苦”

系統(tǒng) Linux
linux內(nèi)核該如何學(xué)習(xí)?1、安裝vmware虛擬機(jī)或者virtualbox,再安裝發(fā)行版本linux2、www.kernel.org,挑選一個(gè)內(nèi)核版本3、進(jìn)行解壓并編譯

 [[346476]]

一、前言(僅供參考)

linux內(nèi)核該如何學(xué)習(xí)?

1、安裝vmware虛擬機(jī)或者virtualbox,再安裝發(fā)行版本linux

2、www.kernel.org,挑選一個(gè)內(nèi)核版本

3、進(jìn)行解壓并編譯

4、自己寫一些模塊(比如說(shuō)可以去嘗試解一些官網(wǎng)的bug),如下圖所示:

 

下面我們就可以看到還有很多內(nèi)核bug未解決的問(wèn)題還在那里:

 

下面是提交的bug測(cè)試報(bào)告:

 

最后有可能的話,可以去試試嘗試解這些bug!!!

5、內(nèi)核源碼(網(wǎng)絡(luò))閱讀:tcp_input.c tcp_out.c tcp_ipv4.c tcp.c

進(jìn)程管理:task_struct

6、書籍參考(剛開始可以只看一本書就夠了,多看幾遍,不求多,只求精,真正搞明白原理,這本書的內(nèi)核版本是0.11,內(nèi)核比較小,非常適合學(xué)習(xí),平時(shí)學(xué)習(xí)看源碼,也非常推薦看這個(gè)版本的內(nèi)核源碼):

 

一、linux內(nèi)核版本下載:

1、我們可以去官網(wǎng)下載linux內(nèi)核版本:www.kernel.org:

 

 

 

 

注:這里我下載的是最新的內(nèi)核來(lái)進(jìn)行編譯,環(huán)境是在ubuntu18.04;注意如果低版本的ubuntu去編譯搞版本的linux內(nèi)核,可能會(huì)出現(xiàn)一些環(huán)境配置問(wèn)題,比如make的版本過(guò)低等等。

2、解壓并配置、編譯:

(1)這里我使用了smbd服務(wù)器來(lái)共享windows文件,現(xiàn)在開始解壓剛才下載下來(lái)的linux內(nèi)核文件:

 

注意:一開始下載下來(lái)的linux內(nèi)核文件是以".xz"結(jié)尾的,我們要用下面的命令進(jìn)行解壓:

  1. xz –d linux-5.8.10.tar.xz 

(2)然后就會(huì)得到上圖的文件了;下面來(lái)正式解壓文件了:

  1. root@txp-virtual-machine:/home/txp/share01# tar xvf linux-5.8.10.tar 

(3)然后切換到解壓得到的文件目錄下,并進(jìn)行一些前期準(zhǔn)備:

  1. root@txp-virtual-machine:/home/txp/share01# cd linux-5.8.10 
  2. root@txp-virtual-machine:/home/txp/share01/linux-5.8.10# ls 
  3. arch   certs    CREDITS  Documentation  fs       init  Kbuild   kernel  LICENSES     Makefile  net     samples  security  tools  virt 
  4. block  COPYING  crypto   drivers        include  ipc   Kconfig  lib     MAINTAINERS  mm        README  scripts  sound     usr 

(4)然后安裝一些插件,這里我已經(jīng)提前試過(guò)錯(cuò)了,所以只要安裝下面的安裝配置就行(當(dāng)前第一次進(jìn)行make menuconfig的時(shí)候,可以根據(jù)報(bào)錯(cuò)信息來(lái)進(jìn)行安裝一些配置):

  1. sudo apt-get install libncurses5-dev flex bison libssl-dev 

(5)進(jìn)行make menuconfig,出現(xiàn)了那個(gè)界面并save退出(可以直接按鍵盤上的esc鍵退出):

 

(6)開始編譯內(nèi)核,這里可以根據(jù)你的電腦是多少核處理器來(lái)進(jìn)行編譯配置(我的電腦是戰(zhàn)神,四核處理器)

  1. root@txp-virtual-machine:/home/txp/share01/linux-5.8.10# make -j4 
  2.  
  3.   CC [M]  net/bridge/br_vlan.o 
  4.   CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_clock_source.o 
  5.   LD [M]  net/dsa/dsa_core.o 
  6.   CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_scl_filters.o 
  7.   CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_transform.o 
  8.   CC [M]  drivers/gpu/drm/i915/gvt/mmio.o 
  9.   CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_opp.o 
  10.   CC [M]  net/appletalk/aarp.o 
  11.   CC [M]  net/bridge/br_vlan_tunnel.o 
  12.   CC [M]  drivers/gpu/drm/i915/gvt/display.o 
  13.   CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_dmcu.o 
  14.   CC [M]  net/appletalk/ddp.o 
  15.   CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_abm.o 
  16.   CC [M]  net/bridge/br_vlan_options.o 
  17.   CC [M]  drivers/gpu/drm/i915/gvt/edid.o 
  18.   CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_ipp.o 
  19.   CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_aux.o 
  20.   CC [M]  net/bridge/br_switchdev.o 
  21.   CC [M]  net/appletalk/dev.o 
  22.   CC [M]  drivers/gpu/drm/i915/gvt/execlist.o 
  23.   CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_i2c.o 
  24.   CC [M]  net/appletalk/atalk_proc.o 
  25.   CC [M]  net/bridge/br_netfilter_hooks.o 
  26.   CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_i2c_hw.o 
  27.   CC [M]  drivers/gpu/drm/i915/gvt/scheduler.o 

注:因?yàn)槭亲钚聝?nèi)核,編譯的時(shí)間比較久,所以耐心等待就行了(大概至少幾十分鐘。。。。。。),在編譯的時(shí)候,我們也可以看一下內(nèi)存的情況:

  1. htop 

 

(7)如果你要修改當(dāng)前ubuntu的內(nèi)核版本,可以按照下面的操作來(lái)進(jìn)行,我這里就沒(méi)有去更換內(nèi)核了,配置了太多東西,所以就。。。。。。。

當(dāng)前內(nèi)核版本:

  1. root@txp-virtual-machine:/home/txp/share01/linux-5.8.10# uname -r 
  2. 5.3.0-28-generic 

a、先進(jìn)行安裝編譯內(nèi)核模塊:

  1. make modules_install 
  1. make bzImage 

b、安裝新編譯的內(nèi)核(把我們剛才編譯的新內(nèi)核進(jìn)行替換當(dāng)前內(nèi)核):

  1. $ cp arch/x86/boot/bzImage /boot/vmlinuz-5.8.10 
  2. $ cp .config /boot/config-5.8.10 
  3. $ cd /lib/modules/5.8.10/ 
  4. update-initramfs –c –k 5.8.10 
  5. update-grub 

注:感興趣的小伙子可以去嘗試一下,這里我就不嘗試了!,主要是這個(gè)內(nèi)核編譯太花時(shí)間了,我的天.......

本文轉(zhuǎn)載自微信公眾號(hào)「txp玩Linux」,可以通過(guò)以下二維碼關(guān)注。轉(zhuǎn)載本文請(qǐng)聯(lián)系txp玩Linux公眾號(hào)。

 

責(zé)任編輯:武曉燕 來(lái)源: txp玩Linux
相關(guān)推薦

2022-08-08 10:09:08

Vitest單元測(cè)試

2018-02-08 10:52:13

Kotlin語(yǔ)言代碼

2021-01-21 07:31:11

Filter框架權(quán)限

2010-12-06 09:10:02

LightSwitch

2022-03-02 10:53:22

Postman工具開發(fā)

2023-02-08 09:02:05

VS Code摸魚神器

2022-06-29 10:04:01

PiniaVuex

2022-12-03 18:24:13

數(shù)據(jù)能力場(chǎng)景

2013-11-20 13:41:32

IE微軟解決方法

2009-12-07 09:57:06

Fedora/內(nèi)核編譯

2021-04-13 07:29:13

Swagger3接口Postman

2021-05-26 07:53:58

Linux運(yùn)維Linux系統(tǒng)

2020-07-02 09:46:05

AI

2009-06-15 11:22:06

2023-07-25 15:17:38

Linux操作系統(tǒng)開發(fā)

2024-03-01 18:55:54

內(nèi)存調(diào)試Go 語(yǔ)言

2009-10-16 09:45:41

Linux內(nèi)核操作系統(tǒng)

2023-05-03 09:09:28

Golang數(shù)組

2015-05-28 10:31:49

JSJS微信分享

2020-07-29 10:20:28

Redis數(shù)據(jù)庫(kù)字符串
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)