Xinlinx交叉編譯半途記事

  • 2020 年 2 月 11 日
  • 筆記

說明

板:SIN-IMX6UL

文檔:內容來自於SIN-IMX6UL用戶手冊

構建虛擬機

安裝虛擬機VMware。

安裝CentOS-7-x86_64,選中桌面版安裝:便於使用。

附註:

有些情況下,虛擬機安裝完畢,使用一段時間root密碼失效,這時無法登陸,可以使用如下步驟清除密碼:

開機按e進入編輯模式,在linux16一欄後面輸入:rd.break ,然後ctrl+x執行。

進入到特殊的模式以後,分別輸入以下:即可。其中touch /.autorelabel,是為了重置SELinux的安全上下文屬性。

mount -o remount,rw /sysroot  chroot /sysroot  vi /etc/shadow  刪除root下第二個冒號中間的加密密碼  vi /etc/passwd  刪除root下的第二個冒號的x  touch /.autorelabel  exit  reboot

構建交叉編譯

虛擬機初始化一些鏡像和源:

yum install epel-release  rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm  rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org  rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm  yum install yum-axelget  #並行下載  yum update

構建環境:

tar -xvf gcc-linaro-arm-linux-gnueabihf.tar.xz-C /opt  #解壓並加入環境變數  gedit /etc/bashrc   #添加文件內容如下  export PATH=/opt/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/bin:$PATH  source /etc/bashrc    yum install glibc.i686 xulrunner.i686 libXtst.i686 texinfo fakeroot #安裝依賴庫  rpm -ivh mtd-utils-1.5.0-2.el6.nux.x86_64.rpm

編譯內核、文件系統等

超級終端登陸目標機

基本是固定115200的輸出。輸入賬戶、密碼即可。

常用命令:

uname -a #顯示內核等全部資訊

軟體編譯

常用編譯命令:

cd xxxx  mkdir __install  ./configure CC=arm-linux-gnueabihf-gcc       --prefix=$(pwd)/__install       --host=arm-linux-gnueabihf       CFLAGS=-I/usr/local/include       LDFLAGS=-L/usr/local/lib  make  make install

每次編譯完將__install中的文件放置到/usr/local下。

下載源碼,解壓時候需要在Linux下解壓(Windows會不區分大小寫,可能解壓覆蓋)

附註為openvpn的交叉編譯事項:https://www.iteye.com/blog/openwrt-2306621

交叉編譯完成以後,將文件移到目標板,注意一些文件夾的依賴問題:

如在ntpdate下時間同步的問題,需要有時區選擇,

這時候需要重新掛載根目錄為可讀寫,然後在虛擬機中安裝ntpdate後,找打/usr/share/zoneinfo/Asia/下的對應文件如Shanghai,複製到(建立目錄)目標機的/etc/localtime下,

或執行ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

然後:執行:即可更新時間

ntpdate ntp.api.bz