<commit_before>T-Vone Part 1
==============


*400mhz ARM processor?*

*128MB RAM?*

*USB port, SD card slot?*

*640x480 LCD?*

For less than $4?


Yes, okay, I'll take it.

What this device is is an ACN Iris 3000; a deprecated SIP video phone produced by a shady company with less than great service.
But really, who cares? It uses an armv5 CPU (ARM926EJ-S) running some weird version of Linux (2.6.22.6) and has support for external storage, so naturally, it's begging to be put to a purpose which isn't calling people from one's cubicle.

One can connect to its WLAN port with an ethernet cable and assign it an IP (or use iptables to forward your internet connection to it, 
in which case I believe it will give itself an IP) and then telnet in with username/password root/root.

So, long story short, busybox sucks. This system has a lot of functionality but it doesn't have a package manager or any way to compile things, 
so I wanted a full distribution. Debian seemed to fit the bill. Therefore, I went about creating a Debian ARM (armel) image with qemu.
Note: Try to use a kernel as close to the kernel on your phone as possible. I tried using Debian Wheezy and chroot would not function, therefore I had to use Debian Squeeze.

 `$ qemu-img create -f qcow hda.img 10G `

 `$ wget http://ftp.de.debian.org/debian/dists/oldoldstable/main/installer-armel/current/images/versatile/netboot/initrd.gz`

 `$ wget https://people.debian.org/~aurel32/qemu/armel/vmlinuz-2.6.32-5-versatile`

 `$ wget https://people.debian.org/~aurel32/qemu/armel/initrd.img-2.6.32-5-versatile`

 `$ qemu-system-arm -M versatilepb -kernel vmlinuz-2.6.32-5-versatile -initrd initrd.img-2.6.32-5-versatile -hda hda.img -append "root=/dev/sda1"`


Wait for the system to boot, then follow through with the installation process; most mirrors will fail, but I found Uzbekistan still has proper Debian Squeeze repos so that should work.
if networking doesn't just work, try:


 `$ sudo qemu-system-arm -M versatilepb -kernel vmlinuz-2.6.32-5-versatile -initrd initrd.gz -hda hda.img -append "root=/dev/ram" -net nic -net tap,ifname=tap0,script=no,downscript=no`

 
Then after the system boots, add tap0 and ethernet to a bridge:

 `$ sudo brctl addif br0 eth0`

 `$ sudo brctl addif br0 tap0`

 
I also have NAT / internet sharing set up via iptables as explained in the Arch Wiki "Internet Sharing" article.
You can check if you're actually transferring data with the nload utility (or whatever else you want to use).

You can install, compile, and whatever else you want to do now, or if you'd rather do it natively on the phone, you can just shut down qemu.
After this is installed, you're going to want to format your media (I used a USB stick) as a blank ext3 partition. I used gparted for sake of laziness.

Then you'll want to convert your qemu image to a raw one:

 `$ qemu-img convert hda.img -O raw hda.img.raw`


Then you should be able to view/verify its partitions with fdisk -l. For some reason, dd seems to fail, so I mounted the paritions to /dev/mapper with kpartx like so:

 `$ sudo kpartx -av hda.img.raw`

 `$ sudo mount /dev/mapper/loop0p1 /mnt/tmp`

 (of course, your exact loop device will vary, just look at the partitions to see which you should mount.)

 Then we can finally transfer everything over to the USB stick:

 `$ sudo rsync -av /mnt/tmp /mnt/usb`

 
Once you insert this into the phone, it will automount (in the case of a USB stick) to /mnt/usb. I believe the SD card will automount to /mnt/sd, but I haven't verified this.

In order to use your newly set up Debian system, you'll need to do the following (on the phone), where you're likely logged in as root:


 `# cd /mnt/usb`

 `# mkdir oldroot`

 `# pivot_root . oldroot/`

 `# chroot . /bin/bash`


And then, after all that, this should get you into a bash shell where you can have all the fun you'd like. Personally, I installed a tiling window manager, thought I have yet to test it with a keyboard.

![ACN Iris 3000, rice edition](/assets/vone1.jpg)

Once I play around with it more and see what I can get running on it, I'll post an update.
<commit_msg>more edits<commit_after>T-Vone Part 1
==============


*400mhz ARM processor?*

*128MB RAM?*

*USB port, SD card slot?*

*640x480 LCD?*

For less than $4?


Yes, okay, I'll take it.

What this device is is an ACN Iris 3000; a deprecated SIP video phone produced by a shady company with less than great service.
No, of course I don't intend to use it as advertised. It uses an armv5 CPU (ARM926EJ-S) running some GPL-violating version of Linux (2.6.22.6) with closed-source modules and has support for external storage, so naturally, it's begging to be put to a purpose which isn't calling people from one's cubicle.

One can connect to its WLAN port with an ethernet cable and assign it an IP (or use iptables to forward your internet connection to it, 
in which case I believe it will give itself an IP) and then telnet in with username/password root/root.

So, long story short, busybox sucks. This system has a lot of functionality but it doesn't have a package manager or any way to compile things, 
so I wanted a full distribution. Debian seemed to fit the bill. Therefore, I went about creating a Debian ARM (armel) image with qemu.
Note: Try to use a kernel as close to the kernel on your phone as possible. I tried using Debian Wheezy and chroot would not function, therefore I had to use Debian Squeeze.

 `$ qemu-img create -f qcow hda.img 10G `

 `$ wget http://ftp.de.debian.org/debian/dists/oldoldstable/main/installer-armel/current/images/versatile/netboot/initrd.gz`

 `$ wget https://people.debian.org/~aurel32/qemu/armel/vmlinuz-2.6.32-5-versatile`

 `$ wget https://people.debian.org/~aurel32/qemu/armel/initrd.img-2.6.32-5-versatile`

 `$ qemu-system-arm -M versatilepb -kernel vmlinuz-2.6.32-5-versatile -initrd initrd.img-2.6.32-5-versatile -hda hda.img -append "root=/dev/sda1"`


Wait for the system to boot, then follow through with the installation process; most mirrors will fail, but I found Uzbekistan still has proper Debian Squeeze repos so that should work.
if networking doesn't just work, try:


 `$ sudo qemu-system-arm -M versatilepb -kernel vmlinuz-2.6.32-5-versatile -initrd initrd.gz -hda hda.img -append "root=/dev/ram" -net nic -net tap,ifname=tap0,script=no,downscript=no`

 
Then after the system boots, add tap0 and ethernet to a bridge:

 `$ sudo brctl addif br0 eth0`

 `$ sudo brctl addif br0 tap0`

 
I also have NAT / internet sharing set up via iptables as explained in the Arch Wiki "Internet Sharing" article.
You can check if you're actually transferring data with the nload utility (or whatever else you want to use).

You can install, compile, and whatever else you want to do now, or if you'd rather do it natively on the phone, you can just shut down qemu.
After this is installed, you're going to want to format your media (I used a USB stick) as a blank ext3 partition. I used gparted for sake of laziness.

Then you'll want to convert your qemu image to a raw one:

 `$ qemu-img convert hda.img -O raw hda.img.raw`


Then you should be able to view/verify its partitions with fdisk -l. For some reason, dd seems to fail, so I mounted the paritions to /dev/mapper with kpartx like so:

 `$ sudo kpartx -av hda.img.raw`

 `$ sudo mount /dev/mapper/loop0p1 /mnt/tmp`

 (of course, your exact loop device will vary, just look at the partitions to see which you should mount.)

 Then we can finally transfer everything over to the USB stick:

 `$ sudo rsync -av /mnt/tmp /mnt/usb`

 
Once you insert this into the phone, it will automount (in the case of a USB stick) to /mnt/usb. I believe the SD card will automount to /mnt/sd, but I haven't verified this.

In order to use your newly set up Debian system, you'll need to do the following (on the phone), where you're likely logged in as root:


 `# cd /mnt/usb`

 `# mkdir oldroot`

 `# pivot_root . oldroot/`

 `# chroot . /bin/bash`


And then, after all that, this should get you into a bash shell where you can have all the fun you'd like. Personally, I installed a tiling window manager, thought I have yet to test it with a keyboard.

![ACN Iris 3000, rice edition](/assets/vone1.jpg)

Once I play around with it more and see what I can get running on it, I'll post an update.

{'fraction_non_alphanumeric': 0.08067812913310088, 'fraction_numerical': 0.017554406637008538, 'mean_word_length': 3.7127478753541077, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 4, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 2, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '221281', 'n_tokens_mistral': 2779, 'n_tokens_neox': 2532, 'n_words': 1271}