2017年3月7日星期二

OVMF折腾

名词相关
    EDK2:     Intel发起的UEFI开发环境
    OVMF:   基于EDK2的开源虚拟机UEFI固件
    seaBios: 基于传统BIOS的开源虚拟机固件

    tianocore:EDK2 的社区


相关网站
    tiancore:      http://www.tianocore.org/edk2/
    EDK2源码:    https://github.com/tianocore/edk2
    seaBios源码:   git://git.seabios.org/seabios.git

相关参考
    https://www.seabios.org/Build_overview
    https://fossies.org/linux/qemu/roms/seabios/src/Kconfig
    https://access.redhat.com/sites/default/files/attachments/ovmf-whtepaper-031815.pdf


  默认的virtual-manager没有安装及打开虚拟机的UEFI支持,其解决方式有二:
    一、安装发行版提供的OVMF套件
    二、自编译并启用该启动固件

  编译依赖 nasm bison flex uuid-dev
    编译该固件,则只需要下载EDK2源码,手动修改Conf/target.txt
      target.txt主要说明:
         ACTIVE_PLATFORM = Nt32Pkg/Nt32Pkg.dsc(目标平台描述)
         TARGET = RELEASE (RELEASE or DEBUG)
         TARGET_ARCH = Ia32 X64 (目标平台)
         TOOL_CHAIN_TAG = GCC48(编译工具)


  也可以使用 build -a (IA32 X64) -p (OvmfPkg/OvmfPkgIa32.dsc | OvmfPkg/OvmfPkgIa32X64.dsc |OvmfPkg/OvmfPkgX64.dsc) -t  (GCCxx  | VS2008)  -D (CSM_ENABLE=TRUE,很少用到CSM的模块,需要先编译seaBios获取Csm16.bin)直接指定

  编译带CSM支持的,则需要另外获取seaBios代码编译出Csm16.bin
 
主要命令
  seaBios
    cd  seaBios
    make  menuconfig (target需要选CSM)
    make
    cp out/Csm16.bin  EDK2/Ovmf/Csm/Csm16/
   EDK2
     cd EDK2  &&  source  edksetup.sh
     cd BaseTools  &&  make
     build
     cp  Build/OvmfXXX/FVRELEASE_GCCxx/FV/{OVMF,OVMF_CODE,OVMF_VARS}.fd      TARGET

2015年11月15日星期日

DLNA防火墙端口问题

DLNA,除了minidlna的端口8200(TCP)外,还应该开启sspd的端口1900(UDP)

2014年8月5日星期二

Debian 8/jessie 安装 ia32

最近需要在一台64位debian 8上安装 i386的系统包,但是怎么都安装不了,查询debian官网后发现是ia32系列的包被废弃了
Installing i386 packages on Debian 8 x64 but the ia32-libs missing
现在的过程具体是
dpkg --add-architecture i386
apt-get update
apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0 (取代ia32-libs ia32-libs-gtk ia32-libs-dev)

2014年6月3日星期二

2014年4月27日星期日

kernel 3.14 编译

紧跟时代潮流,Debian大叔在jessie上的内核已经是3.14了,再加上最近Debian动作连连,又是systemd又是btrfs的,忍不住又装了一台debian 8提高一下逼格
配置如下:Q9300+4G+500G
分盘如下 /boot 512M ext4   / btrfs  30G    swap 2G    /var ext4 3G    /home ext4  400G+

1.systemd 升级问题:systemd目前并不是jessie系统默认的启动管理系统,需要安装systemd systemd-sysv 两个包。碰到的问题1是systemd-sysv安装时死循环,解决方式是需要先升级其他可升级包在单独安装systemd-sysv。
2 kernel 3.14 编译问题:安装后无法成功启动,系统能加载vmlinux但在加载btrfs支持时出现问题。由于使用了btrfs和systemd,起初一直认为是兼容问题后来实在不死心,又按照make menuconfig > make -j5 > make install > make modules > make modules_install 次序重新安装一次,在 make install 中发现提示 没有在 /lib/modules/ 找到相应模块。
解决 :make menuconfig > make -j5 > make modules > make modules_install > make install

另:transmission-daemon 在systemd上有问题。

2013年9月6日星期五

n900 折腾记

  前些日子,熬不住对power内核的好奇,终于安装了power52内核,结果踏上了一条不归路。

   由于错误地在安装power内核后使用Community-ssu-enaber命令致使使用了功能不完整的社区内核覆盖了power内核,导致手机内存卡变成了只读;默认的超频设置导致系统多次启动失败


这是默认的fstab

错误的内核导致mmcblk0p1、mmcblk1p1 的挂载方式变为 default,设备无法使用user用户写入数据,最终解决方式是重刷eMMC+38周。


   完整重刷后问题解决,超频及文件系统问题解决