svgalib_1.4.3 移植
运行环境
RedHat 6.3 Linux localhost 2.6.32-279.el6.i686
需准备好的文件:
libx86_1.1+ds1.orig.tar.gz
libx86_1.1+ds1-6.diff.gz
svgalib_1.4.3.orig.tar.gz
svgalib_1.4.3-30.debian.tar.gz
561491.patch
库安装步骤
#分别解压源码和补丁
tar xzf svgalib_1.4.3.orig.tar.gz
tar xzf svgalib_1.4.3-30.debian.tar.gz
#打上补丁
cd svgalib-1.4.3.orig/
for file in ../debian/patches/*.patch; do patch -p1 < $file; done
#svgalib 的编译需要 libx86 库
#解压源码
tar xzf libx86_1.1+ds1.orig.tar.gz
gunzip libx86_1.1+ds1-6.diff.gz
#打上补丁
cd libx86-1.1/
patch -p1 < ../libx86_1.1+ds1-6.diff
make // 这时会出现错误,修改 lrmi.c,添加 561491.patch 内的宏
make
make install //libx86 编译并安装成功
# 再回 svgalib-1.4.3.orig 目录执行安装命令就不会有错误了
make install
库安装成功后使用以下程序进行测试:
#include <stdlib.h>
#include <vga.h>
#include <vgagl.h>
int main(void)
{
int x, y;
vga_init();
vga_setmode(G320x200x256);
gl_setpalettecolor(4, 0xE7>>2, 0xDB>>2, 0xB5>>2); /* 0xE7DBB5 */
vga_setcolor(4);
for (x = 0; x < 320; x++)
for (y = 0; y < 200; y++)
vga_drawpixel(x, y);
sleep(5);
vga_setmode(TEXT);
return EXIT_SUCCESS;
}
执行编译命令:
gcc -o svgatest svgatest.c -lvga -lvgagl
运行结果:
正确的结果是 Teminal 呈现出类似“泛黄的纸”的颜色。
可是我得到的结果却没有这么完美,当时一运行显示出下面的结果:
mmap /dev/zero Permission denied
傻了!经过百般检索终于找到了解决的办法。
svgalib_1.4.3 移植的更多相关文章
- MVVM框架从WPF移植到UWP遇到的问题和解决方法
MVVM框架从WPF移植到UWP遇到的问题和解决方法 0x00 起因 这几天开始学习UWP了,之前有WPF经验,所以总体感觉还可以,看了一些基础概念和主题,写了几个测试程序,突然想起来了前一段时间在W ...
- IIC驱动移植在linux3.14.78上的实现和在linux2.6.29上实现对比(deep dive)
首先说明下为什么写这篇文章,网上有许多博客也是介绍I2C驱动在linux上移植的实现,但是笔者认为他们相当一部分没有分清所写的驱动时的驱动模型,是基于device tree, 还是基于传统的Platf ...
- Linux主机上使用交叉编译移植u-boot到树莓派
0环境 Linux主机OS:Ubuntu14.04 64位,运行在wmware workstation 10虚拟机 树莓派版本:raspberry pi 2 B型. 树莓派OS: Debian Jes ...
- STM32F429 LCD程序移植
STM32F429自带LCD驱动器,这一具有功能给我等纠结于屏幕驱动的程序员带来了很大的福音.有经验的读者一定有过这样的经历,用FSMC驱动带由控制器的屏幕时候,一旦驱动芯片更换,则需要重新针对此驱动 ...
- 将MPM雪模拟移植到Maya
同事实现了一个迪士尼的MPM雪模拟论文,我将其移植到Maya中 论文题目是 A material point method for snow simulation 代码在这里: https://git ...
- ucos实时操作系统学习笔记——操作系统在STM32的移植
使用ucos实时操作系统是在上学的时候,导师科研项目中.那时候就是网上找到操作系统移植教程以及应用教程依葫芦画瓢,功能实现也就罢了,没有很深入的去研究过这个东西.后来工作了,闲来无聊就研究了一下这个只 ...
- DM9000驱动移植在mini2440(linux2.6.29)和FS4412(linux3.14.78)上的实现(deep dive)篇一
关于dm9000的驱动移植分为两篇,第一篇在mini2440上实现,基于linux2.6.29,也成功在在6410上移植了一遍,和2440非常类似,第二篇在fs4412(Cortex A9)上实现,基 ...
- geotrellis使用(二十五)将Geotrellis移植到spark2.0
目录 前言 升级spark到2.0 将geotrellis最新版部署到spark2.0(CDH) 总结 一.前言 事情总是变化这么快,前面刚写了一篇博客介绍如何将geotrellis移植 ...
- geotrellis使用(二十四)将Geotrellis移植到CDH中必须要填的若干个坑
目录 前言 若干坑 总结 一.前言 近期干了一件事情,将geotrellis程序移植到CDH中(关于CDH,可以参考安装ClouderaManager以及使用ClouderaManage ...
随机推荐
- PHP-自定义数组-预定义数组-自定义函数-预定义函数
(1)自定义数组 —— 项目中的重点 (2)PHP预定义数组 —— 重点&难点 (3)自定义函数 —— 了解 (4)PHP预定义函数 —— 项目中的重点 1.自定义数组 数组:array,一个 ...
- springmvc接收数组方式总结
1.接受正常的数组 如param1=aaa¶m1=bbb¶m1=3 对于这种,在实体参数中,使用String param1[] 这种参数既可以获取数组的值 2.接受数组 ...
- lucene的suggest(搜索提示功能的实现)
1.首先引入依赖 <!-- https://mvnrepository.com/artifact/org.apache.lucene/lucene-suggest --> <!-- ...
- Java学习过程
按照这个流程巩固自己学习的东西吧
- 2019-4-22 linux学习
linux 一.linux的目录结构 / 挂载目录:为所有目录的根目录 home 家目录: 用户的根目录 存放普通用户的文件 例如:创建一个jack用户,就会产生一个Jack ...
- Mac 安装微软雅黑字体
https://www.jianshu.com/p/d8c34fff3483 1.找一台Windows电脑,打开字体文件夹C:\Windows\Fonts. 2.搜索"Calibri.微软雅 ...
- Rolling Hash about the Rsync
今天看文献看到一个有趣的算法—Rolling Hash,这个算法可以更新在不同的machine上的两个“similar”的文件,也叫做rsync algorithm,rsync顾名思义:remote ...
- mysql快熟入门
前提:假设我们的电脑或服务器已经正确安装了mysql服务器 一:连接和断开mysql服务器 1.1连接数据库服务器 shell> mysql -u user -p (user用户名通常为root ...
- python(33)——【re模块】
re模块(正则表达式) 就其本质而言,正则表达式是一种小型的.高度专业化的编程语言 在Python中(它内嵌在python中),并通过re模块来实现,正则表达式被编译成一系列的字节码,然后由C编写的匹 ...
- python之发送邮件~
在之前的工作中,测试web界面产生的报告是自动使用python中发送邮件模块实现,在全部自动化测试完成之后,把报告自动发送给相关人员 其实在python中很好实现,一个是smtplib和mail俩个模 ...