nougat-x86: ath10k no wifi / NVMe SSD Installation issue

1,110 views
Skip to first unread message

YoungJoon Lee

unread,
Jun 12, 2017, 9:56:46 PM6/12/17
to Android-x86
Hello, Android-x86 group members.

I download nougat-x86 branch and build it on my gentoo linux.

I have experience many problems related to gentoo environment but finally I build iso successfully.

Problem 1 : genisoimage is not used on gentoo. mkisofs is used. First, I just create sym link but it failed because -e parameter is not working on my version. So, I modify ./bootable/newinstaller/Android.mk like this.

:113L
mkisofs -vJURT -b isolinux/isolinux.bin -c isolinux/boot.cat \
-no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot --eltorito-boot boot/grub/efi.img -no-emul-boot \

Problem 2 : isohybrid failed. Result message is, isohybrid: out/target/product/x86_64/android_x86_64.iso: unable to find efi image
isohybrid not found.

I ignore this message because iso image is working on my system.


Finally my iso can boot on my system. But, wifi of QCA6174(Qualcomm Atheros QCA6174 802.11ac Wireless Network Adapter [168c:003e] (rev 32)) is not working.

Detail :
dmesg log is same to ubuntu(wifi works normally) dmesg log and I can turn on wifi but, No SSID is displayed. Log message looks like this.

dmesg | grep ath10k
ath10k_pci 0000:03:00.0: Direct firmware load for ath10k/cal-pci-0000:03:00.0.bin failed with error -2
ath10k_pci 0000:03:00.0: Direct firmware load for ath10k/QCA6174/hw3.0/firmware-5.bin failed with error -2
ath10k_pci 0000:03:00.0: could not fetch firmware file 'ath10k/QCA6174/hw3.0/firmware-5.bin': -2
ath10k_pci 0000:03:00.0: qca6174 hw3.2 (0x05030000, 0x00340aff, 168c:003e:105b:e09d) fw WLAN.RM.2.0-00180-QCARMSWPZ-1 api 4 htt-ver 3.26 wmi-op 4 htt-op 3 cal otp max-sta 32 raw 0 hwcrypto 1 features wowlan,ignore-otp,no-4addr-pad
board_file api 2 bmi_id N/A crc32 19644295

In ubuntu, Wifi works normally with same dmesg log.


Here is my kernel configuration file related to ath10k
CONFIG_ATH10K=m
CONFIG_ATH10K_PCI=m
CONFIG_ATH10K_AHB=y
# CONFIG_ATH10K_DEBUG is not set
# CONFIG_ATH10K_DEBUGFS is not set
# CONFIG_ATH10K_TRACING is not set

PS. BT of Atheros works on android. But only wifi is not working.

And next issue is related to NVMe Installation.

I have samsung 960 evo NVMe SSD.
I change next kernel configuration and I can see my ssd on installer.

CONFIG_NVME_CORE=m
CONFIG_BLK_DEV_NVME=m
# CONFIG_BLK_DEV_NVME_SCSI is not set
# CONFIG_NVME_TARGET is not set

CONFIG_NVMEM=m
# CONFIG_STM is not set
# CONFIG_INTEL_TH is not set

But, If i select nvmen1p1 for installation, I cannot see file system type selection. Screen prompt and return to partition selection. There is no error message. Just prompt.
I select Create/Modify partitions, I can see sda's partition(my USB installation media) but there is no SSD's partition.

I boot live usb with debug mode, and check /dev/block.

there is no nvmen1p1 but /dev/nvmen1p1 is present.

I change many kernel configuration settings related to nvme ssd. But I can't install android on nvme ssd.

Thank you for reading. Have a good weekend.

Chih-Wei Huang

unread,
Jun 12, 2017, 10:37:13 PM6/12/17
to Android-x86
2017-06-11 3:48 GMT+08:00 YoungJoon Lee <get...@gmail.com>:
> Hello, Android-x86 group members.
>
> I download nougat-x86 branch and build it on my gentoo linux.
>
> I have experience many problems related to gentoo environment but finally I build iso successfully.
>
> Problem 1 : genisoimage is not used on gentoo. mkisofs is used. First, I just create sym link but it failed because -e parameter is not working on my version. So, I modify ./bootable/newinstaller/Android.mk like this.
>
> :113L
> mkisofs -vJURT -b isolinux/isolinux.bin -c isolinux/boot.cat \
> -no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot --eltorito-boot boot/grub/efi.img -no-emul-boot \
>
> Problem 2 : isohybrid failed. Result message is, isohybrid: out/target/product/x86_64/android_x86_64.iso: unable to find efi image
> isohybrid not found.
>
> I ignore this message because iso image is working on my system.

isohybrid is usually in the syslinux package.

> Finally my iso can boot on my system. But, wifi of QCA6174(Qualcomm Atheros QCA6174 802.11ac Wireless Network Adapter [168c:003e] (rev 32)) is not working.
>
> Detail :
> dmesg log is same to ubuntu(wifi works normally) dmesg log and I can turn on wifi but, No SSID is displayed. Log message looks like this.
>
> dmesg | grep ath10k
> ath10k_pci 0000:03:00.0: Direct firmware load for ath10k/cal-pci-0000:03:00.0.bin failed with error -2
> ath10k_pci 0000:03:00.0: Direct firmware load for ath10k/QCA6174/hw3.0/firmware-5.bin failed with error -2
> ath10k_pci 0000:03:00.0: could not fetch firmware file 'ath10k/QCA6174/hw3.0/firmware-5.bin': -2
> ath10k_pci 0000:03:00.0: qca6174 hw3.2 (0x05030000, 0x00340aff, 168c:003e:105b:e09d) fw WLAN.RM.2.0-00180-QCARMSWPZ-1 api 4 htt-ver 3.26 wmi-op 4 htt-op 3 cal otp max-sta 32 raw 0 hwcrypto 1 features wowlan,ignore-otp,no-4addr-pad
> board_file api 2 bmi_id N/A crc32 19644295

Our firmware is based on Linux firmware tree.
Apparently there is no such a firmware in the tree:
https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/ath10k/QCA6174/hw3.0

Not sure why the driver request that.

> In ubuntu, Wifi works normally with same dmesg log.

So ubuntu has these firmwares?
Then you can copy from it.

> Here is my kernel configuration file related to ath10k
> CONFIG_ATH10K=m
> CONFIG_ATH10K_PCI=m
> CONFIG_ATH10K_AHB=y
> # CONFIG_ATH10K_DEBUG is not set
> # CONFIG_ATH10K_DEBUGFS is not set
> # CONFIG_ATH10K_TRACING is not set
>
> PS. BT of Atheros works on android. But only wifi is not working.
>
> And next issue is related to NVMe Installation.
>
> I have samsung 960 evo NVMe SSD.
> I change next kernel configuration and I can see my ssd on installer.
>
> CONFIG_NVME_CORE=m
> CONFIG_BLK_DEV_NVME=m
> # CONFIG_BLK_DEV_NVME_SCSI is not set
> # CONFIG_NVME_TARGET is not set
>
> CONFIG_NVMEM=m
> # CONFIG_STM is not set
> # CONFIG_INTEL_TH is not set
>
> But, If i select nvmen1p1 for installation, I cannot see file system type selection. Screen prompt and return to partition selection. There is no error message. Just prompt.
> I select Create/Modify partitions, I can see sda's partition(my USB installation media) but there is no SSD's partition.
>
> I boot live usb with debug mode, and check /dev/block.
>
> there is no nvmen1p1 but /dev/nvmen1p1 is present.
>
> I change many kernel configuration settings related to nvme ssd. But I can't install android on nvme ssd.

I think our installer doesn't know
this device node name.
I'll put it to the TODO list.

YoungJoon Lee

unread,
Jun 14, 2017, 10:14:22 PM6/14/17
to Android-x86
So ubuntu has these firmwares? Then you can copy from it. 
I already test ubuntu's firmware.

still not working. Something is different from other devices. I have experience wifi problem(Or Bluetooth) many times but, none of experience is like this.(Wifi is turning on and message is said find for wireless network and no ssid is shown).

I will try some other approaches for this. Thank you very much for your answer Chih-Wei Huang. 

One more question. Is it possible to burn img file directly to nvme ssd? For example, 

Approach1 : Copy file needed to USB and boot from Ubuntu live disk and burn img files to NVMe Device
Approach2 : Install Android to USB disk and boot into Ubuntu Linux and copy files to NVMe SSD. And change fstab(I think Android doesn't have fstab. Right?)
Approach3 : Write your source's udev rule and change change nvme0n1 to sda 

Is it possible to install with any of Approach 1~3? 

Thank you very much.

2017년 6월 13일 화요일 오전 11시 37분 13초 UTC+9, Chih-Wei Huang 님의 말:

Chih-Wei Huang

unread,
Jun 14, 2017, 10:49:15 PM6/14/17
to Android-x86
2017-06-14 20:53 GMT+08:00 YoungJoon Lee <get...@gmail.com>:
>> So ubuntu has these firmwares? Then you can copy from it.
>
> I already test ubuntu's firmware.
>
> still not working. Something is different from other devices. I have
> experience wifi problem(Or Bluetooth) many times but, none of experience is
> like this.(Wifi is turning on and message is said find for wireless network
> and no ssid is shown).

You need to check dmesg and logcat
to see what happened.

> I will try some other approaches for this. Thank you very much for your
> answer Chih-Wei Huang.
>
> One more question. Is it possible to burn img file directly to nvme ssd? For
> example,
>
> Approach1 : Copy file needed to USB and boot from Ubuntu live disk and burn
> img files to NVMe Device
> Approach2 : Install Android to USB disk and boot into Ubuntu Linux and copy
> files to NVMe SSD. And change fstab(I think Android doesn't have fstab.
> Right?)
> Approach3 : Write your source's udev rule and change change nvme0n1 to sda
>
> Is it possible to install with any of Approach 1~3?

Surely you can manually copy android-x86 files to it
(only four files are needed: kernel, initrd.img, ramdisk.img and system.sfs)
but it still won't boot.

As said, our init and installer need to be adjusted
to recognize this device node. Currently it can't.

If you know how to modify initrd.img manually,
(or build it from source)
you can try to change this line in the init script

for device in ${ROOT:-/dev/[hmsv][dmr][0-9a-z]*};

to

for device in ${ROOT:-/dev/[hmnsv][dmrv][0-9a-z]*};

The installer script also needs to be modified similarly.

YoungJoon Lee

unread,
Jul 16, 2017, 9:15:14 PM7/16/17
to Android-x86
Hello, Chih-Wei Huang.

I have trying to fix NVMe Installation issue.

I think I have to fix 2 init script.

First is ./bootable/newinstaller/initrd/init. And the other is in the img file ./out/target/product/x86_64/initrd.img.

I have 2 questions.
1. I fix ./bootable/newinstaller/initrd/init with next code. But it is not wokring. Message shows Detecting Android-x86......................................................(. loops)
This is my code. 
I add code line 151 to 158.
Is there any wrong code makes script looping? 

2. I want to know which file ./out/target/product/x86_64/initrd.img is made from. 
I cannot found init script used after installing. Is ./bootable/newinstaller/initrd/init also copied to initrd.img? 

Thank you for reading. Best regards.


2017년 6월 15일 목요일 오전 11시 49분 15초 UTC+9, Chih-Wei Huang 님의 말:

Chih-Wei Huang

unread,
Jul 16, 2017, 10:13:27 PM7/16/17
to Android-x86
2017-07-17 9:15 GMT+08:00 YoungJoon Lee <get...@gmail.com>:
> Hello, Chih-Wei Huang.
>
> I have trying to fix NVMe Installation issue.
>
> I think I have to fix 2 init script.
>
> First is ./bootable/newinstaller/initrd/init. And the other is in the img
> file ./out/target/product/x86_64/initrd.img.
>
> I have 2 questions.
> 1. I fix ./bootable/newinstaller/initrd/init with next code. But it is not
> wokring. Message shows Detecting
> Android-x86......................................................(. loops)
> This is my code.
> https://gitlab.com/LeeYoungJoon/android-newinstaller/blob/x86/nougat-x86/initrd/init#L151
> I add code line 151 to 158.
> Is there any wrong code makes script looping?

Oh. Your code won't be executed since
it is just looping in the first for statement.

OK. Let me try it if I have time today.

> 2. I want to know which file ./out/target/product/x86_64/initrd.img is made
> from.
> I cannot found init script used after installing. Is
> ./bootable/newinstaller/initrd/init also copied to initrd.img?

Yes.
However you won't see it after enter Android.
The latest switch_root statement
will kill all stuff in initrd.img and
handover to Android's ramdisk.img.
But you can see it in debug mode
since it uses chroot instead of switch_root.


--
Chih-Wei
Android-x86 project
http://www.android-x86.org

Chih-Wei Huang

unread,
Jul 17, 2017, 1:01:10 AM7/17/17
to Android-x86
2017-07-17 10:13 GMT+08:00 Chih-Wei Huang <cwh...@android-x86.org>:
> 2017-07-17 9:15 GMT+08:00 YoungJoon Lee <get...@gmail.com>:
>> Hello, Chih-Wei Huang.
>>
>> I have trying to fix NVMe Installation issue.
>>
>> I think I have to fix 2 init script.
>>
>> First is ./bootable/newinstaller/initrd/init. And the other is in the img
>> file ./out/target/product/x86_64/initrd.img.
>>
>> I have 2 questions.
>> 1. I fix ./bootable/newinstaller/initrd/init with next code. But it is not
>> wokring. Message shows Detecting
>> Android-x86......................................................(. loops)
>> This is my code.
>> https://gitlab.com/LeeYoungJoon/android-newinstaller/blob/x86/nougat-x86/initrd/init#L151
>> I add code line 151 to 158.
>> Is there any wrong code makes script looping?
>
> Oh. Your code won't be executed since
> it is just looping in the first for statement.
>
> OK. Let me try it if I have time today.

OK. I've pushed a patch to support NVMe.
Please sync bootable/newinstaller/ to get it.

It's untested since I don't have such a device.
I'm not sure if I missed some parts.
Please test (boot and installer) and report.

Indeed you can also workaround the booting issue
by the ROOT= option, say ROOT=/dev/nvme0n1

YoungJoon Lee

unread,
Jul 17, 2017, 9:59:33 AM7/17/17
to Android-x86
Thank you. 

I re-sync bootable/newinstaller and try your code.

Result : Can boot and select nvme devices. But, 
Problem : Stopped during Installation of grub. Message is 'Do you want to install bootloader grub' .(I format nvme ssd with Ubuntu Live media Gparted tool, not Installer.)

Next approach : Install with UEFI.(Re-Format with Ubuntu Live media Gparted tool.)
Problem : Also stopped during install UEFI GRUB.

How can I check log during installer? Best regards.

2017년 7월 17일 월요일 오후 2시 1분 10초 UTC+9, Chih-Wei Huang 님의 말:

Chih-Wei Huang

unread,
Jul 17, 2017, 10:22:56 AM7/17/17
to Android-x86
cat
2017-07-17 21:59 GMT+08:00 YoungJoon Lee <get...@gmail.com>:
> Thank you.
>
> I re-sync bootable/newinstaller and try your code.
>
> Result : Can boot and select nvme devices. But,
> Problem : Stopped during Installation of grub. Message is 'Do you want to
> install bootloader grub' .(I format nvme ssd with Ubuntu Live media Gparted
> tool, not Installer.)

OK. I missed one part.
But I'm not sure how to add it.

Please show me:

ls /dev/nvme*

ls /sys/block/nvme*

ls /sys/block/nvme*/*/partition

cat /sys/block/nvme*/*/partition


> Next approach : Install with UEFI.(Re-Format with Ubuntu Live media Gparted
> tool.)
> Problem : Also stopped during install UEFI GRUB.
>
> How can I check log during installer? Best regards.

In debug mode, log will be saved to
/tmp/log.

YoungJoon Lee

unread,
Jul 17, 2017, 10:28:28 AM7/17/17
to Android-x86
This is result of my linux system.

If I must get result from android debug mode boot, I will take log tomorrow.

linux-server ~ # ls /dev/nvme*
/dev/nvme0  /dev/nvme0n1  /dev/nvme0n1p1  /dev/nvme0n1p2  /dev/nvme0n1p3
linux-server ~ # ls /sys/block/nvme*
alignment_offset  device             inflight   nvme0n1p3  ro         trace
badblocks         discard_alignment  mq         power      size       uevent
bdi               eui                nsid       queue      slaves     wwid
capability        ext_range          nvme0n1p1  range      stat
dev               holders            nvme0n1p2  removable  subsystem
linux-server ~ # ls /sys/block/nvme*/*/partition
/sys/block/nvme0n1/nvme0n1p1/partition  /sys/block/nvme0n1/nvme0n1p3/partition
/sys/block/nvme0n1/nvme0n1p2/partition
linux-server ~ # cat /sys/block/nvme*/*/partition
1
2
3


Thank you. I will check log also. 



2017년 7월 17일 월요일 오후 11시 22분 56초 UTC+9, Chih-Wei Huang 님의 말:

Chih-Wei Huang

unread,
Jul 17, 2017, 12:27:44 PM7/17/17
to Android-x86
2017-07-17 22:28 GMT+08:00 YoungJoon Lee <get...@gmail.com>:
> This is result of my linux system.
>
> If I must get result from android debug mode boot, I will take log tomorrow.
>
> linux-server ~ # ls /dev/nvme*
> /dev/nvme0 /dev/nvme0n1 /dev/nvme0n1p1 /dev/nvme0n1p2 /dev/nvme0n1p3
> linux-server ~ # ls /sys/block/nvme*
> alignment_offset device inflight nvme0n1p3 ro trace
> badblocks discard_alignment mq power size uevent
> bdi eui nsid queue slaves wwid
> capability ext_range nvme0n1p1 range stat
> dev holders nvme0n1p2 removable subsystem
> linux-server ~ # ls /sys/block/nvme*/*/partition
> /sys/block/nvme0n1/nvme0n1p1/partition
> /sys/block/nvme0n1/nvme0n1p3/partition
> /sys/block/nvme0n1/nvme0n1p2/partition
> linux-server ~ # cat /sys/block/nvme*/*/partition
> 1
> 2
> 3

Fine! Thank you.
I have added more code to the installer
though I'm not sure if the grub installation
works or not.
Please sync and test it.

YoungJoon Lee

unread,
Jul 17, 2017, 7:31:39 PM7/17/17
to Android-x86
Ok, I have test new codes.

Result:Installer said run or reboot but it doesn't display grub.

I check output of grub.

Looks like, setup (hd1) (hd1,0) command failed.
Checking /boot/grub/stage1 exist no
/grub/stage1 exist yes
/grub/stage2 exist yes
/grub/e2fs_stage1_5 exist yes
Running install /grub/stage1 (hd1) (hd1) 1+29 p (hd1,0)/grub/stage2 /grub/menu1st failed
Error 22:No such partition

It looks like some parameter is generated abnormally near 1+29

lixi...@gmail.com

unread,
Jul 17, 2017, 9:50:21 PM7/17/17
to Android-x86
在 2017年7月17日星期一 UTC+8下午1:01:10,Chih-Wei Huang写道:
Hi,Chih-Wei

Also need "/sys/block/nvme?n?" to partition_driver() for loop

Chih-Wei Huang

unread,
Jul 17, 2017, 10:20:10 PM7/17/17
to Android-x86
Yes. That's what I suspect.
nvme index seems to start from 1 which
is different than others (from 0).

Please try these command after the installer
just install grub:
(you may switch to vt 2/3 to do it - Alt-F2 or F3)

echo "(hd0) /dev/nvme0n1" > /hd/grub/device.map
echo "setup (hd0) (hd0,0)" | grub --device-map /hd/grub/device.map

If this works, I'll try to adjust the index of nvme.

YoungJoon Lee

unread,
Jul 18, 2017, 5:34:56 AM7/18/17
to Android-x86
It also doesn't work.


Please tell me check points. I will check and post results.


2017년 7월 17일 월요일 오후 11시 28분 28초 UTC+9, YoungJoon Lee 님의 말:

YoungJoon Lee

unread,
Jul 18, 2017, 5:40:21 AM7/18/17
to Android-x86
I have to change index 0 to 1? 

Like this.
echo "(hd0) /dev/nvme0n1" > /hd/grub/device.map 
echo "setup (hd0) (hd0,1)" | grub --device-map /hd/grub/device.map 

2017년 7월 18일 화요일 오후 6시 34분 56초 UTC+9, YoungJoon Lee 님의 말:

Chih-Wei Huang

unread,
Jul 18, 2017, 5:43:28 AM7/18/17
to Android-x86
2017-07-18 17:40 GMT+08:00 YoungJoon Lee <get...@gmail.com>:
>
> I have to change index 0 to 1?
>
> Like this.
> echo "(hd0) /dev/nvme0n1" > /hd/grub/device.map
> echo "setup (hd0) (hd0,1)" | grub --device-map /hd/grub/device.map

Which partition did you install exactly?

/dev/nvme0np?

YoungJoon Lee

unread,
Jul 18, 2017, 5:51:50 AM7/18/17
to Android-x86
I only have 1 partition on my SSD.

nvmen0n1 is device name and partition is nvme0n1p1.

When create partition on nvme device, first partition is nvme0n1p1.(numbers are total 3, 0, 1, 1)
Second partition is nvme0n1p2. 

But in my case, Only 1 partitio nvme0n1p1 is present. I am trying to install here. 
nvme0n1p1 is almost same as sda1.



2017년 7월 18일 화요일 오후 6시 43분 28초 UTC+9, Chih-Wei Huang 님의 말:

Chih-Wei Huang

unread,
Jul 18, 2017, 5:57:56 AM7/18/17
to Android-x86
2017-07-18 17:51 GMT+08:00 YoungJoon Lee <get...@gmail.com>:
> I only have 1 partition on my SSD.
>
> nvmen0n1 is device name and partition is nvme0n1p1.
>
> When create partition on nvme device, first partition is nvme0n1p1.(numbers
> are total 3, 0, 1, 1)
> Second partition is nvme0n1p2.
>
> But in my case, Only 1 partitio nvme0n1p1 is present. I am trying to install
> here.
> nvme0n1p1 is almost same as sda1.

Fine. Then it should be (hd0,0).
I don't see why it won't work.

Did you have /hd/grub/menu.lst, /hd/grub/stage2 ?
(suppose /dev/nvme0n1p1 is mounted at /hd )
These files should be created by the installer when
you say "yes" to "Do you want to install boot loader GRUB?"

YoungJoon Lee

unread,
Jul 18, 2017, 6:37:04 AM7/18/17
to Android-x86




Looks like this picture, nvme0n1p1 is mounted correctly.


I think these message also can be hints.

When I select manage partition, Error occur and reboot.





I will format disk with USB live media and try one more time.

2017년 7월 18일 화요일 오후 6시 57분 56초 UTC+9, Chih-Wei Huang 님의 말:

YoungJoon Lee

unread,
Jul 18, 2017, 7:57:04 PM7/18/17
to Android-x86
Is it correct grub config's root is inputed with ram0?

And in this log,

Looks like, setup (hd1) (hd1,0) command failed.
Checking /boot/grub/stage1 exist no
/grub/stage1 exist yes
/grub/stage2 exist yes
/grub/e2fs_stage1_5 exist yes
Running install /grub/stage1 (hd1) (hd1) 1+29 p (hd1,0)/grub/stage2 /grub/menu1st failed
Error 22:No such partition

1+29 p is correct install command?


2017년 7월 18일 화요일 오후 6시 57분 56초 UTC+9, Chih-Wei Huang 님의 말:

Chih-Wei Huang

unread,
Jul 18, 2017, 9:44:38 PM7/18/17
to Android-x86
2017-07-19 7:57 GMT+08:00 YoungJoon Lee <get...@gmail.com>:
> Is it correct grub config's root is inputed with ram0?

??

> And in this log,
>
> Looks like, setup (hd1) (hd1,0) command failed.
> Checking /boot/grub/stage1 exist no
> /grub/stage1 exist yes
> /grub/stage2 exist yes
> /grub/e2fs_stage1_5 exist yes
> Running install /grub/stage1 (hd1) (hd1) 1+29 p (hd1,0)/grub/stage2 /grub/menu1st failed
> Error 22:No such partition
>
> 1+29 p is correct install command?

That's the output of grub, not the install command.
I have already shown you the grub install command.

I think you can just try any other
(hdX,Y) to see if any work.

Another way is to use GRUB EFI.
Doesn't your device support UEFI booting?

YoungJoon Lee

unread,
Jul 19, 2017, 1:19:18 PM7/19/17
to Android-x86
Hello, Chih-Wei Huang.

What I tried today.
1. I install my media to UEFI installation. 
Grub is successfully installed and loaded but, Failed boot during Android LOGO. I don't know why. It also appeared on SATA disk installation. I have never boot with UEFI mode.(But USB UEFI boot can successful) 

These photos are detailed status. 






2. I install my media to SATA HDD and copy SATA hdd's MBR to nvme. It failed with strange message during boot. Store command is 
dd if=/dev/sda of=/hd/mbr.bak bs=512 count=1 And restore command is 
dd if=/hd/mbr.bak of=/dev/nvme0n1 bs=446 count1

And then boot. 
This is result photo. Something is different..



Thank you very much for your help.

2017년 7월 19일 수요일 오전 10시 44분 38초 UTC+9, Chih-Wei Huang 님의 말:

Chih-Wei Huang

unread,
Jul 20, 2017, 3:32:33 AM7/20/17
to Android-x86
First, I pushed another patch to fix
NVMe nodes start index as your feedback.
Please sync it.

2017-07-20 1:19 GMT+08:00 YoungJoon Lee <get...@gmail.com>:
> Hello, Chih-Wei Huang.
>
> What I tried today.
> 1. I install my media to UEFI installation.
> Grub is successfully installed and loaded but, Failed boot during Android
> LOGO. I don't know why. It also appeared on SATA disk installation. I have
> never boot with UEFI mode.(But USB UEFI boot can successful)
>
> These photos are detailed status.

Seems there is only one partition?
It's incorrect. For UEFI booting
you need to create two partitions.
One is the ESP partition (vfat) to install GRUB EFI
and another ext4 partition to install Android-x86.
Just give about 100MB to ESP and all others
to the ext4 partition.

> 2. I install my media to SATA HDD and copy SATA hdd's MBR to nvme. It failed
> with strange message during boot. Store command is
> dd if=/dev/sda of=/hd/mbr.bak bs=512 count=1 And restore command is
> dd if=/hd/mbr.bak of=/dev/nvme0n1 bs=446 count1
>
> And then boot.
> This is result photo. Something is different..

That wouldn't work.

I suggest you delete all partitions and
re-create a partition from the installer
(via "Create/Modify partitions")
and format it to ext4.

YoungJoon Lee

unread,
Jul 20, 2017, 5:35:29 AM7/20/17
to Android-x86
Thank you. I will test it now. 

One question. How installer decide vfat uefi 100MB partition? I have to set Label of partition as ESP?

2017년 7월 20일 목요일 오후 4시 32분 33초 UTC+9, Chih-Wei Huang 님의 말:

Chih-Wei Huang

unread,
Jul 20, 2017, 5:47:08 AM7/20/17
to Android-x86
2017-07-20 17:35 GMT+08:00 YoungJoon Lee <get...@gmail.com>:
> Thank you. I will test it now.
>
> One question. How installer decide vfat uefi 100MB partition? I have to set
> Label of partition as ESP?

It just searches the first vfat partition.
(by blkid)

YoungJoon Lee

unread,
Jul 20, 2017, 6:26:19 AM7/20/17
to Android-x86
Thank you veru much.

MBR still cannot install grub but I can install and boot with UEFI.

Best regards.

YoungJoon Lee

unread,
Jul 21, 2017, 9:23:13 PM7/21/17
to Android-x86
Question and suggestion.

Q : I want to study What you patched. It looks like you only change /bootable/newinstaller. I can study changed code by check diff of git on that directory?
Suggestion : I think enable nvme related options of kernel options on repository can help nvme ssd users.  Android x86 is now work on nvme ssd. 

Best regards.

2017년 7월 20일 목요일 오후 6시 47분 8초 UTC+9, Chih-Wei Huang 님의 말:

Chih-Wei Huang

unread,
Jul 24, 2017, 3:18:58 AM7/24/17
to Android-x86
2017-07-22 9:23 GMT+08:00 YoungJoon Lee <get...@gmail.com>:
> Question and suggestion.
>
> Q : I want to study What you patched. It looks like you only change
> /bootable/newinstaller. I can study changed code by check diff of git on
> that directory?

I usually use 'gitk' to check it:

$ cd bootable/newinstaller
$ gitk &

Alternately, you can view them online:

https://osdn.net/projects/android-x86/scm/git/bootable-newinstaller/commits

> Suggestion : I think enable nvme related options of kernel options on
> repository can help nvme ssd users. Android x86 is now work on nvme ssd.

What options did you mean?
Patches are welcome.

YoungJoon Lee

unread,
Jul 24, 2017, 3:22:47 AM7/24/17
to Android-x86
Set kernel configuration
<*> NVM Express block device
And
[*] Open-channel SSD target support is needed for your patch is working on other system.

Best regards.

Simone Pignotti

unread,
Jul 29, 2017, 5:39:59 PM7/29/17
to Android-x86
On Thursday, 20 July 2017 09:32:33 UTC+2, Chih-Wei Huang wrote:
> First, I pushed another patch to fix
> NVMe nodes start index as your feedback.

Dear Chih-Wei and YoungJoon,

Thanks a lot for working on this patch, I have been waiting for it since a long time and I am currently using Android-x86 on a Dell XPS 13 9350 installed on a USB drive (I had already tried to patch the kernel on my own, without success).
Even compiling the iso with your patch, I still experience boot looping on 'Detecting Android-x86...'. I think it is a problem with my build environment, since the image should be booting normally from USB, at least, and I have the same problem with the mainline kernel.

Chih-Wei, are you planning to include this patch in the next release? If not, could you please provide an image in the 'Testing' branch, so that less-experienced users like me will be able to send some feedback? Thanks in advance for your great work.

Simone

youling 257

unread,
Jul 29, 2017, 10:12:06 PM7/29/17
to Android-x86

CONFIG_NVME_CORE=y
CONFIG_BLK_DEV_NVME=y
CONFIG_BLK_DEV_NVME_SCSI=y
CONFIG_NVME_VENDOR_EXT_GOOGLE=y
CONFIG_NVME_FABRICS=y
CONFIG_NVME_RDMA=y
CONFIG_NVME_FC=y
CONFIG_NVME_TARGET=y
CONFIG_NVME_TARGET_LOOP=y
CONFIG_NVME_TARGET_RDMA=y
CONFIG_NVME_TARGET_FC=y
# CONFIG_NVME_TARGET_FCLOOP is not set

do you try 4.12 kernel with these config ?

在 2017年7月30日星期日 UTC+8上午5:39:59,Simone Pignotti写道:

youling 257

unread,
Jul 29, 2017, 11:12:16 PM7/29/17
to Android-x86
someone tell me,Nvme Sector must be 512,can't be 4096,http://bbs.phoenixstudio.org/cn/read.php?tid=9560&fid=12&page=1

Simone Pignotti

unread,
Jul 30, 2017, 5:39:39 AM7/30/17
to Android-x86
Unfortunately I do not manage to build the iso at all, or better I do but it does not boot (loops at detecting android). I have also tried installing the last pre-built iso and substituting the kernel with the one I have built, but I must be doing something wrong (that's why I was wondering if someone could provide an iso for testing NVMe).
Concerning sector size, I noticed that gparted in Linux complains about the sector size too, saying the detected one is 512b.

youling 257

unread,
Jul 30, 2017, 5:45:28 AM7/30/17
to Android-x86
you can test Phoenix 2.1.0 iso ,Phoenix os use for device in ${ROOT:-/dev/[hmsvn][dmrv][0-9a-z]*}; do ,and built-in nvme .

在 2017年7月30日星期日 UTC+8下午5:39:39,Simone Pignotti写道:

youling 257

unread,
Jul 30, 2017, 5:50:13 AM7/30/17
to Android-x86
Phoenix os,lib/modules/4.9.24-android-x86/modules.builtin

kernel/drivers/nvme/host/nvme-core.ko
kernel/drivers/nvme/host/nvme.ko
kernel/drivers/nvme/host/nvme-fabrics.ko
kernel/drivers/nvme/target/nvmet.ko
kernel/drivers/nvme/target/nvme-loop.ko

在 2017年7月30日星期日 UTC+8下午5:45:28,youling 257写道:

Povilas Staniulis

unread,
Jul 30, 2017, 3:32:57 PM7/30/17
to andro...@googlegroups.com
Try adding SYSTEM=/dev/block/<device> (replace <device> with actual
device) kernel boot parameter after installation.
For example, mine looks like this: SYSTEM=/dev/block/sda2

youling 257

unread,
Jul 30, 2017, 4:13:09 PM7/30/17
to Android-x86
no anyting $SYSTEM from init,but can use ROOT=/dev/....  kernel parameter

在 2017年7月31日星期一 UTC+8上午3:32:57,Povilas Staniulis写道:

Povilas Staniulis

unread,
Jul 30, 2017, 4:46:51 PM7/30/17
to andro...@googlegroups.com
I stand corrected.
> --
> You received this message because you are subscribed to the Google
> Groups "Android-x86" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to android-x86...@googlegroups.com
> <mailto:android-x86...@googlegroups.com>.
> To post to this group, send email to andro...@googlegroups.com
> <mailto:andro...@googlegroups.com>.
> Visit this group at https://groups.google.com/group/android-x86.
> For more options, visit https://groups.google.com/d/optout.


Reply all
Reply to author
Forward
0 new messages