Page 1 of 1

[Solved] Porteus on HDD via SATA and USB3 can not be booted

Posted: 06 Jun 2015, 03:45
by neko
[problem]
Porteus on Mass storage HDD, that connects via SATA and USB3, can not be booted.
============================================================
$ lsusb -t
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/1p, 5000M
|__ Port 1: Dev 2, If 0, Class=Mass Storage, Driver=uas, 5000M
============================================================

[cause]
The 'uas' driver is dynamic linkage to kernel.

000-kernel.xzm@/lib/modules/3.17.4-porteus/kernel/drivers/usb/storage/uas.ko

[fix]
1. do linkage of the 'uas' driver into kernel at initrd.xz by 'insmod' command.
for 32bit only
md5sum: 90cf447e9e53d09f3f2496d58395e799 initrd.xz
http://www.mediafire.com/download/mwuiy ... /initrd.xz

for both 32bit and 64bit
md5sum: 022ea20fa0c57b85793564212b4a99f1 initrd.xz
http://www.mediafire.com/download/4caag ... /initrd.xz

or
2. rebuild kernel by the configuration that defines a static linkage 'uas' driver.
diff old.config new.config
=============================
< CONFIG_USB_UAS=m
---
> CONFIG_USB_UAS=y
=============================


Thanks.

Re: [Solved] Porteus on HDD via SATA and USB3 can not be boo

Posted: 06 Jun 2015, 10:25
by fanthom
have uas driver compiled into kernel in the kiosk already.
will do the same for desktop edition.

thank you.

Re: [Solved] Porteus on HDD via SATA and USB3 can not be boo

Posted: 06 Jun 2015, 11:05
by neko
@fanthom
I understand.
I wait next version.
Thanks.

Re: [Solved] Porteus on HDD via SATA and USB3 can not be boo

Posted: 19 Jun 2015, 02:22
by neko
I built kernel v3.18.16 with the config that defines a static linkage 'uas' driver.
But the boot from HDD via USB3 is not stable. Sometime boots are OK. Sometime boots are NG.
Therefore I added the retry routine that resets USB ports and searches HDD, on the case a boot is NG.


#======================================
# resetUSB
#--------------------------------------
resetUSB()
{
# reseting USB2 ports
for i in $(ls /sys/bus/pci/drivers/ehci_hcd/|grep :)
do
echo $i >/sys/bus/pci/drivers/ehci_hcd/unbind 2>/dev/null
echo $i >/sys/bus/pci/drivers/ehci_hcd/bind 2>/dev/null
done
# reseting USB3 ports (if there none you'll get errors)
for i in $(ls /sys/bus/pci/drivers/xhci_hcd/|grep :)
do
echo $i >/sys/bus/pci/drivers/xhci_hcd/unbind 2>/dev/null
echo $i >/sys/bus/pci/drivers/xhci_hcd/bind 2>/dev/null
done
}
#======================================


Please refer the item '4 Initrd' of
http://forum.porteus.org/viewtopic.php? ... =45#p34291


Thanks.