Linux核心啟動函式start_kernel的簡單分析
歐長坤
原創作品轉載請註明出處
《Linux核心分析》MOOC課程http://mooc.study.163.com/course/USTC-1000029000
這學期學校恰好有作業系統的課程,上個學習就開始尋思研究研究Linux核心程式碼,恰好MOOC有這個課程,遂選了此課。
一、準備工作
廢話不多說,命令一行行敲下去,搭建好環境。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
cd ~ /Work/
wget
https: //www .kernel.org /pub/linux/kernel/v3 .x /linux-3 .18.6. tar .xz
xz
-d linux-3.18.6. tar .xz
tar -xvf
linux-3.18.6. tar
cd linux-3.18.6
make i386_defconfig
make
cd ~ /Work/
mkdir rootfs
git
clone https: //github .com /mengning/menu .git #
話說這裡為什麼用MenuOS 我個人覺得老師一來是節約編譯時間 二來也可以做做廣告 cd menu
sudo apt-get
install libc6:i386
lib32stdc++6 #
這兩行安裝非常有必要
sudo apt-get
install lib32readline-gplv2-dev
#
在64bit的Ubuntu環境下不能編譯這個MenuOS的roofs 需要這些包來支援 即使用了-m32
gcc -o
init linktable.c menu.c test .c
-m32 -static -lpthread
cd .. /rootfs
cp .. /menu/init ./
find
|