我与Haiku的第四天:安装和启动问题


TL;博士:经过几天对Haiku的试验我决定将其放在单独的SSD上。 但是,事实证明一切并不那么困难。



ku句加载测试工作正在进行中。


三天前,我了解了Haiku,这是出乎意料的出色PC操作系统。 今天已经是第四天了,我想用这个系统做更多的“实际工作”,Anyboot映像中的部分对于这个来说太小了。 然后,我拿起全新的120GB SSD,为安装程序的顺利运行做好了准备……如此的令人期待!


通常,安装和下载会受到更多的关注和喜爱,因为它们是第一印象,也是最重要的印象。 希望我的“新手”经验协议能证明对Haiku开发团队在不断调试“正常工作”的操作系统中有用。 我承担所有的错误!
在我看来,通过USB下载的情况尤为重要,因为并非每个用户都准备使用主SATA驱动器(我已经对NVME保持沉默...)来进行完全陌生的操作系统的实验。 在我看来,对于大多数决定在实际硬件上尝试Haiku的用户而言,通过USB下载是最可能的情况。 开发人员应认真考虑这一点。


开发者评论:


我们刚刚开始通过快速编写一个Beta版本来支持EFI,该Beta版本可以在支持EFI的计算机上加载。 获得的结果仍远未达到所需的支持水平。 我不知道我们应该记录当前的工作,还是只专注于取得适当的结果,然后将所有内容都记录下来。

这听起来很有意义,并且希望最终一切都会比现在好得多。 到目前为止,我只能检查今天所做的事情。 让我们开始吧...


Anyboot映像太小


尽管Anyboot映像非常容易写入常规闪存驱动器,但Haiku分区上没有足够的空间来安装其他软件。



原则上,将Anyboot映像写入USB闪存驱动器非常简单,但是结果是没有足够的空间进行实际工作。


快速解决:增加默认的Haiku分区大小。


因此,对于Haiku的实际工作,您仍然需要使用Installer应用程序进行安装。


安装程序无法在一处完成您所需的一切


还记得出色的Mac OS X安装程序吗?



Mac OS X 10.2安装程序


他:


  • 初始化磁盘(写入GPT,GUID分区表)
  • 使用“常识”创建分区(EFI,主分区)(以最佳利用驱动器)
  • 标记启动分区(在其上设置启动标志)
  • 复制文件

换句话说,他所做的“一切”都不会给用户带来太多麻烦。


另一方面,还有Haiku的安装程序,它只是复制文件并为用户提供其他所有内容,太麻烦了,即使您有经验,也不会立即理解。 特别是如果您需要一个同时在具有BIOS和EFI的系统上启动的系统。


我该怎么办?


我不会肯定地说,但是无论如何,我都认为:


  1. 打开驱动器设置
  2. 选择要安装的设备
  3. 驱动器->初始化-> GUID分区图...->继续->保存更改->确定
  4. 右键单击要安装系统的设备上的空白区域
  5. 创建...->我输入256作为大小-> EFI系统数据(不确定)->写更改
  6. 右键单击要安装系统的设备上的“ EFI系统数据”
  7. 初始化-> FAT32文件系统...->继续->我输入名称:“ EFI”,FAT的容量:32->格式->写入更改
  8. 我在所需设备上的空白处重复右键单击
  9. 创建...->我输入节的名称:Haiku,节的类型:Be File System-> Create-> Write changes
  10. 右键单击EFI-> Connect
  11. 我运行安装程序->被Technosleng困惑->继续->到磁盘:Haiku(确保这与我之前创建的部分相同)->安装
  12. 在文件管理器中,我将EFI目录从当前系统复制到EFI分区(我相信这是从EFI引导所必需的)
  13. [大约 翻译者:从翻译中删除了该项目; 简而言之-作者并不太了解同时加载EFI和BIOS的混合系统的创建]
  14. 关掉
  15. 我将新创建的磁盘连接到系统将完全从中启动的端口[奇怪,我不必这样做。 -大约 译者]
  16. 打开

在我看来,它清晰可见:我们需要一种工具,只需按一下按钮即可完成所有操作,并及时(!)确认可以擦拭设备。


一个“快速”的解决方案:制作一个可以完成所有任务的自动安装程序。


好吧,即使不是“快速”,也不错。 这些是新系统的第一印象。 如果它无法安装(我已经安装了几次),很多人将永远静静地离开。


根据PulkoMandy的DriveSetup的技术说明


BootManager记录了完整的启动菜单,包括从磁盘启动多个系统的功能,为此,它在磁盘开始时仅需要大约2kb。 这适用于较旧的磁盘分区方案,但不适用于GPT,后者对分区表使用相同的扇区。 另一方面,writembr将非常简化的代码写入磁盘,该代码仅找到活动分区并继续从该分区下载。 磁盘上的前400个字节足以容纳此代码,因此它不与GPT相交。 它对带有GPT标记的驱动器的支持有限(但在简单情况下,一切都会如常)。

快速解决方案:如果检测到GPT标记,则让GUI配置BootManager将使用writembr安装的所有内容都放到磁盘上。 无需在GPT磁盘上放置2kb的代码。 无需仅在Haiku分区上就在EFI分区上设置可启动标志。


第一次尝试:内核崩溃


配套设备


  • 宏cer TravelMate B117 N16Q9(与EndlessOS一起出售)
  • lspci
  • lsusb
  • 现有系统是从16GB金士顿DataTraveler 100闪存驱动器启动的,该驱动器是使用Linux上的Etcher由Anyboot映像制成的,并插入USB2.0端口(因为它不是从USB3端口启动的)
  • 金士顿A400 SSD大小为120GB(仅在出厂时)已插入sata-usb3适配器ASMedia ASM2115,该适配器已插入TravelMate B117的USB3端口。

结果


安装程序开始复制文件,然后弹出一个I / O错误,随后内核崩溃



内核恐慌


第二次尝试:不可引导磁盘


配套设备


一切依旧,但SSD已连接至适配器,该适配器已连接至USB2.0集线器,已插入TravelMate的USB3端口。 我使用Windows安装闪存驱动器检查了该计算机是否可以从USB3启动。


结果


无法启动的系统。 由于BootManager,对磁盘进行分区似乎已完成。



引导管理器 “写启动菜单”是什么破坏了磁盘布局?


第三次尝试:哇,它加载了! 但不能通过本机上的USB3端口


配套设备


一切都与第二次尝试相同,但是这次我根本不使用BootManager。
如果从Linux中进行检查,则无需启动BootManager即可进行分区。



FAT32文件系统的“ efi”部分标记为可启动,而无需启动BootManager。 它可以在非EFI机器上运行吗?


结果


  • EFI模式,USB2端口:直接下载到Haiku
  • EFI模式,USB2集线器插入USB3端口:消息“未找到引导路径,扫描所有分区...” ,然后显示引导屏幕,显示“选择引导卷(当前:haiku)”“继续启动”按钮为灰色,未按下。 如果选择“选择启动卷”-> Haiku(当前:最新状态)-> 最新状态 -> 返回主菜单 -> 从列表继续启动 ,它将直接加载到Haiku中。 我想知道为什么它不能“随便一个靴子”,却需要用铃鼓跳舞吗? 此外,在引导屏幕上会自动自动找到引导部分。 软件错误?
  • EFI模式,USB3端口:直接加载到Haiku中。 哇,我很高兴...事实证明还为时过早。 显示蓝屏,但长时间没有任何反应。 “手指”光标悬在屏幕中间,并且不会移动。 sata-usb3适配器闪烁。 案件以内核恐慌告终。 在当前硬件上,USB3闪存驱动器上的Anyboot映像甚至未被识别为可引导。 ah,这是一个错误! 对此,我提出了要求


从USB3端口启动时内核出现紧急情况。


令人惊奇的是您仍然可以键入命令,但是您将不得不使用英文版式。 所以,我照建议做:



标题: syslog | tail 15输出syslog | tail 15 syslog | tail 15内核恐慌


不幸的是,调用reboot命令不起作用。


第四次尝试:第二辆车


我将相同的磁盘(工作正常)转移到另一台计算机上,在其中检查了不同端口的工作情况。


配套设备


一切与第三次尝试相同,但使用Acer Revo One RL 85。


结果


  • EFI模式,USB2端口:消息“找不到引导路径,扫描所有分区...” ,然后显示引导屏幕,显示“选择引导卷(当前:haiku)”“继续启动”按钮为灰色,未按下。 如果选择“选择启动卷”-> Haiku(当前:最新状态)-> 最新状态 -> 返回主菜单 -> 继续启动 -它会直接加载到Haiku中。 关机挂在消息“正在关机...”上
  • EFI模式,USB2集线器已插入USB3端口:需要说明
  • EFI模式,USB3端口:消息“找不到引导路径,扫描所有分区...” ,然后在引导屏幕上显示“选择引导卷(当前:haiku)”“继续启动”按钮为灰色,未按下。 如果选择“选择启动卷”-> Haiku(当前:最新状态)-> 最新状态 -> 返回主菜单 -> 继续启动 -它会直接加载到Haiku中。
    我提请您注意一个事实,与第一个系统不同,它可以正常启动到台式机而不会引起内核崩溃。 关机挂起消息“正在关机”。
  • EFI模式,SATA端口:直接加载到Haiku。 关机挂在消息“正在关机...”上
  • CSM BIOS模式,USB2端口:需要更新
  • CSM BIOS模式,USB2集线器连接到USB3端口:需要澄清
  • BIOS CSM模式,USB3端口:需要更新
  • CSM BIOS模式,SATA端口:黑色屏幕,上面写有“重新启动并选择适当的启动设备或在所选设备中插入启动媒体并按一个键” 。 来自CSM BIOS? [ 是的,如果找不到引导加载程序,系统将发出完全相同的消息。 -大约 译者]

第五次尝试:第三辆车


将同一磁盘转移到第三台计算机,并在不同的端口上进行检查。


配套设备


与第三次尝试相同,但使用的是Dell Optiplex780。如果我没有记错的话,这台机器具有早期的EFI,显然它始终可以在CSM BIOS模式下工作。


结果


  • USB2端口:Haiku下载
  • USB3端口(通过PCIe卡,瑞萨科技公司uPD720202 USB 3.0主机控制器):需要澄清
  • SATA端口:需要澄清

第六次尝试,第四台机器,MacBook Pro


配套设备


与第三次尝试相同,但使用MacBookPro 7.1


结果



Mac如何使用Haiku看到闪存驱动器。


  • CSM模式(“ Windows”):黑屏,显示题为“没有可启动驱动器-插入启动盘并按任意键” 。 她来自Apple CSM吗?
  • UEFI模式(“ EFI引导”):在引导设备选择屏幕上停止。

第七次尝试,使用32位Atom处理器的联想上网本


配套设备


  • 在Linux上使用Etcher在Linux上制作的16GB Kingston DataTraveler 100闪存驱动器, 来自此处是32位Anyboot映像。


  • 基于Atom处理器且没有硬盘的Lenovo ideapad s10上网本。


  • 这台机器的lspci ,在linux上拍摄。


  • lsusb


     00:1d.7 USB controller: Intel Corporation NM10/ICH7 Family USB2 EHCI Controller (rev 02) (prog-if 20 [EHCI]) Subsystem: Lenovo NM10/ICH7 Family USB2 EHCI Controller Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 0 Interrupt: pin A routed to IRQ 23 Region 0: Memory at f0844000 (32-bit, non-prefetchable) [size=1K] Capabilities: [50] Power Management version 2 Flags: PMEClk- DSI- D1- D2- AuxCurrent=375mA PME(D0+,D1-,D2-,D3hot+,D3cold+) Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME- Capabilities: [58] Debug port: BAR=1 offset=00a0 Kernel driver in use: ehci-pci 


结果


下载后发生内核崩溃, syslog|tail 15 kDiskDeviceManager::InitialDeviceScan() failed: No such file or directory显示kDiskDeviceManager::InitialDeviceScan() failed: No such file or directory多次ATA错误后, kDiskDeviceManager::InitialDeviceScan() failed: No such file or directory注意:我尝试从USB而不是sata启动。



从闪存驱动器启动时,Lenovo IdeaPad S10上网本出现内核恐慌。


为了好玩,我将磁盘插入了sata端口,但没有注意到与闪存驱动器有很大的不同。 尽管在使用syslog|tail 15命令时得到了不同的消息(它说它找到了/dev/disk/ata/0/master/1 )。


先生 waddlesplash要求我执行`syslog | grep usb 对于这种情况,请使用`syslog | grep usb ,因此结果如下。 我仍然很高兴您可以在屏幕上通过内核恐慌运行类似的命令。




据先生。 waddlesplash此EHCI错误与该应用程序中的错误相同


第八次尝试:具有32位Atom处理器的MSI上网本


配套设备


和以前一样


  • 带有已安装磁盘的Netbook Medion Akoya E1210(标记为MSI Wind U100)(我不用于Haiku)。
  • 本机的lspci
  • 这台机器的lsusb
     00:1d.7 USB controller: Intel Corporation NM10/ICH7 Family USB2 EHCI Controller (rev 02) (prog-if 20 [EHCI]) Subsystem: Micro-Star International Co., Ltd. [MSI] NM10/ICH7 Family USB2 EHCI Controller Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 0 Interrupt: pin A routed to IRQ 23 Region 0: Memory at dff40400 (32-bit, non-prefetchable) [size=1K] Capabilities: [50] Power Management version 2 Flags: PMEClk- DSI- D1- D2- AuxCurrent=375mA PME(D0+,D1-,D2-,D3hot+,D3cold+) Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME- Capabilities: [58] Debug port: BAR=1 offset=00a0 Kernel driver in use: ehci-pci 

结果


启动到Installer Haiku。 触摸板有效! (例如,滚动)。 该视频卡被认可为Intel GMA (i945GME)


第九次尝试:MacBook Pro上的32位闪存驱动器


配套设备


  • 和以前一样
  • 的MacBook 7.1

结果


黑屏显示“没有可启动驱动器-插入启动盘并按任意键”。


注意:Apple Keyboard


在底行的任何键盘的左下角都有以下按钮:
非Apple:Ctrl-Fn-Windows-Alt-空格键
苹果:Fn-Ctrl-(选项或Alt)-Command-空格键


如果Haiku中的所有键盘都具有相同的性能,那将是很好的,以便无论使用何种键盘,都可以以相同的方式使用它们。
在Apple键盘上,Alt按钮不会立即移到该空格的左侧(而不是Command键)。
在这种情况下,我会发现Haiku将自动使用Command键而不是Alt键。 因此,在使用Apple键盘时,我会觉得该键盘不是Apple键盘。
显然,设置中有不同的选项,但是我想自动识别和调整,因为毕竟这是USB。


注意:writembr是否可以恢复?


听说使用writembr命令可以使系统(使用EFI)可从BIOS引导。


 /> writembr /dev/disk/.../.../.../.../raw About to overwrite the MBR boot code on /dev/disk/scsi/0/2/0/raw This may disable any partition managers you have installed. Are you sure you want to continue? yes/[no]: yes Rewriting MBR for /dev/disk/.../.../.../.../raw MBR was written OK 

看起来不错,但是结果还是像以前一样无法加载系统。 也许因为通过BIOS引导仅适用于适当的标记而不适用GPT? [ 应该尝试保护性MBR ...-大约。 译者]


结论


Haiku很棒,但是它需要认真的方法来获得安装经验。 此外,启动过程很容易,大约有1/3的成功几率,而是否拥有USB2(Atom上网本)或USB3(Acer TravelMate)则无关紧要。 但是至少有一个开发人员拥有相同的设备。 我希望我的“努比亚人”经验能帮助开发人员了解“凡人”的​​需求,并使结果像Mac OS X安装程序一样优雅,不要忘记它甚至不是1.0版,因此一切都很好!


自己尝试! 毕竟,Haiku项目每天都会从DVD或USB提供下载图像。 要安装,只需下载图像并使用Etcher将其写入USB闪存驱动器


有问题吗? 我们邀请您访问俄语电报频道


错误概述: 如何在C和C ++中扎根。 Haiku OS食谱集


摘自译文作者 :这是Haiku系列文章的第四篇。


文章列表: 第一, 第二, 第三,第四, 第五, 第六, 第七, 第八, 第九

Source: https://habr.com/ru/post/zh-CN463105/


All Articles