• 在Surface Pro上面安装Fedora


    之前写了个英文的,后来一想还是弄个中文的吧,万一有同学要看呢……

    因为网上大多是关于Ubuntu装到SurfacePro上面的资料,并没有人来做Fedora的实验,我来当小白鼠了~~~

    1. 准备工作:

    首先你得有个U盘吧?少说得4GB,我的是KINGMAX 8G的

    其次还得有ISO文件啊,我准备了俩,一个是Win8的,一个是Fedora18的

    2. 格式化磁盘

    注意了,磁盘操作很危险!请备份数据!

    (来源 http://www.eightforums.com/tutorials/15458-uefi-bootable-usb-flash-drive-create-windows.html)

    (NOTE: Substitute # in the first command with the actual disk # from step 4 above. For example: select disk 4)// 注意数字,一定要确保不出错
    select disk #

    clean

    create partition primary

    format fs=fat32 quick

    active

    assign

    list volume

    exit

      Click image for larger version

      格式化完成之后,直接从ISO拷文件到U盘根目录就可以了,mbr那些东西不用弄了。

      2.x 想要U盘双启动菜单的话,看这里

      如果你是把两个ISO当中的文件都拷贝到下来的话就会发现重复了一个文件:\efi\boot\BOOTX64.efi  .

      解决方法也很简单,把微软Windows的那个EFI文件重命名为 “ms.efi” 然后BOOTX64的那个使用Fedora ISO当中的

      image

      之后做个对grub.cfg做个备份 grub-Copy.txt

      再编辑grub:

      set default="0"

      function load_video {
        insmod efi_gop
        insmod efi_uga
        insmod video_bochs
        insmod video_cirrus
        insmod all_video
      }

      load_video
      set gfxpayload=keep
      insmod gzio
      insmod part_gpt
      insmod ext2

      set timeout=10
      ### END /etc/grub.d/00_header ###

      search --no-floppy --set=root -l 'F18'

      ### BEGIN /etc/grub.d/10_linux ###
      menuentry 'F18-x86_64-Live-Desktop.is' --class fedora --class gnu-linux --class gnu --class os {
          linuxefi /isolinux/vmlinuz0 ro rd.live.image quiet  rhgb
          initrdefi /isolinux/initrd0.img
      }
      menuentry 'Verify and Boot Fedora-18-x86_64-Live-Desktop.is' --class fedora --class gnu-linux --class gnu --class os {
          linuxefi /isolinux/vmlinuz0 root=live:LABEL=Fedora-18-x86_64-Live-Desktop.is ro rd.live.image quiet  rhgb rd.live.check
          initrdefi /isolinux/initrd0.img
      }

      menuentry "Windows x86_64 UEFI-GPT" {
          search --fs-uuid --no-floppy --set=root XXXX-XXXX
         chainloader (${root})/efi/boot/ms.efi
      }

      这里边需要注意两点:

      第一就是磁盘的卷标,这个是为了传递内核参数的,我改成了 F18 上面标黑体的都得改;

      第二就是磁盘的UUID,由于U盘是FAT32格式,应该具有XXXX-XXXX的ID格式。当然,你也可以不管卷标,使用root=live:UUID=XXXX-XXXX 也可以启动live环境。

      3. 关闭安全启动

      如果没关闭,就是这样子的:

      Sig

      所以呢,我们得关闭掉它,方法有三种:

      第一就是高级启动了,你需要首先进入Win8才能进行这个操作;

      第二是关机状态下按住音量+ 再进行开机

      上面两个方法参考于http://www.microsoft.com/surface/zh-CN/support/warranty-service-and-recovery/how-to-use-the-bios-uefi

      第三,如果你有Cover或者USB键盘的话,开机的时候按ESC或DEL可以进入设置,但是并不一定100%成功

      TPM

      在上图当中关闭就可以了

      4. 安装Fedora

      安装过程中忘记截图了…… Sad smile 还是用文字来描述吧

      首先,格式化了备份的8G分区,挂载点选择根 /;

      不要忘了还需要设置ESP(通常是/dev/sda2) 挂载点为 /boot/efi 这个盘不要格式化!

      下面就可以等待了,需要等大概10秒的时间,估计是后台在格式化,之后就可以进行继续安装了

      安装完成之后,可以看到如下的菜单

      F18GRUB

      最后一行字好小啊…………

      F18GRUB2

      最大的问题就是WiFi了,它没有驱动。幸好我有个USB的无线网卡,所以可以通过USB接口接入。yum update花费了好长时间,大概更新了将近500个包,同时内核也到最近的了

      之后启动到新内核,发现有至少3个无线设备!并这个时候系统死机了,只好强制关机了,在之后启动的时候总是Kernel panic……

      我试了一下,如果runlevel选择为1的话可以进去,2-5的话就不行,崩溃的地方出现在了WiFi的驱动上面。

      panic1

      panic2

      不过,Fedora认出来了这个是Surface Pro……

      我换回了3.6的那个老内核,可以进去,这时候发现了有无线网卡了,ifconfig查看到有两个设备mlan0和uap0,当然只有一个可以连接无线网络。网络不稳定,掉线的时候说kernel出问题了

      Screenshot from 2013-05-29 07_12_28

      总之,这是个驱动问题,只求后面的内核可以更新了……

      4.x 安装Windows 8

      原来的Win8其实一点儿没动,所以你可以跳过这个部分。

      不要以为Windows 8就是为Surface开发的,Windows 8是不带Surface的网卡驱动的,所以你得手动搞……之前说了,我有个USB网卡,这真是帮了大忙了,通过USB网卡连接到网络并且Windows Update,有近500M需要更新,更新完之后就有无线网卡的驱动了……当然,不用担心激活问题,联网后自动激活。

      5. 更改UEFI启动设置

      现在就应该可以启动到Linux了,更改启动顺序怎么办?用 efibootmgr! 注意要使用管理员权限啊!Windows下面我还没找到类似的工具

      #: efibootmgr

      BootCurrent: 0000
      Timeout: 10 seconds
      BootOrder: 0003,0000
      Boot0000* Fedora
      Boot0003* Windows Boot Manager

      那么怎么添加Windows的启动项呢?找到并编辑/etc/grub.d/40_custom

      #!/bin/sh
      exec tail -n +3 $0
      # This file provides an easy way to add custom menu entries.  Simply type the
      # menu entries you want to add after this comment.  Be careful not to change
      # the 'exec tail' line above.

      menuentry "Windows x86_64 UEFI-GPT" {
          search --fs-uuid --no-floppy --set=root XXXX-XXXX
         chainloader (${root})/efi/Microsoft/Boot/bootmgfw.efi
      }

      XXXX-XXXX 变为你的ESP分区的UUID

      如果你是在Windows下面,可以使用“高级重启”并且“选择设备”,在这里你应该看见Fedora一项了,选它就可以了。

      无意间发现了你可以在开机的时候自己选择系统的:只需要开机按F7,时间点嘛,应该是出现Surface的logo之后:

      BootLoader

      之前还见过红色的AMI的启动画面,忘了是按左上角什么按键了,后来测试了一下,是Tab键,不过这个不重要,因为你看到就是ESC或者DEL进入设置……

      但是有时候这些按键在开机的时候不给力,不知道为什么.

      5.1 添加U盘启动的Linux

      如果你在grub2-mkconfig的时候,同时插入了带有Linux的U盘,那么它会自动识别并且添加到Grub的菜单当中,需要注意的是你最好检查一下菜单当中的启动命令,因为对于MBR模式来说,使用linux和initrd,而在EFI环境下你需要使用linuxefi和initrdefi这两个命令。不得不说Fedora这点做的好啊,硬盘通过硬盘盒转接后依然可以启动并且正常跑系统!这不就是Windows To Go类似的了么……

      6. Surface Pro 在Fedora 18下的功能比较

      (跟这里给出的功能进行比较:http://www.microsoft.com/surface/zh-cn/support/getting-started/get-to-know-your-surface-with-windows-8-pro)

      触摸屏

      只能用单点触控,不过Fedora可以识别出笔,触控的话在看Pdf的时候管用,但是别的地方,比如看网页的话,就是个模拟鼠标的功能,好渣啊……

      Surface 触笔

      可以识别,悬浮也有效果,跟鼠标类似,就是Fedora对于悬浮离开这类事件处理的不好。那个按钮是中键的作用

      Wi-Fi 和 Bluetooth 天线

      只能说,驱动是个大问题……勉强能用

      两个摄像头(前后各一个)

      F18的找不到更换摄像头的地方,我用了F17的,可以更换摄像头并拍摄视频(1280*800)

      麦克风

      管用

      软件

      忽略掉把,你又没用Win8……

      Windows 按钮

      按下 Surface 上的 Windows 按钮可快速转到“GNOME”屏幕。 同时有力回馈,也就是微小的震动

      传感器

      Surface 包含四个应用可以利用的传感器:环境光传感器、加速度计、陀螺仪和数字罗盘。 但是Linux下面怎么读取这些设备的信息啊!!

      支架

      Surface 包括一个内置支架,支起后可以提高工作效率和进行娱乐。 这个和系统无关……

      端口

      全尺寸 USB 3.0 端口

      测试了一下,2.0的可以,3.0的话,我是SSD接2588US3硬盘盒的,读取100MB(系统是这个SSD上面的F17),算是一般,据说Century世特力CSS25U36G可以达到300MB,我没钱买,只是听说而已……

      microSDXC 卡插槽
      没卡没测试

      充电端口
      当然能用……

      Mini DisplayPort
      没这接口的设备,所以没测

      电源

      又是废话……

      附件

      触控式键盘保护套
      没有这个东西。 你给我买个吧……

      实体键盘保护套
      这个我有,能用,并且开机的时候按F7或者DEL都可以。

      Surface 视频适配器
      没有啊……有人愿意捐助一个么

    • 相关阅读:
      virtualbox结合nat和host-only设置固定ip的环境
      [zebra源码]流控设计
      [zebra源码]JdbcFilter过滤器和SPI扩展
      [zebra源码]如果数据库连接建立失败会怎样
      [zebra源码]insert后获取自增值的处理
      [zebra源码]GroupDataSource读库的负载均衡
      [zebra源码]不带分片键的sql会怎么执行?
      [zebra源码]如果定位到多个分库或分表怎么执行的?
      自定义类型hash
      spark on dataworks
    • 原文地址:https://www.cnblogs.com/DaochenShi/p/3106190.html
    Copyright © 2020-2023  润新知