ncurses源碼
㈠ linux ncurses有什麼用
在你源碼目錄執行: chmod u+rwx * -R或者直接 chmod 777 * -R
㈡ ncurses庫中文支持問題
「顯示出來的中文」是指在哪裡顯示?如果是編輯源文件的編輯器顯示程亂碼了,改一下編輯器的屬性應該就可以了
(雖然我不知道怎麼改,但我相信這樣做是可以的)
不會亂碼,因為顯示的時候用的GB碼
UTF-8需要轉換程GB碼,就不至於亂碼了
㈢ 如何編譯Linux內核
一、編譯環境
ubuntu 5.10,要編譯的內核源碼版本2.6.12 二、下載並解壓源代碼 首先從linux內核的官網www.kernel.org把源代碼下載下來。為了和後面實驗要求符合,我們要下載使用O(1)調度器的源碼。因此這里下載了2.6.12版本源碼。下載 下linux-2.6.12.tar.bz2,將下載源碼放入/usr/src/目錄下。如下圖所示: 解壓該源碼: 三、構建編譯環境 現在我們得到的只是源代碼,只是許許多多的文本文件,要想使這些文件成為可以運行的程序,需要使用編譯器進行編譯以及鏈接。編譯器有很多,但在里linux下一般都使用gnu的開源編譯器套件,這里包括gcc等,現在我們安裝基本的編譯器套件,如圖所示: 四、安裝ncurses庫 這里使用Ubuntu系統,因為系統自帶的ncurses庫在支持make menuconfig的時候會出錯,所以,依然要安裝ncurses庫,這里我們從源碼安裝。首先去ncurses官網http://ftp.gnu.org/pub/gnu/ncurses/ 上下載源碼。這里我們下載5.9版本,並通過簡單的安裝方式.configure 和make、make install方式安裝。如下圖所示: 五、配置內核 一切准備工作做完,現在我們就可以配置內核了,這里我們使用make menuconfig方式。如下圖: 在使用make menuconfig這個命令後,會出現如下的字元界面,我們就可以在這個界面上對內核進行配置。但是如果這不是你第一次配置這個內核,那麼請先運行:make mrproper來清除以前的配置,回到默認配置,然後再運行:make menuconfig.
在這里,我們以對cpu支持的配置為例,其餘的選項就不一一詳述,首先查看本機的cpu類型,如下圖:
在這里我們可以看到,我的電腦的cpu是AMD Athlon的,因此我們在cpu選項裡面選用AMD,如下圖所示:
在這里需要注意的是:
A、 cpu的設置在linux內核編譯過程中,不是必需的,即使保持默認的386選項(我們剛才把它改成了AMD),內核也能正常運行,只不過運行慢一些而已。
B、 一般容易出問題的地方在於Device Driver的設置。我在一開始就遇到了在內核編譯完,通過grub引導系統過程中報 「ALERT! /dev/sda1 does not exist . Dropping to a shell!」的錯誤。這是因為硬碟驅動沒有配置好而造成的。運行lspci命令,查看到下面這行:
由此確定,需要配置SCSI、PCI-X、Fusion-MPT驅動,需要在響應的驅動選項里將[M]設置為[*],因為硬碟驅動是在系統開機的時候載入,所以不能以模塊形式載入。
把這幾個驅動內部的選項全部改為[*]:
六、編譯內核
對內核的配置完成之後,現在就可以開始編譯內核了,只需要一個簡單的make命令即可,之後我們就只能慢慢等,直到編譯完成,在我的電腦上,大概用了25分鍾。下圖是運行make後的部分輸出。
七、安裝內核
編譯完成之後,我們需要安裝內核,主要分為如下幾步:
1)、安裝模塊
安裝模塊,對於內核來說,每一個內核版本有自己的模塊目錄,默認在/lib/moles/內核版本號這個目錄下,make moles_install會創建對應的目錄,並把對應的模塊文件拷貝過去。注意,這一步必須要在編譯過內核再做。
2)、拷貝bzImage文件
bzImage文件是內核映像文件,是啟動內核所必需的,我們應當把它拷貝到/boot目錄下。在這里,我為自己新建了一個目錄,我們把它拷貝過去,並且按照一般內核映像文件的命名方式為它改名為vmlinuz-2.6.12。
3)、製作initrd文件
initrd文件命名為initrd.img-2.6.12
4)、修改grub啟動項
要能引導起我們的新系統,需要更改grub配置,增加啟動選項。ubuntu 5.10的grub版本比較低,配置文件為/boot/grub/menu.lst,高版本的grub可能在/boot/grub/grub.cfg里。在原有啟動項基礎上,添加我們自己的啟動項,並把它設為默認啟動項,配置如下:
5)重啟
不出意外的話,我們的內核已經正常載入了,運行uname -a,會發現,內核版本已經是2.6.12了。
㈣ linux minicom需要安裝的庫怎麼安裝
1. minicom需要ncurses庫的支持,否則安裝會有問題。
A. 下載ncurses。我選擇是ncurses-5.6.tar.gz
下載地址:directory.fsf.org/project/ncurses/
B. 解壓縮到/opt/ncurses目錄下。# tar zxvf ncurses-5.5.tar.gz –C /opt/ncurses
C. 到ncurses目錄下,配置編譯ncurses。
源碼安裝的三個步驟(configure、make、make install)
2. 編譯安裝minicom
A. 下載地址(minicom-2.7.tar.gz)
alioth.debian.org/projects/minicom/
B. 解壓到/opt/minicom目錄下。tar zxvf minicom-2.1.tar.gz –C /opt/minicom/
C. 到minicom-2.7目錄下,配置編譯minicom。
在make階段會出現錯誤,具體解決方法見注1。
3. Minicom的配置和使用
命令minicom是進入串口超級終端畫面,而minicom -s為配置minicom。
打開終端輸入minicom後,初始化進入minicom的歡迎界面,這里提示按"Ctrl+A",再按"Z"鍵進入主配置目錄 按下"O"鍵,並選擇串口配置選項進行配置。接下來的配置是一樣的。解析一下minicom命令摘要,命令將被執行當你按下Ctrl+D ,Key是對應的"字母"鍵。
「D」鍵:撥號目錄
「S」鍵:發送文件,上傳文件有幾種方式:zmodem、ymodem、xmodem、kermit、ascii
「P」鍵:通信參數。對波特率進行設置。
「L」鍵:捕捉開關。
「F」鍵:發送中斷。
「T」鍵:終端設置。
「W」鍵:換行開關
「G」鍵:運行腳本
「R」鍵:接收文件
「A」鍵:添加一個換行符
「H」鍵:掛斷
「M」鍵:初始化數據機
「K」鍵:運行kermit進行刷屏
「E」鍵:切換本地回顯開關
「C」鍵:清除屏幕
「O」鍵:配置minicom
「J」鍵:暫停minicom
「X」鍵:退出和復位
「Q」鍵:退出沒有復位
「I」鍵:游標模式
「Z」鍵:幫助屏幕
「B」鍵:滾動返回
注1:minicom編譯安裝錯誤解決方法.
1. 在window.c中修改 static const char *CR, *NL;
為: static const char *BC,*CR, *NL;
2. 在src下面的Makefile中添加ncurses庫的名稱。
即:LIB = /opt/ncurses/lib/libncurses.a
注2:
A PC使用的USB轉串口,虛擬機的設置要添加「USB控制器」。
需要查看/dev目錄下是否存在ttyUSB0文件,如果沒有,手動創建一個
# mknod /dev/ttyUSB0 c 188 0
默認情況下,linux已經安裝了USB轉串口的驅動(PL2303)
# lsmod | grep usbserial
如果有usbserial, 則系統支持USB轉串口
B. PC使用串口。Serial Device要配置為/dev/ttyS0。
虛擬機的設置參見下面鏈接的「Minicom串列埠的設置」
㈤ linux下編譯了ncurses6.1源碼,為何輸出找不到ncursesw庫
你用普通用戶試下,還有 ,ls -ali 查看一下許可權,及 chmod
㈥ ubuntu下怎麼編譯linux內核
Ubuntu 系統
1. 准備工作
切換為管理員許可權,sudo –i 輸入用戶密碼 進入root 許可權
apt-get install build-essential kernel-package libncurses5-dev libqt3-headers
build-essential (基本的編程庫(gcc, make 等)
kernel-package (Debian 系統里生成 kernel-image 的一些配置文件和工具)
libncurses5-dev (meke menuconfig 要調用的)
libqt3-headers (make xconfig 要調用的)
2. 下載特定版本的內核源代碼
3. 復制源碼linux-3.2.12.tar.bz2 到/usr/src 目錄,解壓縮
命令.假設源碼存放在/home 目錄下
cp /home/linux-3.2.12.tar.bz2 /usr/src
cd /usr/src
tar xvjf linux-3.2.12.tar.bz2
解壓後生成 linux-3.2.12 目錄
4. cd linux-3.2.12
接下來配置內核選項
make menuconfig 這一步比較復雜,內核選項很多,可以使用當前內核的配置選項,
但編譯內核的時間會比較長,因為裝系統的時候使用的配置是適應大多數系統的,非定
制選項。關於內核配置選項怎麼定製,網上很多。
5. 把正在使用系統中的內核配置文件/usr/src/linux-headers-2.6.38-13-generic/.config 拷到
/usr/src/linux-3.2.12 目錄下
cp /usr/src/ linux-headers-2.6.38-13-generic/.config /usr/src/ linux-3.2.12
執行:
cd /usr/src/ linux-3.2.12
make menuconfig
終端會彈出一個配置界面
注意主菜單最後有兩項:
load a kernel configuration…
save a kernel configuration…
先選第一項load ….,意思是,利用當前的內核配置詳單來設置將要編譯的內核,然後選save 這一項保存,最後退出配置界面
6. 開如編譯安裝新內核
執行:make mrproper (清除以前曾經編譯過的舊文件,如果是第一次編譯,可不執行)
執行:make (編譯,加-j4,必須加,雙核並行編譯,速度快很多,不過使用原先配置
選項)
然後:make install
再:make moles (編譯模塊)
再:make moles_install (安裝模塊)
最後創建initrd 文件:
mkinitramfs -o /boot/initrd.img-linux-3.2.12
7. make install 以後,系統自動更新了啟動項,可以cat /boot/grub/grub.cfg 看下.之前的啟動項不能刪除,如果編譯內核不成功,之前的啟動項又不見了,系統也就跪了
8. reboot
㈦ 自己可以編譯安卓源碼嗎
用最新的Ubuntu 16.04,請首先確保自己已經安裝了Git.沒安裝的同學可以通過以下命令進行安裝:
sudo apt-get install git git config –global user.email 「[email protected]」 git config –global user.name 「test」
其中[email protected]為你自己的郵箱.
簡要說明
android源碼編譯的四個流程:1.源碼下載;2.構建編譯環境;3.編譯源碼;4運行.下文也將按照該流程講述.
源碼下載
由於某牆的原因,這里我們採用國內的鏡像源進行下載.
目前,可用的鏡像源一般是科大和清華的,具體使用差不多,這里我選擇清華大學鏡像進行說明.(參考:科大源,清華源)
repo工具下載及安裝
通過執行以下命令實現repo工具的下載和安裝
mkdir ~/binPATH=~/bin:$PATHcurl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repochmod a+x ~/bin/repo
補充說明
這里,我來簡單的介紹下repo工具,我們知道AOSP項目由不同的子項目組成,為了方便進行管理,Google採用Git對AOSP項目進行多倉庫管理.在聊repo工具之前,我先帶你來聊聊多倉庫項目:
我們有個非常龐大的項目Pre,該項目由很多個子項目R1,R2,...Rn等組成,為了方便管理和協同開發,我們為每個子項目創立自己的倉庫,整個項目的結構如下:
這里寫圖片描述
執行完該命令後,再使用make命令繼續編譯.某些情況下,當你執行jack-admin kill-server時可能提示你命令不存在,此時去你去out/host/linux-x86/bin/目錄下會發現不存在jack-admin文件.如果我是你,我就會重新repo sync下,然後從頭來過.
錯誤三:使用emulator時,虛擬機停在黑屏界面,點擊無任何響應.此時,可能是kerner內核問題,解決方法如下:
執行如下命令:
通過使用kernel-qemu-armv7內核 解決模擬器等待黑屏問題.而-partition-size 1024 則是解決警告: system partion siez adjusted to match image file (163 MB >66 MB)
如果你一開始編譯的版本是aosp_arm-eng,使用上述命令仍然不能解決等待黑屏問題時,不妨編譯aosp_arm64-eng試試.
結束吧
到現在為止,你已經了解了整個android編譯的流程.除此之外,我也簡單的說明android源碼的多倉庫管理機制.下面,不妨自己動手嘗試一下.
㈧ 如何參考centos7內核源碼
1. 下載內核
內核官網獲得了(不讓加鏈接,搜索linux內核官網 )
tar.xz 是完整的內核包
pgp 是.tar.sign後綴的文件,用於校驗類似於MD5
patch 是補丁包
2. 解壓文件,現在一般採用 .tar.xz 的壓縮格式(壓縮率最高,但是壓縮時間較長)。
/usr/src 一般而言、我們製做linux內核的時候源碼一般放在這個路徑下,
可以使用 # tar -Jxvf linux-3.13.2.tar.xz -C /usr/src/ 把文件解壓到 /usr/src/ 中(在root用戶下才有效)
3. 如果是第一次編譯內核,並沒有上次的殘留文件可以可以跳過
# make mrproper
這個步驟
注意:make clean 刪除大多數的編譯生成文件, 但是會保留內核的配置文件.config, 還有足夠的編譯支持來建立擴展模塊
make mrproper 刪除所有的編譯生成文件, 還有內核配置文件, 再加上各種備份文件
make distclean mrproper刪除的文件, 加上編輯備份文件和一些補丁文件。
4. 接下來是 make config 。
具體參照 《make config 的幾種類型》
一般採用 # make menuconfig 的方式
此處需要兩個包,選擇最簡單的yum安裝
# yum -y install gcc 和
# yum install ncurses ncurses-devel。
具體選項的作用參考 《Linux-3.10-x86_64 內核配置選項簡介 》
對新的內核功能選擇,並生成一個 .config 的文件
5. 編譯內核
# make 和 # make moles_install (此處命令必須進入/usr/src/linux-x-x-x/才有效,否則會報錯)
注意:2.6內核作了優化,不必顯示的執行make dep 和make bzImage,只需要直接執行
make 就行,系統會自動完成make dep 和 make bzImage 所做的工作。
6. 安裝內核
# make install
7. 修改默認啟動的內核(把游標處的default值改成0,就為默認啟動,編譯成功後默認為1)
# vim /boot/grub/grub.conf
用 cat /boot/grub/grub.conf 驗證並測試
# cat /boot/grub/grub.conf
看是否添加成功
8. 重啟機器,查看效果
默認的內核就是剛才編譯成功的。。。
㈨ 編譯環境cmake+gcc怎麼編譯mysql源碼
方法/步驟
1
在安裝mysql資料庫伺服器前,確保你的linux系統是可以連接網路的,下面我們將通過源碼方式來安裝mysql首先通過putty登入進你的Linux系統,確保系統中已經安裝的gcc c++ 等編譯環境,因為mysql從5.5版本開始是使用cmake編譯的,如果三個環境都沒安裝,可以使用下面的命令進行安裝:yum -y install make gcc-c++ cmake bison-devel ncurses-devel
2
查找系統里是否已經安裝了mysql資料庫的相關組件,使用命令:rpm -qa | grep mysql 進行查找,如果查找到,可以使用下面命令進行強制卸載:rpm -e --nodeps 包名
如果你當時在安裝Linux系統時,使用的默認的安裝選項,這一步可以跳過;
㈩ centos 6 如何安裝內核源碼包
(1) http 安裝 centos 6.2
假設: 1> 本機有grub , 將 iso 中isolinux中的 boot.cat grub.conf isolinux.bin vmlinuz
boot.msg initrd.img isolinux.cfg splash.jpg vesamenu.c32 拷貝到 本機的/boot中
2> 將centos 6.2的光碟復制到 http服務下例如 /var/www/html 下面,將光碟的iso也復制到這個目錄下,有時安裝過程可能需要iso中的東西,centos會自動從iso文件中尋找
安裝步驟:
1> 進入grub的命令行模式,然後
grub> root (hd0, 0 ) #選擇boot所在的分區作為根,根據自己的情況來定
grub> kernel vmlinuz
grub> initrd initrd.img
grub> boot #啟動
2> 選擇url安裝,配置ip神馬的就行了
(2) 修改源
cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
vim /etc/yum.repos.d/CentOS-Base.repo
1.[base]
2.name=CentOS-$releasever - Base
3.#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os 4.baseurl=http://run.hit.e.cn/centos/$releasever/os/$basearch/ 5.gpgcheck=1 6.gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 7.
8.#released updates
9.[updates]
10.name=CentOS-$releasever - Updates
11.
12.#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates 13.
14.baseurl=http://run.hit.e.cn/centos/$releasever/updates/$basearch/ 15.
16.gpgcheck=1 17.
18.gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 19.
20.#additional packages that may be useful
21.
22.[extras]
23.
24.name=CentOS-$releasever - Extras
25.#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras 26.
27.baseurl=http://run.hit.e.cn/centos/$releasever/extras/$basearch/ 28.
29.gpgcheck=1 30.
31.gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 32.
33.#additional packages that extend functionality of existing packages
34.
35.[centosplus]
36.
37.name=CentOS-$releasever - Plus
38.
39.#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus 40.
41.baseurl=http://run.hit.e.cn/centos/$releasever/centosplus/$basearch/ 42.
43.gpgcheck=1 44.
45.enabled=1 46.
47.gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 48.
49.#contrib - packages by Centos Users
50.
51.[contrib]
52.
53.name=CentOS-$releasever - Contrib
54.
55.#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib 56.baseurl=http://run.hit.e.cn/centos/$releasever/contrib/$basearch/ 57.
58.gpgcheck=1 59.
60.enabled=1 61.
62.gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 #yum clean all // 清除緩存
#yum update
#yum install xxx
下載源碼包:
wget http://vault.centos.org/6.2/updates/Source/SPackages/kernel-2.6.32-220.7.1.el6.src.rpm
rpm -ivh xx.rpm
cd rpmbuild/SPECS 此rpmbuild是安裝後在當前文件夾下的一個文件夾
rpmbuild -bp --target=`uname -m` kernel.spec 此rpmbuild是命令
之後 rpmbuild里有 BUILD,裡面就是源代碼了
yumdownloaer 的使用。
Ncurses 提供字元終端處理庫,包括面板和菜單。
yum install ncurses-devel
yum 中的幾個變數
$releasever,發行版的版本,從[main]部分的distroverpkg獲取,如果沒有,則根據RedHat-release包進行判斷。
$arch,cpu體系,如i686,athlon等
$basearch,cpu的基本體系組,如i686和athlon同屬i386,alpha和alphaev6同屬alpha。
對yum.conf設定完成,我們就可以好好體驗yum帶來的方便了。
開機自動啟動配置文件,一段時間不用都忘了 /etc/rc.local
本篇文章來源於 Linux公社網站(www.linuxidc.com) 原文鏈接:http://www.linuxidc.com/Linux/2012-03/56876.htm