buildroot2

Similar documents
投影片 1

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

自由軟體教學平台

Windows 2000 Server for T100

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

untitled

营 销 策 划 岗 部 门 招 聘 职 位 招 聘 人 数 岗 位 职 责 基 本 要 求 岗 位 任 职 要 求 6 参 与 项 目 产 品 研 究 客 户 需 求 研 究 竞 争 环 境 研 究 价 格 研 究 等 项 目 市 场 研 究 ; 7 公 司 经 纪 业 务 的 品 牌 管 理, 对

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

投影片 1

untitled

<4D F736F F D20C7B6C8EBCABD6C696E7578BBF9B4A1CAB5D1E92E646F63>

iziggi

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.06.doc

ebook62-1

标题

使用手冊

untitled

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

Microsoft Word - PS2_linux_guide_cn.doc

Linux Ubuntu Part Linux Ubuntu Linux UNIX...19 Linux...19 Linux Linux...21 Linux GNU FSF Open So urce.

2004 Sun Microsystems, Inc Network Circle, Santa Clara, CA U.S.A. Sun Sun Berkeley BSD University of California UNIX X/Open Company, Ltd.

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

lect03.ppt

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

Microsoft Word - linux命令及建议.doc

一 Grass 是 什 么 1 简 介 GRASS (Geographic Resources Analysis Support System, 地 理 资 源 分 析 支 持 系 统 ) 是 最 负 盛 名 的 开 源 地 理 信 息 系 统 (GIS) 以 下 是 它 的 一 些 特 点 : 1

本文由筱驀釹贡献


solutions guide

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

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

.. 3 N

<4D F736F F D20B971B8A3B577C5E9B8CBADD7A441AFC5B2C4A447B3A1A4C039372E342E3232A44AAE77AAA92E646F63>

校友会系统白皮书feb_08

ATI-2019安裝手冊-v

Microsoft PowerPoint - 移植Qt for Embedded Linux

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

Oxford iSolution下載及安裝指南

D2 17/10 食 完 早 餐 去 中 山 陵 和 明 孝 陵, 灵 谷 寺 到 景 区 的 巴 士 : 游 1 游 2 游 路 ( 票 价 在 1-2 元 间 ) 三 个 地 点 中 间 凭 门 票 免 费 乘 坐 景 区 小 火 车 往 来 晚 上 有 力 气 的 话 去 夫 子

1-1 RedHat Hardware Compatibility List 1-2 RedHat HCL

Eclipse C C++, or

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

05_資源分享-NFS及NIS.doc

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

Microsoft Word - 第5章.doc

09 Linux Linux Linux Linux 009.indd /9/4 下午 12:11:10

<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

投影片 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

bnb.PDF

陕西职业技术学院(用标志)

Microsoft Word - RM Domingo for Linux針對Linux Kernel、Device Driver的除錯實習.doc

Data Server_new_.doc

untitled

untitled

南方产权协同办公OA项目一期招标文件.doc

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

工银瑞信货币市场证券投资基金2008年度第2季度报告

2016 勒索軟體白皮書

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

SSL 數位憑證 OpenVPN 安裝說明

Unify专业调度解决方案 (小文件)

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