2018-2019-1 《資訊安全系統設計基礎》實驗一:開發環境的熟悉--實驗報告
阿新 • • 發佈:2018-11-09
2018-2019-1 《資訊安全系統設計基礎》實驗一:開發環境的熟悉--實驗報告
小組成員:20165221 譚笑 20165225 王高源
模組一:交叉編譯環境
- 可以使用自己的筆記本,也可以使用實驗室桌上型電腦,*
- 如附圖,開機時按
F12
,進入系統BIOS中,開啟虛擬化功能 - 用VMWare開啟Ubuntu,建立實驗目錄"mkdir linux_20165225_20165221"
- 在實驗目錄中編寫“helloword”程式,另外補充幾行列印所有組員的學號姓名
#include<stdio.h> int main() { printf(Hello,World!\n"); printf("Hello,5225王高源\n"); printf("Hello,5221譚笑\n"); return 0; }
[image]
)
- 參考bocsd目錄中的指令碼
armc.sh
, 分別用gcc和交叉編譯器arm-none-linux-gnuenbi-gcc
編譯hello.c
,用gcc編譯的可執行檔案命名linuxhello:gcc hello.c -o linuxhello
; 用arm-none-linux-gnuenbi-gcc
編譯的命名為armhello: /usr/local/toolchain/toolchain4.3.2/bin/arm-none-linux-gnuenbi-gcc hello.c -o armhello
- 分別執行
linuxhello
,armhello
,有什麼結果,提交截圖並用file命令分析原因。
模組二:目標宿主機連通
- 連線
arm
試驗箱的電源,串列埠線和並口線與實驗室的桌上型電腦相連 - 執行
hypetrm
,進行波特頻率設定 - 開啟終端,看到arm機的資訊顯示在終端中
- 用ifconfig在超級終端中檢視實驗箱IP(目標機),在Ubuntu中(宿主機)中用ifconfig在命令列檢視IP地址:IP地址
- 使用ping命令檢視測試目標機與宿主機是否能連通
模組三:目標機執行程式
- 開啟命令列終端,配置
/etc/exports
sudo vim /etc/exports
- 共享目錄操作:在/etc/exports檔案末新增:
/home/linux_20165225_20165221 *(rw,sync,no_root_squash,no_subtree_check)
sudo /etc/init.d/nfs-kernel-server restart
- 在試驗箱中建立執行目錄:arm_20165225_20165221,鍵入
/arm_20165225_20165221
- 終端中執行
mount-t nfs -o nolock
宿主機IP地址,通過NFS將宿主機中的linux_20165225_20165221
對映到目標機的/arm_20165225_20165221
- 進入目標機的相關目錄下:
cd /arm_20165225_20165221
- 鍵入
./armhello
檢視執行結果
交叉編譯:
- 因為目的平臺上不允許或不能夠安裝我們所需要的編譯器,而我們又需要這個編譯器的某些特徵;有時是因為目的平臺上的資源貧乏,無法執行我們所需要編譯器;有時又是因為目的平臺還沒有建立,連作業系統都沒有,根本談不上執行什麼編譯器。
基礎知識:
- 宿主機(host) :編輯和編譯程式的平臺,一般是基於X86的PC機,通常也被稱為主機。
- 目標機(target):使用者開發的系統,通常都是非X86平臺。host編譯得到的可執行程式碼在target上執行。
tftp與nfs:
- NFS:NFS(Network File System)即網路檔案系統,是FreeBSD支援的檔案系統中的一種,它允許網路中的計算機之間通過TCP/IP網路共享資源。在NFS的應用中,本地NFS的客戶端應用可以透明地讀寫位於遠端NFS伺服器上的檔案,就像訪問本地檔案一樣。
- TFTP:TFTP(Trivial File Transfer Protocol,簡單檔案傳輸協議)是TCP/IP協議族中的一個用來在客戶機與伺服器之間進行簡單檔案傳輸的協議,提供不復雜、開銷不大的檔案傳輸服務。埠號為69。
虛擬化時遇到的問題
- 解決方式:重新開機,進入BIOS後,修改
Intel(R) Virtualization Tech
,改為Enabled
後,按F10儲存設定,在進入win7