A. 有關linux內核移植時的裁剪涉及哪些內容
嵌入式Linux系統的移植主要有U-Boot、Linux內核、文件系統這三部分。
Uboot是在系統上電時開始執行,初始化硬體設備,准備好軟體環境,然後才調用Linux操作系統內核。文件系統是Linux操作系統中用來管理用戶文件的內核軟體層。文件系統包括根文件系統和建立於Flash內存設備之上文件系統。根文件系統包括系統使用的軟體和庫,以及所有用來為用戶提供支持架構和用戶使用的應用軟體,並作為存儲數據讀寫結果的區域。
可將Linux系統移植過程大致需要分成6個步驟:
1) 准備工作,包括下載源碼、建立交叉編譯環境等。交叉開發是指在開發主機上安裝開發工具,編輯、編譯目標板的漏鎮升引導程序、內核和文件系統,使返老其能在目標板上運行。
2) 配置和編bootloader(引導裝載程序)。通過這段小程序,可以初始化硬體設備、建立內存空間的映射表,從而建立適當的系統硬體環境,為最終調用操作系統內核做好准備。
3) 配置和編譯Linux內核,對其進行相應的裁旅乎剪,修改內核以支持相關的硬體設備。
4) 為大容量NAND Flash移植YAFFS文件系統,並將該文件系統加入Linux內核中;
5) 製作RAMdisk來掛載根文件系統。Linux系統中的文件和設備是通過文件系統來組織的。文件系統的存在使得數據和設備可以被有效而透明地存取訪問。一個linux的最簡根文件系統應該包括支持linux系統正常運行的基本內容,包括系統使用的軟體和庫,以及所有用來為用戶提供基本支持的架構和指令。
6) 燒寫、調試系統;如果調試出錯,則需要重新配置,返回上述步驟(2)。
B. pdf格式是什麼意思
PDF是一種可移植文檔文件格式,用於可靠地呈現和交換文檔,與軟體、硬體或操作系統無關。C. 誰有最新的 嵌入式系統設計師教程 pdf
可以到嵌入式學習網上下載,有嵌入式系統超多的教程
網址是http://www..com/s?bs=%C7%B6%C8%EB%CA%BD%D1%A7%CF%B0%CD%F8+%C7%B6%C8%EB%CA%BD%D1%A7%CF%B0%CD%F8+-+EmbedStudy&f=8&wd=%C7%B6%C8%EB%CA%BD%D1%A7%CF%B0%CD%F8++EmbedStudy
D. Linux To Go:製作隨身攜帶、即插即用的Linux系統
如何把Linux系統移植到U盤或移動硬碟上,並從USB驅動器中啟動並運行?下面我將教大家製作隨身攜帶、即插即用的Linux操作系統。(把當前系統移植到移動硬碟上)
為什麼需要這個功能呢?
硬體:
軟體:
Linux發行版自帶的工具 如 gparted grub cp
製作
Linux啟動盤的製作分為以下幾個步驟:分區、復制文件、安裝grub並配置、測試。 目的是把當前系統移植到移動硬碟上。
從LiveCD啟動,打開gparted分區工具, 把移動硬碟的分區表改為GPT 。我使用以下分區方案:
sdb1是UEFI+GPT模式下的引導分區,grub引導器就要裝在這里。
sdb2是放數據的,為了與Winodws兼容所以採用NTFS。
sdb3是Linux系統的全部內容,如果你想把家目錄單獨分出來也可以。
後面留空備用,結果如下圖
我原系統的文件儲存在 /dev/nvme0n1p3 (根分區)和 /dev/nvme0n1p4 (家分區)上,把這兩個分區掛載到 /mnt /mnt/home。每個人的分區情況不同,需要對應修改。掛載後,/mnt 目錄包括原系統的所有內容。
掛載 /dev/sdb3 到 /media/backup,把 /mnt 內容全部復制到 /media/backup
cp -a /mnt/* /media/backup/
GRUB 提供一個安裝程序grub-install用以安裝 GRUB 到磁碟,下面是grub-install的一些常用參數及選項:
UEFI 特有參數及選項:
掛載 /dev/sdb1 到 /media/backup/boot/efi ,把grub安裝到移動硬碟上
上面的 --boot-directory --efi-directory --removable 不可省略。
安裝之後要修改grub配置文件,就讓他自動生成好了。但要禁用os-prober功能——自動探測硬碟上的其他操作系統然後生成配置。Linux To Go 不依賴於其他操作系統,它的啟動菜單里只有自己。注意,不要使用update-grub,因為它會修改UEFI啟動項。
修改 /media/backup/etc/fstab,把UUID換成對應的值
安裝grub後,還要手動修改 /media/backup/etc/fstab 。Linux To Go只需要自動掛載兩個分區—— sdb1 ESP 和 sdb3 DEEPIN_ROOT,修改對應的UUID。
現在可以重啟試試了。開機按下F12 UEFI啟動菜單中有移動硬碟這個啟動項,選擇即可。
如果成功就OK;如果黑屏斷電,查看/media/backup/boot/efi 下的文件 把BOOTX64.EFI刪除,把 grubx64.efi 重命名為 BOOTX64.EFI 再重啟。
E. 嵌入式Linux應用開發完全手冊的作品目錄
第1篇嵌入式Linux開發環境構建篇
第1章嵌入式Linux開發概述
第2章嵌入式Linux開發環境構建
第3章嵌入式編程基礎知識
第4章Windows、Linux環境下相關工具、命令的使用
第2篇ARM9嵌入式系統基礎實例篇
第5章GPIO介面
第6章存儲器控制
第7章內存管理單元MMU
第8章NANDFlash控制器
第9章中斷體系結構
第10章系統時鍾和定時器
第11章通用非同步收發器UART
第12章I*IC介面
第13章LCD控制器
第14章ADC和觸摸屏介面
第3篇嵌入式Linux系統移植篇
第15章移植U-Boot
第16章移植Linux內核
第17章構建Linux根文件系統
第18章Linux內核調試技術
第4篇嵌入式Linux設備驅動開發篇
第19章字元設備驅動程序
第20章Linux異常處理體系結構
第21章擴展串口驅動程序移植
第22章網卡驅動程序移植
第23章IDE介面和SD卡驅動程序移植
第24章LCD和USB驅動程序移植
第5篇嵌入式Linux系統應用開發篇
第25章嵌入式GUI開發
第26章基於X的GUI開發
第27章Linux應用程序調試技術
參考文獻……