如何搭建Linux內核實驗環(huán)境,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
成都創(chuàng)新互聯(lián)服務項目包括平原網(wǎng)站建設、平原網(wǎng)站制作、平原網(wǎng)頁制作以及平原網(wǎng)絡營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關系等,向廣大中小型企業(yè)、政府機構等提供互聯(lián)網(wǎng)行業(yè)的解決方案,平原網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務的客戶以成都為中心已經(jīng)輻射到平原省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!
可快速構建,支持 Docker, Qemu, Ubuntu, Mac OSX, Windows, Web
由 Wu Zhangjin 創(chuàng)建于 2016/06/19
評論 打賞
該項目致力于快速構建一個基于 Qemu 的 Linux 內核開發(fā)環(huán)境。
使用文檔:README.md
在線實驗
泰曉實驗云臺
基于 Docker 快速構建 Linux 0.11 實驗環(huán)境
以 Ubuntu 和 Qemu 為例。其他 Linux 和 Mac OSX 系統(tǒng)請先安裝 Docker CE。Windows 系統(tǒng),請先下載并安裝 Docker Toolbox。
安裝完 docker 后如果想免 sudo
使用 linux lab,請務必把用戶加入到 docker 用戶組并重啟系統(tǒng)。
$ sudo usermod -aG docker $USER
由于 docker 鏡像文件比較大,有 1G 左右,下載時請耐心等待。另外,為了提高下載速度,建議通過配置 docker 更換鏡像庫為本地區(qū)的,更換完記得重啟 docker 服務。
$ grep registry-mirror /etc/default/docker
DOCKER_OPTS="$DOCKER_OPTS --registry-mirror=https://docker.mirrors.ustc.edu.cn"
$ service docker restart
如果 docker 默認的網(wǎng)絡環(huán)境跟本地的局域網(wǎng)環(huán)境地址沖突,請通過如下方式更新 docker 網(wǎng)絡環(huán)境,并重啟 docker 服務。
$ grep bip /etc/default/docker
DOCKER_OPTS="$DOCKER_OPTS --bip=10.66.0.10/16"
$ service docker restart
如果上述改法不生效,請在類似 /lib/systemd/system/docker.service
這樣的文件中修改后再重啟 docker 服務。
$ grep dockerd /lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd -H fd:// --bip=10.66.0.10/16 --registry-mirror=https://docker.mirrors.ustc.edu.cn
$ service docker restart
如果使用 Docker Toolbox,由于安裝的默認 default
系統(tǒng)未提供桌面,所以需要先獲取該系統(tǒng)的外網(wǎng)地址,即 eth2 網(wǎng)口的 IP 地址,然后在外部系統(tǒng)訪問。
$ ifconfig eth2 | grep 'inet addr' | tr -s ' ' | tr ':' ' ' | cut -d' ' -f4
192.168.99.100
如果是自己通過 Virtualbox 安裝的 Linux 系統(tǒng),即使有桌面,也想在外部系統(tǒng)訪問時,則可以通過設置 ‘Network -> Adapter2 -> Host-only Adapter’ 來添加一個 eth2 網(wǎng)口設備。
請務必注意,通過 Docker Toolbox 安裝的 default
系統(tǒng)中默認的 /root
目錄僅僅掛載在內存中,關閉系統(tǒng)后數(shù)據(jù)會丟失,請千萬不要用它來保存實驗數(shù)據(jù)??梢允褂昧硗獾哪夸泚泶娣牛热?/mnt/sda1
,它是在 Virtualbox 上外掛的一個虛擬磁盤鏡像文件,默認有 17.9 G,足夠存放常見的實驗環(huán)境。
再次提醒,在 Linux 或者 Mac 系統(tǒng),可以隨便在 ~/Downloads
或者 ~/Documents
下找一處工作目錄,然后進入,比如:
$ cd ~/Documents
但是如果使用的是 Docker Toolbox 安裝的 default
系統(tǒng),該系統(tǒng)默認的工作目錄為 /root
,它僅僅掛載在內存中,因此在關閉系統(tǒng)后所有數(shù)據(jù)會丟失,所以需要換一處上面提到的 /mnt/sda1
,它是外掛的一個磁盤鏡像,關閉系統(tǒng)后數(shù)據(jù)會持續(xù)保存。
$ cd /mnt/sda1
$ git clone https://github.com/tinyclub/cloud-lab.git
$ cd cloud-lab && tools/docker/choose linux-lab
$ tools/docker/run # 加載鏡像,拉起一個 Linux Lab 容器
執(zhí)行 tools/docker/vnc
后會打開一個 VNC 網(wǎng)頁,根據(jù) console 提示輸入密碼登陸即可,之后打開桌面的 Linux Lab
控制臺并執(zhí)行:
$ make boot
默認會啟動一個 versatilepb
的 ARM 板子,要指定一塊開發(fā)板,可以用:
$ make list # 查看支持的列表
$ make BOARD=malta # 這里選擇一塊 MIPS 板子:malta
$ make boot
$ make core-source -j3 # 同時下載 linux-stable, qemu 和 buildroot
$ make root-defconfig # 配置根文件系統(tǒng)
$ make kernel-checkout # 檢出某個特定的分支(請確保做該操作前本地改動有備份)
$ make kernel-defconfig # 配置內核
$ make root-menuconfig # 手動配置根文件系統(tǒng)
$ make kernel-menuconfig # 手動配置內核
$ make root # 編譯根文件系統(tǒng),稍微有點慢,需要下載帶 sysroot 的編譯器
$ make kernel # 編譯內核,采用 Ubuntu 和 emdebian.org 提供的交叉編譯器
$ make save # 保存新的配置和新產(chǎn)生的鏡像
$ make kconfig-save # 保存到 boards/BOARD/
$ make rconfig-save
$ make root-save # 保存到 prebuilt/
$ make kernel-save
需要打開 boards/BOARD/Makefile
屏蔽已經(jīng)編譯的 KIMAG
和 ROOTFS
,此時會啟動 output/
目錄下剛編譯的 rootfs 和內核:
$ vim boards/versatilepb/Makefile
#KIMAGE=$(PREBUILT_KERNEL)/$(XARCH)/$(BOARD)/$(LINUX)/zImage
#ROOTFS=$(PREBUILT_ROOTFS)/$(XARCH)/$(CPU)/rootfs.cpio.gz
$ make boot
$ make boot G=0 # 使用組合按鍵:`CTL+a x` 退出,或者另開控制臺執(zhí)行:`pkill qemu`
$ make boot ROOTDEV=/dev/nfs
$ make boot ROOTDEV=/dev/ram
通過添加或者修改 boards/BOARD/Makefile
,可以靈活配置開發(fā)板、內核版本以及 BuildRoot 等信息。通過它可以靈活打造自己特定的 Linux 實驗環(huán)境。
$ cat boards/versatilepb/Makefile
ARCH=arm
XARCH=$(ARCH)
CPU=arm926t
MEM=128M
LINUX=2.6.35
NETDEV=smc91c111
SERIAL=ttyAMA0
ROOTDEV=/dev/nfs
ORIIMG=arch/$(ARCH)/boot/zImage
CCPRE=arm-linux-gnueabi-
KIMAGE=$(PREBUILT_KERNEL)/$(XARCH)/$(BOARD)/$(LINUX)/zImage
ROOTFS=$(PREBUILT_ROOTFS)/$(XARCH)/$(CPU)/rootfs.cpio.gz
默認的內核與 Buildroot 信息對應為 boards/BOARD/linux_${LINUX}_defconfig
和 boards/BOARD/buildroot_${CPU}_defconfig
,如果要添加自己的配置,請注意跟 boards/BOARD/Makefile
里頭的 CPU 和 Linux 配置一致。
詳細的用法這里就不羅嗦了,大家自行查看幫助。
$ make help
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。
網(wǎng)頁名稱:如何搭建Linux內核實驗環(huán)境
網(wǎng)頁路徑:http://www.rwnh.cn/article14/jieode.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供云服務器、靜態(tài)網(wǎng)站、域名注冊、品牌網(wǎng)站制作、微信小程序、外貿建站
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)