ganbold has quit [Quit: This computer has gone to sleep]
tuliom has quit [Quit: Konversation terminated!]
leviathan has joined #arm-netbook
leviathan has quit [Remote host closed the connection]
<lkcl>
TorC, yehh silly that people do that...
<lkcl>
Necrosporus, you need to do some research. a _lot_ of research. that's just how things are with ARM having 1000+ separate companies licensing their design
<lkcl>
start with the name of the product
<lkcl>
if it's a common product someone is likely to have opened it up and possibly even done the 3 weeks to 2 years (not a joke) of reverse-engineering
leviathan has joined #arm-netbook
<Necrosporus>
Actually it turns out the SoC is listed here, it's called M6
<lkcl>
ok great. that's a start.
<lkcl>
however it doesn't actually help you as you also need the linux kernel to be hard custom configured SPECIFICALLY for that product. not the PROCESSOR, the PRODUCT
<Necrosporus>
http://linux-meson.com mentions the SoC to, saying that it's... not supported. Or rather it is but nothing works but console via uart
<lkcl>
it's not like in the x86 world
<Necrosporus>
I know that
<lkcl>
there are no standards, period.
<Necrosporus>
Now the question, how do I configure kernel for the board
<lkcl>
yyep. so now you're looking at somewhere between three weeks and 2 years of reverse-engieering
<Necrosporus>
It's TVbox, it has android pre-installed
<lkcl>
you start by disassembling the product or finding a schematic
<Necrosporus>
I did already disassemble it
<Necrosporus>
And assemble back
<lkcl>
or you track down the manufacturer and see if they have complied with the GPL
<Necrosporus>
I have found UART port
<Necrosporus>
I have boot logs from android
<lkcl>
that's a start. you'll at least be able to print out debug messages
<Necrosporus>
It has all the stuff about loading kernel and that
<lkcl>
great, that will get you linux kernel log messages which will tell you which drivers have been enabled
<lkcl>
i'm assuming that the manufacturer are criminals who haven't complied with the GPL
<lkcl>
so great: now you can grep a linux kernel source tree for those messages
<Necrosporus>
Well, I have no idea. Manufacturer has firmware binaries at least
<lkcl>
also, you MIGHT get lucky, if you can get to a boot prompt, and get /proc/config and other information
<lkcl>
binaries are fuck-all use if the manufacturers are criminals by not providing matching source
<Necrosporus>
I can get to boot prompts. There are two of them even
<lkcl>
excellent, so now you can do cat /proc/cpuinfo
<Necrosporus>
Nope
<lkcl>
cat /proc/meminfo
<Necrosporus>
it's BOOT prompth
<lkcl>
you can check what's in /lib/modules
<lkcl>
u-boot prompt or login prompt?
<Necrosporus>
I mean I can get to prompt which UART offers before kernel even starts loading
<Necrosporus>
Two bootloader prompts
<lkcl>
that's probably u-boot
<lkcl>
you'll need to google the strings coming up
<lkcl>
google is your friend here.
<Necrosporus>
one if you press any key immediately when it's turned on, other if you press a key after a couple of seconds
<Necrosporus>
two distinct consoles
<Necrosporus>
the second is u-boot
<Necrosporus>
first I don't know
<lkcl>
you can't expect people to act as a google proxy, you'll need to use google searches a lot, here
<Necrosporus>
Yeah, I know
<lkcl>
so, with a u-boot prompt you now know that you have control over the linux kernel boot params
<Necrosporus>
so, I'm telling what I found out for now
<lkcl>
so you can do "printenv" for example
<Necrosporus>
Yeah, I can try to load a kernel I build via that
<Necrosporus>
through tftp or something
<lkcl>
that will give you the boot parameters including the linux kernel boot..
<lkcl>
no it's more important than that
<lkcl>
you can modify the parameters to set "init=/bin/sh"
<Necrosporus>
Yeah, I can do that too
<lkcl>
or similar for android
<Necrosporus>
Oh, but is there /bin/sh in android?
<lkcl>
that will bypass the root login
<Necrosporus>
I guess it's /system/bin/sh
<lkcl>
you'll have to find that out for yourself, i don't use android
<lkcl>
then you can get access to /proc
<lkcl>
and if you are REALLY lucky they MIGHT have compiled the kernel with the option which puts all the CONFIG_XXX options into it
<Necrosporus>
lkcl, if you are talking about getting into console it isn't hard. The default firmware uses heavily outdated android 4.0.4 so it can be cracked by installing an app in a second
<lkcl>
but some embedded systems take that out to save space
<lkcl>
ok great.
<lkcl>
that's easier :)
<lkcl>
you want cat /proc/version
<lkcl>
and to find out what modules are there
<lkcl>
and "lift" the linux kernel binary off the device for analysis
<Necrosporus>
Wait just a sec, I will try to install a terminal to it
<lkcl>
don't trust whatever shit-firmware was "released", it is likely to be different
<Necrosporus>
I guess I won't even need a crack
<lkcl>
i really don't like that word, it implies you're doing something wrong / illegal / criminal.
<lkcl>
this is your own legitimately-purchased personally-owned hardware
<Necrosporus>
Actually it's not :)
<lkcl>
haha
<Necrosporus>
But I don't think it's criminal
<Necrosporus>
Because crack a nut isn't illegal right?
<lkcl>
oh right, yeah... well... the word's meaning changes when it comes to computer contexts
<lkcl>
anyway... having done this 9 times in a row for different NTC devices, back in 2003, and having spent 2 YEARS not getting anywhere, i don't do this kind of stuff any more, it's genuinely a waste of time
<Necrosporus>
anyway, I think it should be easy to get root in android. I could use init= or I can install some terminal app and see what it gets, it might give access to /proc even w/o root
<lkcl>
yep it will
<Necrosporus>
and even if it can't I can always install some android app which exploits vulnerabilities to get instant root
<Necrosporus>
and it could also have ADB enabled
<lkcl>
the project i'm doing, Necrosporus, is to empower people so that they don't have to fuck about like this, wasting weeks to years of their lives.
<Necrosporus>
And last but not least I can modify firmware image which gets flashed into the device from SD card
<lkcl>
but i'm mentioning that because you need to understand that it's not fun for me to explain this stuff to you
<lkcl>
yes, that would work well.
<lkcl>
you could also modify the root= parameter to get it to external boot a better OS
<lkcl>
debian should work straight away for example, as it's not dependent on the hardware.
<Necrosporus>
I know, I have other ARM devices
<lkcl>
grab any root filesystem from anywhere
<lkcl>
there you go
<lkcl>
you'll have an easier time of it rather than fucking around with android
<lkcl>
lsusb, etc. etc.
<lkcl>
instead of a half-broken reimplementation of busybox
<Necrosporus>
OK, I guess I got an idea what I can do, thank you.
<Necrosporus>
if you mean toybox it's not there yet, because android 4.0
<lkcl>
anything android-related i would consider to be pretty useless.
<lkcl>
oh - you _can_ do pivot_root to swap over to sd-card debian oses
<lkcl>
if you can get to a root prompt
<lkcl>
or chroot it.
isacdaavid has quit [Quit: Leaving.]
oaken-source has joined #arm-netbook
infobot has quit [Ping timeout: 256 seconds]
oaken-source has quit [Ping timeout: 256 seconds]
oaken-source has joined #arm-netbook
<Necrosporus>
lkcl, actually it turns out that I get right to the shell without login prompt when I attach UART and let it boot fully
<Necrosporus>
and su does not ask the password but brings root shell immediately
<Necrosporus>
It's official firmware for the device
<Necrosporus>
Hmph, it seems that the device is ext2 and I was trying to mount it as ext3,
qweo has quit [Quit: Good luck! And may the Net prevail!]
<Necrosporus>
OK, it was ext2, I forgot about that. That's why it cannot mount it as ext3
<Necrosporus>
Though the system does not work anyway I guess I need another one
<lkcl>
Necrosporus, cool! grab that /proc/config.gz because along with /proc/version you actually stand a chance of compiling your own kernel
leviathan has joined #arm-netbook
leviathan has quit [Client Quit]
leviathan has joined #arm-netbook
<Necrosporus>
How does /proc/version help? It is 2.6.34 something
<Necrosporus>
Linux version 2.6.34V2.0.0-166-g584fce8 (luoj@ubtsvr) (gcc version 4.4.1 (Sourcery G++ Lite 2010q1-202) ) V2.0.0-166-g584fce8(20130124.190554)
<Necrosporus>
lkcl, and what does it give to me?
<Necrosporus>
extracting config.gz is a bit trickier but I think I can do it
<Necrosporus>
Just need to mount external storage and copy there
<Necrosporus>
There is sadly no program to send file over serial
opbolt has joined #arm-netbook
diarything has quit [Ping timeout: 260 seconds]
<lkcl>
Necrosporus, now you can google that.
<lkcl>
Necrosporus, yyyep
<lkcl>
Necrosporus, actually there is: two options, an old program called "kermit" and you can always use pppd
<lkcl>
but microsd is way better
<Necrosporus>
yes, I know that kermit exists, I meant that it's not present in built-in android
<Necrosporus>
Also sz / rz
<lkcl>
cool! last used it in 1989! cool!
<Necrosporus>
Well, I have used it to upload kernel to u-boot on my router and it worked, but slower than tftp