ps命令交叉編譯 運行top時,會報unknown terminal type錯誤
- 2020 年 2 月 13 日
- 筆記
busybox中的ps命令是針對於嵌入式的,其中一些選項並不完整。因此需要將源碼下載下來,進行交叉編譯
含有configure,我在此使用的是這個源碼包,官方的包在公司編譯服務器上執行autogen.sh出錯
編譯腳本-不帶ncurses:
#!/bin/sh CROSS_COMPILE=arm-hisiv100nptl-linux- ARCH=arm TARGET_DIR=$(cd `dirname $0`; pwd)/output build_procps() { cd procps-ng-3.3.10-master echo "ac_cv_func_realloc_0_nonnull=yes" > arm-linux.cache echo "ac_cv_func_malloc_0_nonnull=yes" >> arm-linux.cache ./configure --host=$ARCH-linux --prefix=$TARGET_DIR --enable-static --disable-shared --without-ncurses --cache-file=arm-linux.cache CC=$CROSS_COMPILEgcc STRIP=$CROSS_COMPILEstrip RANLIB=$CROSS_COMPILEranlib OBJDUMP=$CROSS_COMPILEobjdump NM=$CROSS_COMPILEnm LD=$CROSS_COMPILEld AR=$CROSS_COMPILEar AS=$CROSS_COMPILEas ; make ; make install || exit 1 #make || exit 1 cd - } build_procps
編譯腳本-帶ncurses:
#!/bin/sh CROSS_COMPILE=arm-hisiv100nptl-linux- ARCH=arm TARGET_DIR=$(cd `dirname $0`; pwd)/output build_ncurses() { cd ncurses-5.9 ./configure --host=$ARCH-linux --prefix=$TARGET_DIR --enable-static --disable-shared CC=$CROSS_COMPILEgcc STRIP=$CROSS_COMPILEstrip RANLIB=$CROSS_COMPILEranlib OBJDUMP=$CROSS_COMPILEobjdump NM=$CROSS_COMPILEnm LD=$CROSS_COMPILEld AR=$CROSS_COMPILEar AS=$CROSS_COMPILEas ; make ; make install || exit 1 #make || exit 1 cd - } build_procps() { cd procps-ng-3.3.10-master echo "ac_cv_func_realloc_0_nonnull=yes" > arm-linux.cache echo "ac_cv_func_malloc_0_nonnull=yes" >> arm-linux.cache CFLAGS="-I$TARGET_DIR/include -I$TARGET_DIR/include/ncurses" NCURSES_CFLAGS="-I$TARGET_DIR/include -I$TARGET_DIR/include/ncurses" NCURSES_LIBS="-L$TARGET_DIR/lib -lncurses" ./configure --host=$ARCH-linux --prefix=$TARGET_DIR --enable-static --disable-shared --with-ncurses --cache-file=arm-linux.cache CC=$CROSS_COMPILEgcc STRIP=$CROSS_COMPILEstrip RANLIB=$CROSS_COMPILEranlib OBJDUMP=$CROSS_COMPILEobjdump NM=$CROSS_COMPILEnm LD=$CROSS_COMPILEld AR=$CROSS_COMPILEar AS=$CROSS_COMPILEas ; make ; make install || exit 1 #make || exit 1 cd - }
相關問題:
運行top時,會報unknown terminal type錯誤
export TERMINFO=/mnt/nfs/procps/terminfo
這樣處理後,可以顯示,但顯示不完全
參考博文:
ps -eLf c
PS命令參數詳解(較詳細)