当前位置:首页 » 操作系统 » ncurses源码

ncurses源码

发布时间: 2022-04-28 17:59:18

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内核问题,解决方法如下:
执行如下命令:

  • ./out/host/linux-x86/bin/emulator -partition-size 1024 -kernel ./prebuilts/qemu-kernel/arm/kernel-qemu-armv7

  • 通过使用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

    热点内容
    如何不断攻击http服务器 发布:2024-10-04 17:07:35 浏览:311
    如何更换5e服务器 发布:2024-10-04 17:03:02 浏览:218
    java微博系统源码 发布:2024-10-04 16:36:58 浏览:540
    出国访问计划 发布:2024-10-04 15:52:34 浏览:565
    编程实数类型 发布:2024-10-04 15:42:18 浏览:243
    sqlite3打开数据库 发布:2024-10-04 15:37:29 浏览:765
    python创建数据表 发布:2024-10-04 15:33:12 浏览:755
    需要美国IP的云服务器哪家好 发布:2024-10-04 15:32:21 浏览:525
    手机玩死亡交换的服务器是什么 发布:2024-10-04 15:30:32 浏览:361
    360app加密 发布:2024-10-04 15:21:23 浏览:982