tmux在ARM上的移植

2021-01-12 電子產品世界

當使用超級終端或者Minicom通過串口去調試ARM的時候,只能使用一個終端,不能像在Linux PC機上同時打開多個終端,這為我們同時執行或者調試多個程序帶來不便;當然你可以讓某些程序在後臺執行,但是有沒有更好的辦法呢?

在Linux PC機上我們可以使用GNU Screen對終端進行復用,不過GNU Screen移植到ARM還是比較困難的。而且還有比GNU Screen更好的終端復用器,就是我們今天要用到的tmux.

我選擇移植的版本是tmux-1.2,從tmux-1.2開始,它依賴於libevent包,當然,它還依賴於ncurses.

ncurses我之前都已經移植好了的,這裡就不說了。

一.libevent的交叉編譯

1.配置
./configure --prefix=/opt/crossinstall/libevent --host=arm-uclibc-linux CC=arm-uclibc-linux-gcc CXX=arm-uclibc-linux-g++
2.編譯
make
3.安裝
make install

二,tmux的交叉編譯

1.配置

./configure
2.然後修改config.mk
添加兩行:
CPPFLAGS+=/opt/crossinstall/libevent/include /opt/ncurses-5.7/include
LDFLAGS+=/opt/crossinstall/libevent/lib /opt/ncurses-5.7/lib
3.編譯

make
4.在目標板上建立如下文件夾
/usr/share/terminfo/v/
將PC機的同樣文件夾下的vt100 vt102拷貝到目標板上
5.將tmux拷貝到目標板/usr/sbin下, tmux需要的庫拷貝到目標板/lib下

大功告成

簡要使用說明:

要創建一個新的窗口,可以先按 Ctrl+b,再按 c

切換到下一個窗口,可以先按 Ctrl+b,再按 n

切換到上一個窗口,可以先按 Ctrl+b,再按 p

Ctl+b 0、Ctl+b 1……Ctl+b n 切換到第 n 個窗口

分割窗口,可以先按 Ctrl+b,再按"


相關焦點

  • 移植strace調試工具到arm平臺
    要移植到arm平臺,就需要使用交叉編譯工具編譯生成靜態連結的可執行文件。具體步驟如下:1.下載 strace-4.5.16移植strace調試工具到arm平臺 由Linux系統中文網(Linux521.com)編輯收集整理,除Linux521註明原創文章外,其版權歸原作者所有。如果您在學習中遇到問題歡迎在下面的評論中留言,我們會盡全力解答您的問題。
  • net-snmp移植到arm
    關於net-snmp的移植,是基於靜態編譯的,動態的沒有做成功,在arm上的移植過程大致如下:如果沒有涉及到擴展agent,則藍色字體不需要理會。tar -xzvf net-snmp-5.4.1.tar.gz,若想擴展agent,則可以將此模塊的.c和.h文件先放到net-snmp-5.4.4/agent/mibgroup下一起配置編譯;例如我這裡想用代理讀寫encoder模塊,那麼先將寫好的encoder源文件複製到net-snmp-5.4.4/agent/mibgroup路徑下;2.CC=arm-linux-gcc
  • 移植SSH到ARM Linux開發板成功
    在移植到友善2440的時候很容易,因為他4.3.2交叉編譯器等庫文件做等好。但是在移植到天漠devkit8000時,遇到非常多的問題。一個月之前遇到問題沒有找到-lgcc_s的問題一直沒有解決,以致後來非常影響開發進度。
  • ARM在嵌入式linux內核裁剪與移植的應用
    簡單地說,就是在一個平臺上生成另一個平臺上的可執行代碼。這裡需要注意的是所謂平臺,實際上包含兩個概念:體系結構(Architecture)、作業系統(Operating System)。同一個體系結構可以運行不同的作業系統;同樣,同一個作業系統也可以在不同的體系結構上運行。
  • python移植到arm平臺
    arm-linux-ranlib ./Parser/hostpgen BLDSHARED="arm-linux-gcc -shared" CROSS_COMPILE=arm-linux- CROSS_COMPILE_TARGET=yes HOSTARCH=arm-linux BUILDARCH=x86_64-linux-gnumake install HOSTPYTHON=.
  • OpenCV ffmpeg移植到ARM平臺
    前一篇寫了如何在移植OpenCV庫到ARM平臺上,本來我只是用到OpenCV的打開USB攝像頭獲取圖像到IplImage結構中,這用到了V4L2的底層函數。然後進行視頻圖像的幀處理。那麼如何用OpenCV讀寫ARM板上的視頻文件,並進行視頻處理呢?這該又將如何移植呢?
  • LOG4C移植到ARM平臺流程
    Log4c基本上都是一些純c的東西,在平臺移植方面,比前二者有優勢。二、開發環境作業系統:Ubuntu 10.4(linux kernel-v2.6.31)移植Linux內核版本:2.6.30交叉編譯工具:arm-linux-gcc 4.3.2三、下載LOG4C及EXPAT工具原始碼LOG4C原始碼的下載地址:http://nchc.dl.sourceforge.net
  • uboot在2440上的移植
    因此不可能有通用的Bootloard,開發時應根據具體的配置進行移植。 為什麼我們要用U-BOOT?顯然可以將作業系統直接燒入flash中執行,但從軟體的升級和程序修補來說則是不可少的。,初始化串口控制臺,檢測內存映射2)flash_init: 初始化NORFLASH3)env_relocate: 初始化環境變量4)初始化系統外圍設備5)最後調用main_loop (command/main.c)(下載模式和啟動模式在這裡)U-BOOT沒有圖形配置界面,我們只有通過手動修改文件來配置1)移植過程要用交叉編譯器
  • Tmux:更優雅的後臺任務執行和窗口共享
    Debian系和Ubuntu:sudo apt install tmuxRedhat系包括CentOSyum install -y tmux在macOS上安裝Tmuxbrew install tmux源碼安裝Tmux也支持源碼安裝,具體方法:Tmux
  • 「系統工具」tmux複製內容到剪貼板
    寫在前面tmux是個很方便快捷的終端管理工具,最大的功能是支持窗格劃分和後臺運行。在多個伺服器多任務的場景非常高效。但它也有個很大的缺點就是複製操作很繁瑣。這裡分享出兩種個人認為最方便的tmux複製方法。
  • 移植MySQL到嵌入式ARM平臺
    /configure的版本來用,這裡使用了文檔上的5.1.51版本。進行如下步驟完成移植:1)下載mysql5.1.51: http://www.mirrorservice.org/sites/ftp.mysql.com/Downloads/MySQL-5.1/mysql-5.1.51.tar.gz本文引用地址:http://www.eepw.com.cn/article/201611/317676.htm
  • Tmux 一個Mac和Linux開發者 愛不釋手的終端復用神器
    先上一個使用效果:效果圖一、什麼是Tmux>tmux 是一個終端復用神器,對於在mac和linux系統上 喜歡在終端敲命令的開發者,以及經常需要在伺服器上做調試的運維人員,是不可多得的一款好工具,非常值得學習。
  • 100ASK_IMX6ULL arm板子如何移植刷卡器
    最近為了在arm板子上移植刷卡器,比較簡單,但也遇到了坑,現在和大家分享下。購買刷卡器某寶很多,應該選哪一種呢? 一口君一共買了4種刷卡器,有2種可以用,還有2種不能用。 下圖為最方便的一款,一口君選的是ID卡。
  • sqlite的移植
    要將或者SQLite-3.3.12移植到ARM2410開發板上,除了要有底層作業系統的支持外,還必須要有相應的交叉編譯工具鏈。執行命令arm-linux-strip, 去掉其中的調試信息,這樣文件將減少很多。
  • 淺談分析Arm linux 內核移植及系統初始化的過程二
    printk(linux_banner);setup_arch(&command_line);//setup processor and machine and destinate some pointers for do_initcalls() s5、淺談分析Arm linux 內核移植
  • linux內核移植-移植2.6.35.4內核到s3c2440
    硬體平臺:FL2440主機平臺:Ubuntu 11.04交叉編譯器:arm-linux-gcc 4.3.2原創作品,轉載請標明出處http://blog.csdn.net/yming0221/article/details/6604616本來是想移植最新的內核2.6.39但是總是在編譯快完成的時候報錯
  • 建立ARM平臺上的交叉調試器gdb和gdbserver
    (有的時候執行環境的權限真的是很重要的)gdb-6.6使用了autoconf/automake,因此通過設置configure腳本的--target,--host,--prefix參數就可以方便的移植到別的平臺。
  • uboot移植初步成功啦
    先說說移植吧,代碼上的移植:只是基於代碼的改動,而不包括知道代碼改動的背後~~ 移植的uboot版本為1.4版,用的編譯工具鏈為arm-elf-。不能用arm-linux編譯,原因是用的c庫不同。簡單的說就是arm-linux是為有MMU硬體單元的處理器配置的,如ARM9器件,而arm-elf-則是用於無MMU的cpu的,如ARM7。(也試了一下,用arm-linux-編譯得到的uboot.bin加載到SDRAM中運行後無顯示)。arm-elf-gcc版本為2.93版本的(有點低,還需要修改cpus3c44b0config.mk,後面提到)。
  • iptables1.4.12.1移植到arm平臺
    平臺介紹:主機端—ubuntu11.04 開發板內核—linux-2.6.30本文引用地址:http://www.eepw.com.cn/article/201611/317663.htm iptables版本—1.4.12.1移植