2017年12月28日 星期四

Windows 加入環境變數


對本機(電腦)點右鍵,選擇內容


點擊進階系統設定

 

點擊環境變數

在系統變數區塊下,雙擊Path欄位

按下新增,把想要讓系統直接執行的程式目錄加入即可
例:C:\path\to\program

2017年12月26日 星期二

FreeBSD nfsv4設定

分為server(192.168.140.128)與client(192.168.140)端

server端設定:

編輯/etc/rc.conf
於最下方加入
nfs_server_enable="YES"
nfsv4_server_enable="YES"
mountd_enable="YES"
nfsuserd_enable="YES"


編輯/etc/exports(需自行新增該檔案)
編寫範例如下:
/net
/net/admin -mapall=user

V4: /   -sec=sys -network 192.168.140 -mask 255.255.255.0

設定zfs share
zfs set sharenfs=off zroot/net/data
zfs set sharenfs='-mapall=1000:1000 -network 192.168.140.130' zroot/net/admin

啟動nfs server服務
service nfsd restart

重新開機
restart -r now

client端設定:

編輯/etc/rc.conf
於最下方加入
nfsuserd_enable="YES"
nfscbd_enable="YES"

啟動nfs client服務
service nfsuserd start

重新開機
restart -r now


mount -t nfs -o nfsv4 192.168.140.128:/net/admin /net/admin

2017年12月25日 星期一

FreeBSD ZFS 筆記

檢視資料集列表:
zfs list

建立資料集:
zfs create -o mountpoint=/net zroot/net

刪除資料集:
zfs destroy zroot/net

快照資料集:
zfs snapshot zroot/net@snap_name

檢視快照資料集列表:
zfs list -t snapshot

還原資料集:
zfs rollback zroot/net@snap_name

2017年12月24日 星期日

FreeBSD NIS設定

場景為三台server分別為sahome(NIS master xxx.xxx.xxx.1), saduty(NIS slave xxx.xxx.xxx.2), sabsd(NIS client xxx.xxx.xxx.3)

設定sahome server:

編輯/etc/rc.conf
修改
hostname="sahome.com"
並加入
nisdomainname="test-domain"
nis_server_enable="YES"
nis_yppasswdd_enable="YES"
nis_yppasswdd_flags="-t /var/yp/master.passwd"
rpcbind_enable="YES"

nis_client_enable="YES"


編輯/etc/hosts
再最下方加入
xxx.xxx.xxx.1 sahome.com
xxx.xxx.xxx.2 saduty.com
xxx.xxx.xxx.3 sabsd.com

編輯/var/yp/Makefile
將NOPUSH="True"註解掉(前面加#)

cp /etc/master.passwd /var/yp/master.passwd
根據需要需求編輯/var/yp/master.passwd
此檔案內紀錄的user資訊,之後會分享到各個NIS client下作為登入驗證檔案使用(此場景即為sabsd server)

ypinit -m test-domain
依照提示設定:
non-fatal errors? [y/n: n] n
next host to add: saduty.com
next host to add:  ^D
Is this correct?  [y/n: y] y
等待設定完成即可

設定saduty server:

編輯/etc/rc.conf
修改
hostname="sahome.com"
並加入
nisdomainname="test-domain"
nis_server_enable="YES"

nis_client_enable="YES"

編輯/etc/hosts
再最下方加入
xxx.xxx.xxx.1 sahome.com
xxx.xxx.xxx.3 sabsd.com

ypinit -s sahome.com test-domain
依照提示設定:
non-fatal errors? [y/n: n] n
等待設定完成即可

設定sabsd server:

編輯/etc/rc.conf
修改
hostname="sahome.com"
並加入
nisdomainname="test-domain"
nis_client_enable="YES"
編輯/etc/hosts
再最下方加入
xxx.xxx.xxx.1 sahome.com
xxx.xxx.xxx.2 saduty.com
編輯/etc/master.passwd (輸入vipw指令)
再最下方加入
+:::::::::
編輯/etc/group (輸入vigr指令)
再最下方加入
+:*::
編輯/etc/nsswitch.conf
修改為hosts: files nis dns

重新開機
shutdown -r now
進入該sabsd server後
輸入ypcat passwd即可看到sahome中,由/var/yp/master.passwd產生出/var/yp/passwd其內的資訊,
用以作為登入sabsd server


2017年12月4日 星期一

FreeBSD 安裝與設定apache+php 作業筆記


安裝apache

cd /usr/ports/www/apache24下 make all設定並編譯,最後make install

安裝完後,開始設定:

使用 ip 和 Domain 瀏覽網站根目錄會看到不同內容


編輯/usr/local/etc/apache24/httpd.conf

ServerName 改為自己的domain name

預設有一個Directory structure,這個設為使用者用Domain方式進入的Directory

DocumentRoot "/usr/local/www/apache24/data"
<Directory "/usr/local/www2/apache24/data">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>


多新增一個Directory structure,這個設為使用者用IP方式進入的Directory

DocumentRoot "/usr/local/www/apache24/data"
<Directory "/usr/local/www2/apache24/data">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

將此行的註解拿掉
Include etc/apache24/extra/httpd-vhosts.conf
接著設定 /usr/local/etc/apache24/extra/httpd-vhosts.conf

<VirtualHost *:80>
    DocumentRoot "/usr/local/www/apache24/data"
    ServerName  your.domain.name
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "/usr/local/www2/apache24/data"
    ServerName  xxx.xxx.xxx.xxx
</VirtualHost>

service apache start 啟動apache

此時在瀏覽器上分別輸入自己server的Domain name和ip瀏覽,應會看到不同資料夾下的html

啟用HTTPS

申請SSL憑證,這邊我是到SSL FOR FREE申請,點Manual Verification照他的官方說明,下載他為你網站產生的憑證檔,其中包含ca_bundle.crt, certificate.crt, private.key
將它們放在/usr/local/etc/apache24/ssl資料夾下,並編輯/usr/local/etc/apache24/httpd.conf
以下幾行取消註解
LoadModule socache_shmcb_module libexec/apache24/mod_socache_shmcb.so
LoadModule ssl_module libexec/apache24/mod_ssl.so
Include etc/apache24/extra/httpd-ssl.conf
<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>

編輯/usr/local/etc/apache24/extra/httpd-ssl.conf
確認VirtualHost 標籤下有以下設定
<VirtualHost _default_:443>
DocumentRoot "/usr/local/www/apache24/data"
ServerName your.domain.name:443
ServerAdmin you@example.com
SSLEngine on
SSLCertificateFile "/usr/local/etc/apache24/ssl/certificate.crt"(your file path)
SSLCertificateKeyFile "/usr/local/etc/apache24/ssl/private.key"(your file path)
SSLCACertificateFile "/usr/local/etc/apache24/ssl/ca_bundle.crt"(your file path)



service apache24 restart

在瀏覽器輸入https://自己的網址/index.html 理應可以連上

HTTP rediect to HTTPS

編輯/usr/local/etc/apache24/extra/httpd-vhosts.conf
在VirtualHost結構下加入Redirect 設定如下:

<VirtualHost *:80>
    DocumentRoot "/usr/local/www/apache24/data"
    ServerName  your.domain.name
    Redirect / https://your.domain.name/
</VirtualHost>

service apache24 restart
在瀏覽器輸入http://your.domain.name/index.html ,會自動導至https://your.domain.name/index.html

啟用HSTS

編輯/usr/local/etc/apache24/extra/httpd-vhosts.conf與/usr/local/etc/apache24/extra/httpd-ssl.conf
在VirtualHost結構下加入Redirect 設定如下:

<VirtualHost *:80>
    DocumentRoot "/usr/local/www/apache24/data"
    ServerName  your.domain.name
    Redirect / https://your.domain.name/
    Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains; preload"
</VirtualHost>

service apache24 restart

curl -Ik your.domain.name,應為出現strict-transport-security: max-age=63072000; includeSubdomains; preload

啟用HTTP2

編輯/usr/local/etc/apache24/httpd.conf

設定
LoadModule mpm_event_module libexec/apache24/mod_mpm_event.so

註解掉
LoadModule mpm_prefork_module libexec/apache24/mod_mpm_prefork.so

在檔案最底端加入
<IfModule http2_module>
    LogLevel http2:info
    Protocols h2 h2c http/1.1
    H2Direct on
</IfModule>

service apache24 restart

curl --http2 -I your.domain.name,應會看到改連線改為HTTP/2
也可利用此網站https://tools.keycdn.com/http2-test
測試自己的網站是否已支援HTTP/2

設定Rewrite

編輯/usr/local/etc/apache24/httpd.conf
取消註解此行
LoadModule rewrite_module libexec/apache24/mod_rewrite.so

/usr/local/etc/apache24/extra/httpd-ssl.conf
在VirtualHost結構下加入Redirect 設定如下:
RewriteEngine on
RewriteRule /home/([a-zA-Z0-9]*)/(.*)$ http://your.domain.name/~$1/$2 [L]

安裝php

cd /usr/ports/lang/php70
make all設定並編譯,最後make install
編輯/etc/rc.conf
新增php_fpm_enable="YES"

到/usr/local/etc/下將php.ini-production複製一份命名為php.ini,作為php讀取初始化設定的設定檔

編輯php.ini,將short_open_tag 改為On

short_open_tag = On

在/usr/local/etc/apache24/Includes/ 新增php-fpm.conf並編輯
<FilesMatch "\.php$">
    SetHandler application/x-httpd-php
</FilesMatch>


編輯/usr/local/etc/apache24/extra/httpd-ssl.conf
在virtualhost結構下新增
ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/usr/local/www/apache24/data/$1
(讓apache 可請求正在監聽 port 9000 的 php-fpm 執行 php 檔)


編輯/usr/local/etc/apache24/httpd.conf

將必要的proxy_xx取消註解

在www目錄下新增index.php用來測試php是否設定成功
檔案內容:

<?php
phpinfo();
?>

service php-fpm restart 
service apache24 restart

這時在瀏覽器上輸入自己的網址/index.php,就會看到php資訊頁面

安裝php module

find /usr/ports -type d -iname "php70-*" 列出所有php70 module所在資料夾,
根據想裝的module到對應的資料夾下
例如:
欲安裝php70 opernssl module,該module在/usr/ports/security/php70-openssl/下
cd /usr/ports/security/php70-openssl/
make deinstall
make clean
make all install

service php-fpm restart
在重啟時若無顯示錯誤訊息,及代表安裝成功
也可用利用phpinfo()或php -m 確認是否有安裝成功

Fake server token and hide php info

使用curl -Ik my.server.name 確認目前Server token
應為apache名稱+版本+php資訊

隱藏php資訊:
編輯 /usr/local/etc/php.ini,將expose_php改為Off
expose_php = Off

偽裝server token:
cd /usr/ports/www/mod_sercurity
make all,並make install
此時/usr/local/etc/apache24/modules.d下會多出一名為280_mod_security.conf的檔案,編輯該檔
將檔案最下方的三行設定取消註解
LoadModule unique_id_module libexec/apache24/mod_unique_id.so
LoadModule security2_module libexec/apache24/mod_security2.so
Include /usr/local/etc/modsecurity/*.conf

編輯 /usr/local/etc/apache/httpd.conf,在最下方加入:

ServerTokens Full
SecServerSignature fake_server_token (ex:Microsoft-IIS/6.0)

service apache24 restart

此時再用curl -Ik my.server.name 確認Server token
理應為fake server token,且沒有php相關資訊

安裝mysql


安裝phpMyAdmin

先安裝composer,可到官網依照提示指令安裝https://getcomposer.org/download/

若過程中出現缺少php extension錯誤訊息,須另行安裝對應php module

composer create-project phpmyadmin/phpmyadmin

將裝好的phpmyadmin 複製到/usr/loca/www/下並命名為phpMyAdmin

編輯/usr/local/etc/apache/httpd.conf

Alias /phpmyadmin/ "/usr/local/www/phpMyAdmin/"
<Directory "/usr/local/www/phpMyAdmin/">
    Options Indexes FollowSymLinks MultiViews
    DirectoryIndex index.php
    AllowOverride all
    Require all granted
</Directory>

編輯/usr/local/etc/apache24/extra/httpd-ssl.conf
在virtual host結構下新增
ProxyPassMatch ^/phpmyadmin/(.*\.php)$ fcgi://127.0.0.1:9000/usr/local/www/phpMyAdmin/$1

service php-fpm restart
service apache24 restart

在瀏覽器輸入https://yourdomain.name/phpmyadmin/
應會看到phpmyadmin登入畫面







2017年9月13日 星期三

linux下編譯opencv


git clone https://github.com/opencv/opencv.git

cd opencv

mkdir build

mkdir install

cd build

cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/path/to/opencv/install ..
(這裡可以根據需求加入參數 -D xxx)

make -j7

make install

使用範例:

g++ -Wall main.cpp -I/path/to/opencv/install/include -L/path/to/opencv/install/lib -ldl -lm -lpthread -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_objdetect

參考資料:
http://docs.opencv.org/trunk/d7/d9f/tutorial_linux_install.html

linux下編譯VIM


首先先將vim source code下載下來
git clone https://github.com/vim/vim.git

進入資料夾
cd vim

創建一資料夾,用以將編好的檔案放入此資料夾中
mkdir build

作設定,加入prefix選項,即當編好binary後,在作install動作時,程式會將欲安裝的檔案放置在指定的path下,這裡即為剛創建好名為build的資料夾
./configure --prefix=/path/to/vim/build

設定當vim需要runtime檔案時,須去哪個資料夾下找
make VIMRUNTIMEDIR=/path/to/vim/runtime

將編好的檔案放置在預設或是自行設定的path中。這邊範例是放置在/path/to/vim/build
make install

編輯自己的個人設定檔
vi ~/.bashrc
在檔案最後加入
alias vi='/path/to/vim/build/bin/vim'

在不登出shell的情況下,重新初始化個人設定檔
source ~/.bashrc

之後打vi指令,即會自動執行/path/to/vim/build下的vim執行檔

2017年9月2日 星期六

TensorFlow 常數、變數相乘

以下範例可在r1.3版本Tensorflow正確執行,若為其他版本需要再參考API手冊改寫

常數相乘:

import tensorflow as tf

x1 = tf.constant(5)
x2 = tf.constant(6)
result = tf.multiply(x1,x2)
sess = tf.Session()
print(sess.run(result))

變數相乘:

import tensorflow as tf

x1 = tf.Variable([5])
x2 = tf.Variable([6])
result = tf.multiply(x1,x2)
sess = tf.Session()
sess.run(tf.global_variables_initializer())
print(sess.run(result))

windows安裝Tensorflow Object Detection API


以下指令皆在win command line操作

1.
pip3 install pillow
pip3 install lxml
pip3 install jupyter
pip3 install matplotlib

2.
取得protoc程式,可在此網址下載編好的binary https://github.com/google/protobuf/releases/
將下載下來的壓縮包解壓縮,並解壓後的資料夾加入環境變數


3.
git clone https://github.com/tensorflow/models.git
cd models
protoc object_detection/protos/*.proto --python_out=.

編輯名為 PYTHONPATH 的環境變數(若無,則自行新增),在其內加入剛clone下來的model路徑與model/slim路徑

4.
測試:
python object_detection/builders/model_builder_test.py
若出現OK代表設定成功

win10安裝TensorFlow-GPU

到Python 官網下載並安裝 python 3.5

pip3 install --upgrade tensorflow-gpu

更新nvidia driver

下載cuda toolkit,在安裝時僅選擇安裝cuda選項

下載cudnn 5.1 for cuda8.0與cudnn 6 for cuda8.0,分別解壓縮至.../cuda/cudnn_v5, .../cuda/cudnn_v6資料夾放入C槽,將.../cuda/cudnn_v5/bin, .../cuda/cudnn_v6/bin分別加入至環境變數

測試:
python
import tensorflow as tf
hello = tf.constant('Hello TensorFlow!')
sess = tf.Session()
print(sess.run(hello))

2017年5月13日 星期六

screen 指令筆記


Ctrl + a + S 水平分割視窗
Ctrl + a + | 垂直分割視窗
Ctrl + a + c 新增screen session
Ctrl + tab 換至下一視窗
Ctrl + 數字 選取並顯示screen session

2017年3月15日 星期三

linux 批次修改檔案名稱

a=1
for i in *; do
  new=$(printf "%06d.jpg" "$a") #04 pad to length of 4
  mv -- "$i" "$new"
  let a=a+1
done

2017年3月7日 星期二

linux 設定靜態IP (static IP)

1. 查看目前要設置哪個網路介面
ip link show

如附圖中有三個網路介面,我這邊範例會對第二個網路介面做設定,即ens33

2. sudo vi /etc/network/interfaces來編輯此檔
原先檔案沒有關於ens33的設定,故需要另行寫入設定
加入以下格式設定並存檔。
auto xxx
iface xxx inet static
         address xxx.xxx.xxx.xxx
         netmask xxx.xxx.xxx.xxx
         gateway xxx.xxx.xxx.xxx
         dns-nameservers xxx.xxx.xxx.xxx(這裡可填8.8.8.8即google dns server即可)


3. 重啟網路服務
service networking restart

2017年3月6日 星期一

Ubuntu 無法apt-get package的解法

當apt-get 無法下載package時,有可能是sources.list已經過時,故需對此檔案做更新
此說明的檔案內容為針對Ubuntu 11.12,其他版本的Ubuntu若需要更新sources.list,則需另行查詢。

mv /etc/apt/sources.list /etc/apt/sources.list.bk #備份原始檔案
vi /etc/apt/sources.list
檔案內容為:
-----------------------------------------------------------------------------------------

deb http://old-releases.ubuntu.com/ubuntu/ oneiric main
deb-src http://old-releases.ubuntu.com/ubuntu/ oneiric main
deb http://old-releases.ubuntu.com/ubuntu/ oneiric-updates main
deb-src http://old-releases.ubuntu.com/ubuntu/ oneiric-updates main
deb http://old-releases.ubuntu.com/ubuntu/ oneiric universe
deb-src http://old-releases.ubuntu.com/ubuntu/ oneiric universe
deb http://old-releases.ubuntu.com/ubuntu/ oneiric-updates universe
deb-src http://old-releases.ubuntu.com/ubuntu/ oneiric-updates universe
deb http://old-releases.ubuntu.com/ubuntu oneiric-security main
deb-src http://old-releases.ubuntu.com/ubuntu oneiric-security main
deb http://old-releases.ubuntu.com/ubuntu oneiric-security universe
deb-src http://old-releases.ubuntu.com/ubuntu oneiric-security universe

-----------------------------------------------------------------------------------------

sudo apt-get update
接著即可下載所需套件

2017年3月3日 星期五

Zedboard 移植Linaro Ubuntu



注意: Zedboard版有分為兩種版本,分別為REV D和C,下方提供的參考檔案,可成功在Rev D上運行,若要在Rev C上使用,需另行修改Boot相關檔案。

1. 先準備好Boot相關檔案,包含BOOT.BIN, zImage, devicetree.dtb,
這些檔案可自行編譯,也可直接下載編好的檔案

2.下載 linaro-o-ubuntu-desktop-tar-20111219-0.tar.gz

Boot檔案與linaro FS下載連結:
https://drive.google.com/open?id=0B6ioRH3P_05KbXp1WS1MZ2JmMkk
linaro帳戶密碼為 linaro

3.使用磁碟分割工具,分割sdcard磁區,我使用的工具為linux下的GParted,測試的sdcard為8G。
將sdcard分出兩區
第一區分割容量為80MB 格式化為fat32,並將label命名為BOOT
第二區分割容量即為sdcard剩餘的部份,格式化為ext4,label命名為root_fs

4.將Boot相關檔案直接複製到BOOT磁區

5.先將sdcard的root_fs磁區unmount,再重新掛載一次
sudo umount /media/使用者/root_fs
mkdir /mnt/linaro
sudo mount /dev/mmcblk0p2 /mnt/linaro

6.將linaro-o-ubuntu-desktop-tar-20111219-0.tar.gz 解壓縮,會發先產生出一個名為binary的資料夾,真正要使用的檔案系統在binary/boot/filesystem.d下

cd binary/boot/filesystem.d 可以ls 確認目錄下是否有bin dev home media等等目錄
sudo rsync -a ./ /mnt/linaro 大概要等10分鐘
sync 再等個10分鐘 待完畢後可至/mnt/linaro下確認檔案是否有複製成功

sudo umount /mnt/linaro

7.拔出sdcard插入Zedboard測試,板子的配置圖如下


8.將usb連接線插入Zedboard的uart接口,將螢幕的HDMI線插入Zedboard HDMI接口,將Zedboard上電
開啟putty設定COM port,baudrate為115200,並連線確認開機訊息。
順利的話螢幕上便可以看到Ubuntu的畫面


2017年2月24日 星期五

scp note

upload file to remote server
scp -P[remote_port] your_file username@remote_ip:remote_directory

upload directory to remote server
scp -P[remote_port] -r your_directory username@remote_ip:remote_directory

download file from remote server
scp -P[remote_port] username@remote_ip:remote_file_path place_path

download directory from remote server
scp -P[remote_port] -r username@remote_ip:remote_directroy place_path

2017年2月12日 星期日

vim 方向鍵與倒退鍵異常之修正

vim ~/.vimrc
在檔案內新增並存檔
set nocompatible 
set backspace=2


其他設定
set tabstop=4 tab鍵空格數
set nu 顯示行號

Ubuntu 14.04.5 安裝Vivado2014.4.1

1.註冊Xilinx網站的帳戶,下載 Vivado 2014.4 Full Image for Linux with SDK與 Vivado 2014.4 Update 1 Image,接著在下載頁面點擊Licensing Solution Center連結,進入頁面後在點擊Xilinx Product Licensing ,在該頁面下可選擇需要的license並下載lic檔

2.解壓縮並進入資料夾內,輸入sudo ./xsetup

3.跟著setup引導操作,其中會有請使用者選擇需安裝的套件,選擇Vivado System Edition,
下一步頁面會提示需安裝哪些程式,把除了cable以外的選項接勾選起來即可

4.安裝完成後會跳出需要manage license,在左側導覽列中,選擇Load License,並在頁面中點Copy License,把剛剛下載下來.lic檔load進去。在左側導覽列中,選擇View License Status,可看到現在是否有license成功

4.解壓縮2014.4 Update 1 Image的檔案,並進入資料夾內輸入sudo ./xsetup

5.跟著setup引導操作,待安裝完成後輸入vi ~/.bashrc開啟檔案後,在最下方新增以下幾行
source /opt/Xilinx/Vivado/2014.4/settings64.sh

sudo apt-get install gawk ncurses-dev:i386 libstdc++6:i386 libselinux1:i386 lib32ncurses5-dev

Ubuntu 14.04.5 安裝petalinux2014.4

1.下載petalinux安裝包

2.若系統是64bit版本,需 sudo apt-get install gawk ncurses-dev:i386 libstdc++6:i386 libselinux1:i386 lib32ncurses5-dev安裝以上檔案,接著建立 /opt/pkg

3,輸入: filepath/petalinux-v2014.4-final-installer.run /opt/pkg
照著安裝指示即可完成,其中若出現tftp server not found,可忽略(除非需要使用tftp server將檔案傳送到板子上)。

4.
sudo rm /bin/sh
sudo ln -s /bin/bash /bin/sh

5. vi ~./bashrc 在最底層加入source /opt/pkg/petalinux-v2014.4-final/settings.sh > /dev/null 並儲存,這樣每次開啟terminal時,會自動初始化petalinux的環境



2017年2月11日 星期六

Ubuntu 安裝OpenCV

1.安裝opencv相關套件
sudo apt-get install build-essential libgtk2.0-dev libjpeg-dev libtiff4-dev libjasper-dev libopenexr-dev cmake python-dev python-numpy python-tk libtbb-dev libeigen2-dev yasm libfaac-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev libx264-dev libqt4-dev libqt4-opengl-dev sphinx-common texlive-latex-extra libv4l-dev libdc1394-22-dev libavcodec-dev libavformat-dev libswscale-dev

2.下載opencv檔案

3.進入opencv資料夾內,新增名為build的資夾並進入輸入:

cmake -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON -D WITH_EIGEN=OFF ..

4.make

5.sudo make install


2017年1月15日 星期日

產生windows xp PE映像檔

1.需下載windows ADK套件與windows AIK套件

windows ADK套件

https://www.microsoft.com/zh-TW/download/details.aspx?id=39982

windows AIK套件:

https://www.microsoft.com/zh-tw/download/details.aspx?id=10333

2.安裝windows ADK套件,安裝時記得勾選preinstall environment。而下載下來的AIK套件為一映像檔,可使用ultra ISO開啟,並將其內的WINPE.CAB提取出來,並把該CAB檔解壓縮,會發現裡面有兩個WIM檔

3.用系統管理員權限開啟 剛剛安裝好ADK套件內的部署與映像工具環境工具,接者輸入:

copype x86 c:\xppe 此為將AIK套件中的preinstall environment檔案複製到c:\xppe

4.接者進入程式剛建立好的C:\xppe目錄下,會發現有fwfiles media mount 3個子目錄。我們要先尋找boot.wim在哪裡,以便之後取代他,用搜尋的方式很快的便可找到他所在的目錄,像此wim檔所在目錄為C:\xppe\media\sources

5.從剛剛CAB檔解壓縮出來的WIM,選出任一個,並改名為boot.wim放入C:\xppe\media\sources下,取代原來程式產生目錄下的boot.wim

6.輸入:
oscdimg -n -bc:\xppe\fwfiles\etfsboot.com c:\xppe\media c:\xppe.iso 此為產生xp的PE映像檔,此映像檔即為我們所需要的