Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DO NOT MERGE YET] README: Booting from the external microSD card #22

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

Velsoth
Copy link

@Velsoth Velsoth commented Sep 1, 2018

Howdy.

I have recently acquired a Kobo Aura which does not have an internal microSD card, but instead a embedded BGA chip for storage.

After scouring the internet looking for documentation on how to boot from the external microSD I was able to get okreader running from it without any apparent issues.

This PR documents the most important steps I took in order to accomplish this and I would like some feedback on a few issues.

For instance, I do not know if the process through which one acquires a shell should be detailed in the README as most of the documentation and tools I came across didn't seem particularly trustworthy.

Is there a way to access a terminal emulator on Nikel? What is the recommended way to get an SSH or Telnet daemon on Nikel?

Additionally I came across some difficulties when booting from a formatted rootfs.

Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,9)

It seems likely that my mkfs.ext4 was including some options the ereader didn't like, or maybe I was doing something wrong, so for my installation I opted to purge all files from it instead of formatting. I believe this would affect anyone doing an internal microSD install as well.

Also, I have previously documented the cloning of the internal memory with netcat via telnet, but I believe its faster to do it directly.

Is anyone willing to try this out?

Thanks for your time and for maintaining okreader.

@klundry
Copy link

klundry commented Sep 25, 2018

Hi, I've attempted to follow these instructions with my Aura and I'm not sure where I've gone wrong. When I attempt to boot from sd card I get a blank white screen and then have to hard power off to boot back to the stock internal firmware. I'm going to give it another shot starting from the beginning before I declare that it doesn't work.

I would like some clarification about the part where you use a hex editor. Do I need to edit the file with a hex editor and then also run this command "printf '\x01' | dd of=ereader.hwconfig bs=1 seek=63 count=1 conv=notrunc" after? I'm also not sure I correctly edited the file with the hex editor. I used hexcurse, hit Ctrl-g to goto 0x3F, hit the number 1 and saved.

@prokinkd
Copy link

@Velsoth
Hi. I was able to successfully install okreader on two Kobo Aura N514 devices following this guide.

I used https://github.com/S-trace/kobo-aura-remote to gain SSH access.
I had to use -oKexAlgorithms=+diffie-hellman-group1-sha1 option when connecting to the device from Ubuntu 18.04 over SSH, because, apparently, kobo-aura-remote provides outdated binaries.
Another caveat is that devices seemed to disconnect from Wi-Fi regardless of timeout settings. It caused SSH shell to freeze and not respond, but was not affecting the copy progress. Reconnecting to Wi-Fi, or switching Wi-Fi on/off restored SSH connecton.

I wasn't able to boot with freshly created ext4 partition too, it ended with boot led blinking abruption and blank white screen. Using first partition (rootfs) from dumped internal memory worked fine.
I applied couple of tweaks on it to reduce writes:
tune2fs -O ^has_journal /dev/<okreader-root-partition> -- disable journaling
tune2fs -E mount_opts=noatime /dev/<okreader-root-partition> -- disable file access time recording
e2fsck -f /dev/<okreader-root-partition> -- make sure that everything is OK

@klundry

I would like some clarification about the part where you use a hex editor. Do I need to edit the file with a hex editor and then also run this command "printf '\x01' | dd of=ereader.hwconfig bs=1 seek=63 count=1 conv=notrunc" after?

No, you don't need to do both. Running this command is enough, it does same as editing file with HEX editor.

When I attempt to boot from sd card I get a blank white screen and then have to hard power off to boot back to the stock internal firmware.

I had the same symptoms with fresh filesystem, but that also may be an issue with improperly edited hwconfig.

@klundry
Copy link

klundry commented Nov 1, 2018

Thank you @prokinkd Will try this again soon. Appreciate the additional info on getting it to work.

@ergofroggy
Copy link

Thanks @Velsoth for this PR, and @prokinkd for the details on how to effectively ssh into the aura while still running Nickel.
Everything worked like a charm on my Aura, boots and works. Now to try and cross-compile okreader with a newer version of koreader

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants