oracle应该也不会能安装上的,oracle属于大型数据库,不可能在一个轻量级的平板电脑上运行的。
mysql也够呛。
1. 系统要求需要在一个android pad中集成nginx,mysql,php,sshd,因为芯片方案为广州某厂提供,故他们愿意帮助我们,由他们提供集成好后的rom.
2. 第一版rom拿到后尝试启动sshd 正常,但是nginx发生问题,找不到errors.log和access.log,于是手动创建,发现不可写,使用mount后发现/和/system为ro,于是重新挂载为可读写
nginx启动后测试正常,但是无法执行phpinfo,于是启动php-fpm,正常.
3. mysql尝试启动后发现没有安装,于是mysql_install_db --user=root,然后发现不知道这样的密码,后来发现可以
,但是当时没有想到,于是
正常.
4. 至此一切经测试无误,接下来既是自启动问题,android启动在/init.rc中,于是vi进入在末尾添加
5. 这时需要编写setup.sh,按照顺序依次启动即可,但是发现每次pad重启后/和/system均挂载为ro,所以脚本中需要先remount
但是此时发现mysql偶尔会不启动,于是将其拆分至另一脚本mysql-setup.sh,问题解决.
6. 此时发现需要创建2个文件,修改3个文件,添加4个软链(/bin中),所以决定使用shell书写一个脚本去解决问题,否则批量出货后时间成本太高,所以尝试0基础书写- -!
7. 因为这样写虽然明了但是并不给用户看,于是做了简化
至此完成.
1、mysql允许交叉编译,可以用arm编译器编译,在百度文库中有篇文章是写移植到ARM平台的:《Ubuntu下编译ARM平台QtEmbedded的MySQL和MySQL插件》2、我用mips交叉编译器编译过mysql-5.1.34,遇到的情况和那篇文章差不多。
3、我的编译过程:
1)先编译一份x86版本的mysql(因为交叉编译过程中要用到一个x86版本的工具gen_lex_hash sql)
2)配置交叉编译环境,用以下选项和参数:
ac_cv_sys_restartable_syscalls='no'
--host=mipsel-linux
--with-named-curses-libs=<你的 交叉编译器中libncurses.a的全路径>
3)make到gen_lex_hash错误时,将x86编译结果中的gen_lex_hash拷过来
4)再启动make,到sql_parse.cc错误时,修改这个文件:
vi ../sql/sql_parse.cc
将那个出错的宏定义一下:
#define STACK_DIRECTION 1
5)再make就可以了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)