buildroot2

Similar documents
Abstract arm linux tool-chain root NET-Start! 2

自由軟體社群發展經驗與 Linux認證介紹

Red Flag Linux Desktop 4.0 Red Flag Linux Desktop 4.0 1

Windows 2000 Server for T100

DRBL/Clonezilla 進階課程 蕭志榥孫振凱 國家高速網路與計算中心 N

The golden pins of the PCI card can be oxidized after months or years

自由軟體教學平台

Cygwin Cygwin windows Linux Cygwin.dll Windows Linux API Linux Windows Linux 2

自由軟體教學平台

投影片 1

TPM BIOS Infineon TPM Smart TPM Infineon TPM Smart TPM TPM Smart TPM TPM Advanced Mode...8

. Outline 编译 Linux 在 QEMU 模拟器上运行制作带 grub 启动的磁盘映像...1 编译 Linux 在 QEMU 模拟器上运行...2 制作带 grub 启动的磁盘映像

<4D F736F F D20C7B6C8EBCABD6C696E7578BBF9B4A1CAB5D1E92E646F63>

iziggi

ebook62-1

标题

使用手冊

untitled

快 速 入 门 (Linux) 概 述 文 档 目 的 本 文 档 介 绍 了 如 何 快 速 创 建 Linux 系 统 实 例 远 程 连 接 实 例 部 署 环 境 等 旨 在 引 导 您 一 站 式 完 成 实 例 的 创 建 登 录 和 快 速 环 境 部 署 云 服 务 器 ECS 实

Microsoft Word - PS2_linux_guide_cn.doc

PowerPoint 演示文稿

PowerPoint 簡報

網路安全:理論與實務 第二版

TCA Linux 相容性認證測試流程步驟

プログラムの設計と実現II

自由軟體教學平台

雲端 Cloud Computing 技術指南 運算 應用 平台與架構 10/04/15 11:55:46 INFO 10/04/15 11:55:53 INFO 10/04/15 11:55:56 INFO 10/04/15 11:56:05 INFO 10/04/15 11:56:07 INFO

Outline 制作带 grub 启动的磁盘映像 利用 qemu+gdb 来调试 linux

Microsoft Word - linux命令及建议.doc

本文由筱驀釹贡献


solutions guide

, 即 使 是 在 昏 暗 的 灯 光 下, 她 仍 然 可 以 那 么 耀 眼 我 没 有 地 方 去, 你 会 带 着 我 么 杜 晗 像 是 在 嘲 笑 一 般, 嘴 角 的 一 抹 冷 笑 有 着 不 适 合 这 个 年 龄 的 冷 酷 和 无 情, 看 着 江 华 的 眼 神 毫 无 温

第三篇 第 10 章 - 管理者登入第 11 章 - 更改網路商店 Logo 第 12 章 - 系統設定第 13 章 - 商品上架第 14 章 - 付款方式設定第 15 章 - 出貨方式設定第 16 章 - 特價商品 oscommerce 103

<4D F736F F D20B971B8A3B577C5E9B8CBADD7A441AFC5B2C4A447B3A1A4C039372E342E3232A44AAE77AAA92E646F63>

校友会系统白皮书feb_08

ATI-2019安裝手冊-v

Microsoft PowerPoint - 移植Qt for Embedded Linux

考 試 日 期 :2016/04/24 教 室 名 稱 :602 電 腦 教 室 考 試 時 間 :09: 二 技 企 管 一 胡 宗 兒 中 文 輸 入 四 技 企 四 甲 林 姿 瑄 中 文 輸 入 二 技 企 管 一

Oxford iSolution下載及安裝指南

RTX3.2.0标准版 - 技术白皮书

ebook70-5

Microsoft Word - Mail2000_SecurityPatch_

接著以 'fdisk' 對 vmhd 做 partition 分割 $ fdisk -C u vmhd Command (m for help): n Command action e extended p primary partition (1-4) p Partition numb

<5C5C D2D CB1BEB5D8B4C5C5CC CBACDCAA25CBBD45CBDF8D0D0D6D05CD5FEB2C95CCAFDD7D65CC2DBD6A4BBE15C E31322E3234C2DBD6A4B8E529C3B7D6DDCAD0CAFDD7D6BBAFB3C7CAD0D7DBBACF2E2E2E2E646F63>

简 介 本 白 皮 书 高 度 概 述 了 支 持 移 动 互 联 网 设 备 (Mobile Internet Device) 的 Intel C++ Software Development Tool Suite for Linux* OS, 目 标 读 者 主 要 是 技 术 决 策 制 订

103 USB C#.NET VB6 100 USB USB (Open Source) LibUsbDotNet USB Library.NET LibUsbDotNet Visual Basic.NET 2010 Express VB.NET 劉政鑫 王嘉鴻 i

工程施工招标

五 活 動 方 式 與 獎 項 本 徵 選 活 動 以 2017 臺 北 世 大 運 活 動 之 核 心 精 神 熱 情 勇 敢 夢 想 愛 為 主, 參 與 徵 選 之 歌 曲 須 在 詞 曲 創 作 中 符 合 此 精 神, 創 作 元 素 須 含 有 運 動 陽 光 之 曲 風 及 歌 詞,

1 LINUX IDE Emacs gcc gdb Emacs + gcc + gdb IDE Emacs IDE C Emacs Emacs IDE ICE Integrated Computing Environment Emacs Unix Linux Emacs Emacs Emacs Un

64 [ 46 ] (p297) 1924 :? [ 47 ] (p570) ; ; ; ; ; ; ; ; ; ; ; [ 11 ]; [ 35 ] [ 49 ] [ 32 ] ( ) [ 48 ] (p 425) [ 50 ] (p 670 6

说明书

像 客 样 使 命令行 徐 东

投影片 1

epub 63-3

封面-12

Microsoft Word htm

Windows RTEMS 1 Danilliu MMI TCP/IP QEMU i386 QEMU ARM POWERPC i386 IPC PC104 uc/os-ii uc/os MMI TCP/IP i386 PORT Linux ecos Linux ecos ecos eco

Data Server_new_.doc

untitled

Mizuho Bank QR Code 匯出匯款申請書 ( 外匯用 ) 自動化 安裝手冊 ( 中文 ) 第 1 頁, 共 20 頁

2016 勒索軟體白皮書

chapter 2 HTML5 目錄iii HTML HTML HTML HTML HTML canvas

SSL 數位憑證 OpenVPN 安裝說明

Acronis True Image 2014

菩提道次第廣論

繁 華 國 小 101 學 年 母 親 節 感 恩 惜 福 - 跳 蚤 市 場 暨 科 學 闖 關 遊 戲 親 子 活 動 實 施 計 畫 一 依 據 : 本 校 101 學 年 度 校 務 計 畫 及 行 事 曆 二 目 的 : 1. 培 養 學 生 感 恩 惜 物 知 福 惜 福 的 節 儉 觀

台 中 市 北 屯 區 東 山 里 橫 坑 9 林 志 明 巷 89-5 菜 豆 菜 大 漿 果 菜 豆 菜 大 漿 果 小 漿 果 核 果 柑 桔 無 陳 錦 生 新 竹 市 香 山 區


育儿小故事(四)

关 于 瀚 达 瀚 达 电 子 (Artila Electronics) 是 由 一 群 在 工 控 计 算 机 领 域 拥 有 十 多 年 丰 富 经 验 的 专 业 团 队 所 组 成, 致 力 提 供 ARM-core RISC CPU 搭 载 Embedded Linux 操 作 系 统 的

目 录 Linux Mint 简介... 3 Linux Mint 安装... 6 Linux Mint 桌面初识 软件管理...30 小技巧...40 总结...42

Transcription:

Buildroot for Vortex86EX (2016/04/15)

Table of Contents 簡介...1 準備...1 安裝虛擬機器 ( 可選 )...1 安裝 Buildroot...3 配置 Buildroot for VEX-SOM( 可選 )...4 產生 Linux kernel 與 rootfs image...4 使用 Buildroot toolchain for VEX-SOM...5 建立 USB 啟動碟 (USBLINUX)...5 啟動 USBLINUX...6 USBLINUX 下存取開發平台的檔案...7 安裝 Linux kernel rootfs image 和 bootloader...7 完成安裝程序...8 i

簡介 Buildroot 是一個製作嵌入式 Linux 系統的工具 它可用來產生嵌入式 Linux 系統的工具鏈 Linux Kernel 及 rootfs 系統 它提供了一個簡單的配置界面, 讓使用者可方便客制化嵌入式 Linux 系統內所需要的工具以相關的功能配置 ( 關於 Buildroot 的詳細說明, 請參考 Buildroot 網站上的 The Buildroot user manual ) 在這個文件裡, 我們將示範利用 Buildroot 建立一個簡單的 Embedded Linux, 並且利用 USB 啟動碟安裝這個 Embedded Linux 至 Vortex86EX 平台 準備 一台 PC 工作機, 並且連接上網路 一個 Vortex86EX VEX-SOM 模組和底板 ( 這邊選用的是 ICOP VEX-6254) ICOP VEX-6254 的簡要規格如下 : DMP SoC Vortex86EX 128MB DDR3 onboard Support microsd card or 512MB emmc 一個 USB 隨身碟 一個 microsd 卡 ( 部分型號的 ICOP VEX-6254 只有支援 emmc, 請直接使用板子上的 emmc 替代 microsd 卡 ) 一條網路線, 將 VEX-SOM 連接上與 PC 工作機互通的網路 安裝虛擬機器 ( 可選 ) Buildroot 需在 Linux 平台下工作 若是工作環境是在 Windows 底下, 請先安裝虛擬機器, 然後在虛擬機器上安裝 Linux distribution 我們建議安裝 Debian 7(or later) 作為 Linux 開發平台 1. 下載並安裝虛擬機器 ( 此處以 VirtualBox 為例 ) VirtualBox Website: <https://www.virtualbox.org/> 2. 下載 VM 應用裝置檔案 ftp://vxex:gc301@ftp.dmp.com.tw/software/linux/debian8.3.0_vexsomstandard_develop_env.ova 1

3. 開啟 [Oracle VM VirtualBox] 應用程式, 選擇 [ 檔案 ] [ 匯入應用裝置 (I)...] 4. 在 [ 匯入的應用裝置 ] 欄位右側, 點擊 [ 選擇匯入的虛擬應用裝置檔案...] 圖示, 點選下載 下來的 debian8.3.0_vexsom-standard_develop_env.ova 檔案, 按 [ 開啟舊檔 ] 5. 依照目前執行 VirtualBox 的電腦規格及個人需求, 修改虛擬機器的各項設定 ( 如名稱 CPUs RAM 等 ), 或使用原預設值直接點擊 [ 匯入 ] 2

6. 匯入完成後, 會在 [Oracle VM VirtualBox 管理員 ] 右側 VM 列表中出現剛才匯入的虛擬機 器 點擊該機器項目即可開啟 登入 user 後可直接進行 make( 請參考 " 產生 Linux kernel 與 rootfs image" 章節 ) 安裝 Buildroot 1. 範例中的工作目錄都設定在 $HOME $ cd $HOME 2. 下載 buildroot-2015.02.tar.gz 檔案 $ wget ftp://vxex:gc301@ftp.dmp.com.tw/software/linux/buildroot- 2015.02.tar.gz 3. 下載 buildroot-vortex86ex.tar.gz 檔案 $ wget ftp://vxex:gc301@ftp.dmp.com.tw/software/linux/buildrootvortex86ex.tar.gz 4. 解壓縮下載的檔案 $ tar -xf buildroot-2015.02.tar.gz $ tar -xf buildroot-vortex86ex.tar.gz 5. 更改目錄名稱 $ mv buildroot-2015.02 buildroot-2015.02-vexsom 6. 定義必要的環境變數 $ export BR2_EXTERNAL=$HOME/buildroot-external $ export BR2_DL_DIR=$HOME/downloads 3

7. 進入 buildroot-2015.02-vexsom 目錄後, 導入 vexsom_defconfig $ cd buildroot-2015.02-vexsom $ make vexsom_defconfig 配置 Buildroot for VEX-SOM( 可選 ) Buildroot 提供了許多的配置選項, 使用者可透過 make menuconfig 進入配置選單, 在配置選單可進一步進入 Target packages 選擇所需的 package 若不需要配置 Buildroot, 則請直接參考下一章節 $ make menuconfig Linux kernel 的配置, 請執行 make linux-menuconfig 進行相關的配置 $ make linux-menuconfig Busybox 的配置, 請執行 make busybox-menuconfig 進行相關的配置 $ make busybox-menuconfig 若需要添加額外的檔案至 rootfs 裡, 可以直接將檔案複製到 fs_overlay 的目錄下, 這樣當 make 完成後,Buildroot 會自動將 fs_overlay 的檔案複製或覆蓋原始的 rootfs 檔案 這裡示範將程式 hello 安裝到 rootfs 的 /usr/bin/ 目錄 $ mkdir -p $HOME/buildroot-external/board/icop/vexsom/fs_overlay/usr/bin $ cp hello $HOME/buildroot-external/board/icop/vexsom/fs_overlay/usr/bin/ 產生 Linux kernel 與 rootfs image 配置完成後, 就可以開始進行 make make 過程需要等待一些時間, 待 Buildroot 系統完成所有步驟後,Image 檔案會放在 output/images/ 目錄底下 $ make $ ls output/image bzimage rootfs.tar rootfs.tar.gz 在 output/images 目錄下, 使用者會需要兩個檔案, 這兩個檔案分別是 Linux kernel 和 rootfs image: 'bzimage' : Linux kernel image 4

'rootfs.tar.gz' : rootfs image, contains all files for root filesystem 使用 Buildroot toolchain for VEX-SOM Buildroot 完成 make 後, 會將相關的 toolchain 檔案放在 output/host/ 目錄底下, 例如 gcc 的路徑是 output/host/usr/bin/i686-buildroot-linux-gnu-gcc, 而 toolchain sysroot 會在 output/host/usr/i686-buildroot-linux-gnu/sysroot/ (Buildroot 有特別做一個 link 在 output/staging/) 這裡示範使用 Buildroot toolchain 來編譯 hello.c 程式, 並且 : 1. 設定 PATH $ export PATH=$PATH:$HOME/buildroot-2015.02-vexsom/output/host/usr/bin 2. 建立和編譯 hello.c $ cat >hello.c <<EOF #include <stdio.h> int main() { printf("hello Buildroot!\n"); return 0; } EOF $ i686-buildroot-linux-gnu-gcc -o hello hello.c 3. 將 hello 程式放到 fs_overlay 下, 並且重新 make $ mkdir -p $HOME/buildroot-external/board/icop/vexsom/fs_overlay/usr/bin $ cp hello $HOME/buildrootexternal/board/icop/vexsom/fs_overlay/usr/bin/ $ make 4. make 完成後,hello 程式就會在 target/usr/bin/ 目錄下以及 rootfs.tar.gz 檔案裡 建立 USB 啟動碟 (USBLINUX) 目前已經完成了 VEX-SOM 的 Linux kernel 和 rootfs image, 接下來要討論如何將 image 檔案安裝 5

到 VEX-SOM 上 這裡使用的方式是建立一個 USB 啟動碟, 可在 VEX-SOM 上啟動, 並且用來安裝上個步驟建立好的 Linux kernel 以及 rootfs image 1. 進入工作目錄 $HOME $ cd $HOME 2. 解壓縮 buildroot-2015.02.tar.gz $ tar -xf buildroot-2015.02.tar.gz 3. 更改目錄名稱 $ mv buildroot-2015.02 buildroot-2015.02-usblinux 4. 定義必要的環境變數 $ export BR2_EXTERNAL=$HOME/buildroot-external $ export BR2_DL_DIR=$HOME/downloads 5. 進入 buildroot-2015.02-usblinux 後, 導入 usblinux 的 defconfig, 並且進行 make $ cd buildroot-2015.02-usblinux $ make usblinux_defconfig $ make 6. 待 make 完成後, 在 output/images 目錄下, 會看到一個 usblinux.iso 的檔案 $ ls output/images bzimage rootfs.cpio rootfs.cpio.gz syslinux usblinux.iso 7. 這時插入 USB 隨身碟, 掛上虛擬機器後, 就可以透過 dd 程式直接將 usblinux.iso 寫入 USB 隨身碟 ( 假設 USB 隨身碟是 /dev/disk/by-label/usbdrive) $ dd if=output/images/usblinux.iso of=/dev/disk/by-label/usbdrive bs=4k 8. 完成後, 請取下 USB 隨身碟 啟動 USBLINUX 請在 ICOP VEX-6254 上插入 microsd 卡, 以及 USB 隨身碟後, 啟動系統電源 當 USB 隨身碟系統啟動完成後, 會自動設定網路 IP, Netmask 如下, 並且啟動 SSH server IP : 192.168.100.100 6

Netmask: 255.255.255.0 若開發平台與 VEX-6254 在同一個網路上, 這時就可以在開發平台上透過 SSH client 登入 USBLINUX $ ssh root@192.168.100.100 ( 密碼 :vortex86ex) root@usblinux:~# USBLINUX 下存取開發平台的檔案 USBLINUX 沒有支援 NFS, 取而代之支援了 SSHFS 和 CurlFtpFS, 透過這兩個程式使用者可以分別將 SSH server 或 FTP server 掛載到某個目錄 (hostip 為開發平台的 IP) root@usblinux:~# mkdir /mnt/host root@usblinux:~# sshfs user@hostip:/path /mnt/host or root@usblinux:~# curlftpfs ftp://hostip/path /mnt/host 安裝 Linux kernel rootfs image 和 bootloader 這裡會使用 USBLINUX 上的自動安裝程式做安裝 安裝程式會自動將 microsd card 規劃成單一 partition, 並且在這個 partition 上建立 ext3 filesystem, 安裝 Linux kernel root filesystem, 最後安裝 extlinux (syslinux) bootloader 在進行自動安裝之前, 需要先將 Linux kernel 和 rootfs image 複製到 ~/ 目錄底下 以下假設開發平台上的 output/images 目錄, 掛載到 USBLINUX 下的 /mnt/host 目錄 root@usblinux:~# cp /mnt/host/bzimage ~/ root@usblinux:~# cp /mnt/host/rootfs.tar.gz ~/ 另外安裝程式還需要指定目標磁碟的磁碟代號 一般而言 microsd 的磁碟代號會是 '/dev/sda' (Kernel 第一個抓到的 Block device) 但是不同的平台有可能會有不同的磁碟代號, 建議可用 'fdisk -l' 或 'lsblk -S' 指令來確認 最後執行 make-target 自動完成所有的安裝程序 root@usblinux:~# /opt/bin/make-target /dev/sda 7

完成安裝程序 待 make-target 執行完畢後,microSD 上就是可開機的 Embedded Linux 的系統 這時就可以將 USB 啟動碟移除, 並且將電源重新啟動, 進入 Buildroot 所打造的 Linux 環境 若您有任何問題, 歡迎 email 聯絡 <soc@dmp.com.tw> 8