linux是如此美妙,如此有趣。like matrix,it』s everywhere !
windows10, vmware16, ubuntu20.04,虛擬環境。
pc機,記憶體32g,cpu 16 核心,i7八代。
進入解壓後的源**資料夾執行如下
make menuconfig
進入編譯配置,開啟下面的編譯選項
kernel hacking --->
[*] kernel debugging
compile-time checks and compiler options --->
[*] compile the kernel with debug info
[*] provide gdb scripts for kernel debugging
執行編譯
make
$ cd busybox-1.32.0
$ make menuconfig
配置生成靜態庫
settings --->
[*] build static binary (no shared libs)
執行編譯安裝,安裝到了_install下面
$ make
$ make
install
建立initramfs
$ mkdir initramfs
$ cd initramfs
$ cp
../_install/* -rf ./
$ mkdir dev proc sys
$ sudo
cp -a /dev/ dev/
$ rm linuxrc
$ vim init
$ chmod a+x init
$ ls
$ bin dev init proc sbin sys usr
init 檔案內容
#!/bin/busybox sh
mount -t proc none /proc
mount -t sysfs none /sys
exec /sbin/init
打包檔案系統
$ find
. -print0 | cpio --null -ov --format=newc |
gzip -9 >
../initramfs.cpio.gz
進入busybox1.32.0目錄,啟動核心
安裝qemu
sudo
apt-get
install qemu
進入到linux-5.4.80目錄
到 window->preferences->general->workspace 中將build automatically選項去掉,
到window->preferences->c/c++ -> indexer中,將預設的fast c/c++ indexer改為no indexer。
從選單中選擇file -> new -> project… -> c/c++ -> c project 然後單擊next按鈕
在project name 一欄填入乙個工程名,比如 linux-kernel. 然後將 use default location 選項給勾掉。在location一欄填入剛才解壓的核心原始碼的路徑。project type選擇makefile project -> empty project。toolchains 選擇 linux gcc。
現在在中斷進入busybox1.32.0執行如下命令,讓核心進入除錯等待狀態
現在到eclipse中 run->debug configurations, 執行debug後
至此linux核心除錯環境已搭建完畢。工欲善其事必先利其器,有了乙個方便的除錯環境,能夠讓後面的事輕鬆義點。linux是乙個有趣的系統,乙個框架,一種思想,一種文化。從linux核心中可以學到大量先賢優秀的設計理念和思想,linux也在不斷地發展演化,從嵌入式系統到手機作業系統,桌面系統再到工作站,大型伺服器,linux無處不在。
移植Linux 5 4 核心到4412開發板
前言 itop 4412開發板被linux官方支援,所以我們在4412上學習新的核心是非常方便的,本文作者是4412精英群8群一位技術高手,接下來,我們一起來欣賞下他的表演。環境說明 os版本 交叉編譯環境配置 sudo apt install gcc arm linux gnueabihf sud...
編譯 linux 核心
一 準備工作 tpv te0 首先說明,下面帶 號的行都是要輸入的命令列,且本文提到的所有命令列都在終端裡輸入。ixpub技術部落格 rc0p a6zx j 啟動linux系統,並用根使用者登入,進入終端模式下。6i sb w,a0 ixpub技術部落格c gng,y y ixpub技術部落格 k,...
linux編譯核心
red hat linux版本的核心編譯 make j2 編譯 make modules make modules install make install cd boot mkinitramfs o initrd.img 2.6.30.10 2.6.30.10 此項可能不需要 vim boot g...