Jailbroken iPod Touch 3rd gen

May 23, 2010 at 15:58 | Posted in Adventures | Leave a comment
Tags: , , , ,

I know I was really nervous about this beforehand, and it’s hard to find the answers with google, etc. So here’s what happened.

I used the Spirit jailbreaking software. You might ask me why I didn’t use blackra1n, and the answer is that I didn’t feel comfortable using software that looks like it was developed by a 14-year-old 1337 h4xx0r after school. That, and the fact that there are many horrible comments on blog posts that advocate blackra1n, complaining about how it didn’t work, and their ipod is stuck at a blank screen, or such.

I ran the Spirit executable file, pressed “Jailbreak” when the program said it was ready and my ipod was plugged in, and a few seconds later, it said it was done, and gave me a “quit” button.

When I quit, my ipod was showing this space-y background and had a thin progressbar. When the progressbar was full, it gave me my familiar “slide to unlock” page with my wallpaper and password, and everything looked exactly the same as before, except now I have a new application called “Cydia”.

I loaded up Cydia, it said it was “reorganizing” and would automatically close when it was done. Well, I left it alone and when I turned the screen back on, and loaded back into Cydia, it gave me 3 filter options based on your user knowledge (regular user, hacker, developer). I picked developer, and then it told me that one or more of my essential packages were out of date, or something. So I told it to do a complete update, and it updated some library packages and the base cydia installer package. It finished, I pressed the “restart” prompt it gave me, loaded Cydia back up, and it told me what my “ECID” was, and why it’s important. “Apple uses this identifier in its software verification process … You need to trick Apple into letting you keep using old software.” And then gave me an option to either use Cydia’s method of tricking Apple, or not. I’m picking the option that says “Make my life easier, thanks!”

And now I am finally at the Cydia repository for downloading new applications. It looks pretty much exactly the same as the website. In fact I can’t find any differences, except that the website is buggy as hell and not exactly designed intuitively for the internet.

I just installed my first application, OpenSSH, and the package management system is clearly heavily debian-based. The rest of Cydia seems downhill from here, so good luck!

Optimizing Slackware

April 29, 2010 at 12:50 | Posted in Adventures | Leave a comment
Tags: , , , , , ,
  1. Disable whatever services you don’t need starting in /etc/rc.d by removing execute permissions (chmod -x)
  2. Compile custom kernel with only support for what you need
  3. Disable additional unnecessary virtual consoles (CTRL-ALT-F1,F2,F3,etc) in /etc/inittab
  4. Use a lightweight desktop environment such XFCE/LXDE/Openbox
  5. Move /tmp folder to memory if you have plenty of RAM by adding “tmpfs /tmp tmpfs defaults,noexec,nosuid 0 0” to your /etc/fstab

More later if I feel like it. I’ve read a bit about concurrent b0oting in Ubuntu, I’d like to find a way to achieve this in Slack. I <3 my quad-core.

libpng

December 11, 2009 at 20:43 | Posted in Adventures | Leave a comment
Tags: , ,

While compiling nitrogen, I hit an error:

g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include   -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12   -I/usr/include/gtkmm-2.4 -I/usr/lib64/gtkmm-2.4/include -I/usr/include/glibmm-2.4 -I/usr/lib64/glibmm-2.4/include -I/usr/include/giomm-2.4 -I/usr/lib64/giomm-2.4/include -I/usr/include/gdkmm-2.4 -I/usr/lib64/gdkmm-2.4/include -I/usr/include/pangomm-1.4 -I/usr/include/atkmm-1.6 -I/usr/include/gtk-2.0 -I/usr/include/sigc++-2.0 -I/usr/lib64/sigc++-2.0/include -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/lib64/gtk-2.0/include -I/usr/include/cairomm-1.0 -I/usr/include/pango-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/atk-1.0   -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -DNITROGEN_DATA_DIR=\”/usr/local/share/nitrogen\”    -g -O2 -MT Thumbview.o -MD -MP -MF .deps/Thumbview.Tpo -c -o Thumbview.o Thumbview.cc
In file included from /usr/include/libpng12/png.h:506,
from Thumbview.cc:26:
/usr/include/libpng12/pngconf.h:371: error: expected constructor, destructor, or type conversion before ‘.’ token
/usr/include/libpng12/pngconf.h:372: error: ‘__dont__’ does not name a type
make[2]: *** [Thumbview.o] Error 1
make[2]: Leaving directory `/home/susie/tocompile/nitrogen-1.4/src’
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/susie/tocompile/nitrogen-1.4′
make: *** [all] Error 2

So I went to /usr/include/libpng12/pngconf.h:372 and found this:

/* If you encounter a compiler error here, see the explanation
* near the end of INSTALL.
*/
__pngconf.h__ in libpng already includes setjmp.h;
__dont__ include it again.;

so I found the INSTALL file associated with libpng (/usr/doc/libpng-1.2.37/INSTALL):

If you encounter a compiler error message complaining about the
lines
__png.h__ already includes setjmp.h;
__dont__ include it again.;
This means you have compiled another module that includes setjmp.h,
which is hazardous because the two modules might not include exactly
the same setjmp.h.  If you are sure that you know what you are doing
and that they are exactly the same, then you can comment out or
delete the two lines.  Better yet, use the cexcept interface
instead, as demonstrated in contrib/visupng of the libpng distribution.

Further information can be found in the README and libpng.txt
files, in the individual makefiles, in png.h, and the manual pages
libpng.3 and png.5.

Thank god some developers like leaving me clues. Too bad I have no idea what “compiling another module that includes setjmp.h” means. This means I’m left with only one option to try: commenting out the lines anyway. It’ll probably work, so here goes.

Dual-booting Mac OSX Snow Leopard and Windows 7

December 11, 2009 at 18:50 | Posted in Adventures | Leave a comment
Tags: , , , ,

A dear acquaintance of mine happens to have the some of the exact hardware in the guide he stumbled upon for installing Mac OS Snow Leopard on a non-apple computer. So, I’m the linux aficionado who will be assisting him in his project. Ironic, right? Well, I plan to help him out this weekend and I want to get my plan outlined somewhere I can reference it.

  1. Windows 7 is installed on first hard drive
  2. Install Snow Leopard on second hard drive
  3. Make Snow Leopard drive the master drive or give boot priority
  4. load Ubuntu live CD and install GRUB to snow leopard drive

I’m wondering if this last part is going to work. It’s a complete shot in the dark for me. Can you run grub from a non-linux partition? Is that okay? The files will be in /boot/grub on the Mac drive, so, I guess I don’t see any reason it shouldn’t work, because it doesn’t need to load up a linux environment to work, obviously, right? Well, who knows. We’ll find out when I try.

Chameleon bootloader also looks relevant to my interests. I’m researching now.

Okay, alternately for step 4, I could try installing Chameleon on Snow Leopard after it’s installed. However I have zero experience with it and it seems to be somwhat poorly documented.

Normal Install (non-RAID):
————————–

Suppose that your installation is on /dev/disk0s2

- Install boot0 to the MBR:
fdisk -f boot0 -u -y /dev/rdisk0

- Install boot1h to the partition’s bootsector:
dd if=boot1h of=/dev/rdisk0s2

- Install boot to the partition’s root directory:
cp boot /

No need to use startupfiletool anymore!

I have no idea what it means by not needing to use startupfiletool anymore, because it doesn’t reference that anywhere else in the README file that quote is extracted from. Perhaps it’s some type of “Mac” thing. I really hope I can compile Chameleon from source the same way I compile things in linux…

I’d like to plan what type of things I will do with the configuration files, but I really have no clue, so I’ll just have to poke around once it’s installed and hope my boyfriend doesn’t get frustrated with my tinkering ;_;


So it turns out we never got to the point where we setup the dual-bootage, because we both hated Snow Leopard so much that after hours of getting it to install, we immediately reformatted. Ha, ha, ha.

Cygwin

November 10, 2009 at 13:50 | Posted in Adventures | 3 Comments
Tags:

I’ve installed it again, with a purpose this time. I want to move this giant 6GB iso file over to my external to make space, but of course the external is FAT32 and can’t handle that file size. So, in linux, I would simply split the file into smaller chunks with `split`, to be reassembled with `cat` later, but… What am I supposed to in Windows? Download some shady file-splitting software? No thanks.

Well, to my satisfaction, I am now successfully splitting the file with `split` under cygwin. Cygwin has proved it’s potential and usefulness to me, so I will give it another try. ;)

Speech Recognition

October 30, 2009 at 00:47 | Posted in Adventures | 4 Comments
Tags: , , , , , ,

Upon researching speech recognition software for linux (“Computer, open firefox!”), I’ve found that most projects are extremely outdated, nonfunctional, or achieve nothing for the regular end-user. Actually, I’ve found all projects to be at one of these three, so if there’s one I missed, give me a shout.

However, xvoice and CVoiceControl were the two outdated finalists. Xvoice requires the commercial product by IBM, ViaVoice, so I am torrenting my copy now. However, while we wait, I’ve installed CVoiceControl!

I’ve also already hit my first error:

bash-3.1$ microphone_config
No mixer devices available!
Please purchase a sound card and install it!

*facepalm*

First, the tool generates a list of available mixer and audio devices. If the tool fails at this time, it is because it could not find any appropriate mixer and/or audio devices in your system. In this case, make sure that your sound device is installed correctly and that your sound driver is working properly.

My sound driver is actually working fine, thank you, I am enjoying my The Cure. In the file microphone_config.c in the source code, I find:

/* ***** detect available mixer devices */

mixer_devices = scanMixerDevices();
if (mixer_devices == NULL || mixer_devices->count == 0)
{
/* ***** no mixer devices available -> exit! */

fprintf(stderr, “No mixer devices available!\n”);
fprintf(stderr, “Please purchase a sound card and install it!\n”);
exit(-1);

And in the file mixer.c I find:

MixerDevices *scanMixerDevices()
{
int i,j;            /***** counter variables */
int mask_mixer, fd; /***** mixer device related variables */
glob_t result;      /***** result of the glob() call */

MixerDevices *devices; /***** temporary variable */

/***** get a list of device names that fit the pattern /dev/mixer* */

if (glob(“/dev/mixer*”, 0, NULL, &result) != 0)
return NULL;
if (result.gl_pathc < 1)
return NULL;

I don’t speak C, but it looks like it’s looking for my mixer at /dev/mixer*.

bash-3.1$ ls /dev|grep mix
mixer
bash-3.1$ file /dev/mixer
/dev/mixer: character special (14/0)

Well, it looks like I have a /dev/mixer file, but what is going wrong here? Okay, so this is what glob means… Perhaps it’s expecting a /dev/mixer0 or /dev/mixer1. I’m sure it won’t hurt to make a symlink.

bash-3.1$ sudo ln -T /dev/mixer /dev/mixer0 –symbolic
Password:
bash-3.1$ microphone_config
No mixer devices available!
Please purchase a sound card and install it!

No go. Well those are the only two instances that return NULL to give me that error… This is getting on my nerves.

 


 

Alright, I’ve tested my mic in audacity, and it can, in fact, record things. I thought perhaps my mixer wasn’t being added to the mixer count variable here, though:

for (i = 0, j = 0; i < result.gl_pathc; i++)
{
/***** scan abilities of current mixer device */

if ((fd = open(result.gl_pathv[i], O_RDWR, 0)) != -1       &&
ioctl(fd, SOUND_MIXER_READ_DEVMASK, &mask_mixer) != -1 &&
(mask_mixer & SOUND_MASK_MIC)   &&
/* (mask_mixer & SOUND_MASK_IGAIN) && */
ioctl(fd, SOUND_MIXER_READ_RECMASK, &mask_mixer) != -1 &&
(mask_mixer & SOUND_MASK_MIC))
{
/***** if mixer device looks ok add it to the list */

devices->name[j] = malloc(strlen(result.gl_pathv[i])-5+1);
strcpy(devices->name[j], result.gl_pathv[i]+5);
j++;
}

close(fd);
}

So I researched programming with /dev/mixer, and tweaked myself a handy little test program:

#include <unistd.h>   /*I just made sure I had all the same includes as mixer.c did*/
#include <stdlib.h>
#include <stdio.h>
#include <sys/ioctl.h>
#include <fcntl.h>
#include <sys/soundcard.h>

int main()

{

int fd;
int devmask;
int recmask;

ioctl(fd, SOUND_MIXER_READ_DEVMASK, &devmask);
if (devmask & SOUND_MASK_MIC)
printf(“The mic input is supported\n”);

ioctl(fd, SOUND_MIXER_READ_RECMASK, &recmask);
if (recmask & SOUND_MASK_MIC)
printf(“The mic input can be a recording source\n”);

return 0;

}

When I use SOUND_MASK_CD like the example on the linked page, I get:

bash-3.1$ ./a.out
The CD input is supported
The CD input can be a recording source

But when I use SOUND_MASK_MIC like in the mixer.c file, I only get:

bash-3.1$ ./a.out
The mic input can be a recording source

So what does this mean? My mic is really not supported? It seems to work fine under Audacity. Well, here are my relevant entries from $amixer:

Simple mixer control ‘Front Mic’,0
Capabilities: pvolume pswitch
Playback channels: Front Left – Front Right
Limits: Playback 0 – 31
Mono:
Front Left: Playback 31 [100%] [12.00dB] [on]
Front Right: Playback 31 [100%] [12.00dB] [on]

Simple mixer control ‘CD’,0
Capabilities: pvolume pswitch
Playback channels: Front Left – Front Right
Limits: Playback 0 – 31
Mono:
Front Left: Playback 31 [100%] [12.00dB] [on]
Front Right: Playback 31 [100%] [12.00dB] [on]

Simple mixer control ‘Mic’,0
Capabilities: pvolume pswitch
Playback channels: Front Left – Front Right
Limits: Playback 0 – 31
Mono:
Front Left: Playback 31 [100%] [12.00dB] [on]
Front Right: Playback 31 [100%] [12.00dB] [on]

Simple mixer control ‘Capture’,0
Capabilities: cvolume cswitch
Capture channels: Front Left – Front Right
Limits: Capture 0 – 54
Front Left: Capture 39 [72%] [0.00dB] [on]
Front Right: Capture 39 [72%] [0.00dB] [on]

Simple mixer control ‘Capture’,1
Capabilities: cvolume cswitch
Capture channels: Front Left – Front Right
Limits: Capture 0 – 54
Front Left: Capture 39 [72%] [0.00dB] [on]
Front Right: Capture 39 [72%] [0.00dB] [on]

Simple mixer control ‘Input Source’,0
Capabilities: cenum
Items: ‘Front Mic’ ‘Mic’ ‘CD’ ‘Mix’
Item0: ‘Front Mic’

Simple mixer control ‘Input Source’,1
Capabilities: cenum
Items: ‘Front Mic’ ‘Mic’ ‘CD’ ‘Mix’
Item0: ‘Front Mic’

I wonder.

‘uname -r’ gives incorrect kernel model

September 30, 2009 at 19:36 | Posted in Adventures | Leave a comment
Tags: , ,

Well, this was just stupidity on my part, but just in case anyone is as thick-skulled as I am, here’s what happened.

I had lilo installed on the MBR, pointing to my Slack 12.2 install. I installed Slack 13.0, installed lilo with it, and did the config wizard on the install disk to automatically add the Slack 12.2 entry.

Upon booting the Slack 12.2 partition, I got a shitload of errors, one of which being that a module-updating script couldn’t find the directory it needed. (This was because the script pointed to ?/path/to/(uname -r)”)

Nothing worked, I couldn’t boot Slack 12.2. I realised after excessive error-googling that Slack 13.0 was using it’s own kernel, a slightly newer model, when booting Slack 12.2, so none of the files corresponding to that kernel existed (on top of it probably being a 64-bit kernel).

TLDR, I made a quick-fix and copied the Slack 12.2 kernel files over Slack 13.0 and told the lilo.conf to use those ones instead.

For some reason, I couldn’t figure out how to get LILO to use the kernel files ON that partition, and could only use files on my root partition. I know in grub, you just write:

kernel (hdx,y)/boot/vmlinuz

where (hdx,y) is the partition on which to look for the file /boot/vmlinuz.

Oh well! It’s working now, and it boots, so that’s what counts.

sometimes I really hate wine.

September 13, 2009 at 16:28 | Posted in Adventures | Leave a comment
Tags:

bash-3.1$ wine Launcher.exe
err:module:load_builtin_dll failed to load .so lib for builtin L"winex11.drv": libuuid.so.1: cannot open shared object file: No such file or directory
err:module:load_builtin_dll failed to load .so lib for builtin L"winex11.drv": libuuid.so.1: cannot open shared object file: No such file or directory
err:module:load_builtin_dll failed to load .so lib for builtin L"winex11.drv": libuuid.so.1: cannot open shared object file: No such file or directory
err:module:load_builtin_dll failed to load .so lib for builtin L"winex11.drv": libuuid.so.1: cannot open shared object file: No such file or directory
Application tried to create a window, but no driver could be loaded.
Unknown error (127).
err:ole:OLEPictureImpl_LoadJpeg Trying to load JPEG picture, but JPEG supported not compiled in.
err:ole:OleLoadPicture IPersistStream_Load failed
Application tried to create a window, but no driver could be loaded.
Unknown error (127).

bash-3.1$ sudo ldd /usr/lib/wine/winex11.drv.so
linux-gate.so.1 => (0xffffe000)
libSM.so.6 => /usr/lib/libSM.so.6 (0xf7ecd000)
libICE.so.6 => /usr/lib/libICE.so.6 (0xf7eb5000)
libXext.so.6 => /usr/lib/libXext.so.6 (0xf7ea7000)
libX11.so.6 => /usr/lib/libX11.so.6 (0xf7d8c000)
libwine.so.1 => /usr/lib/libwine.so.1 (0xf7c50000)
libm.so.6 => /lib/libm.so.6 (0xf7c2a000)
libc.so.6 => /lib/libc.so.6 (0xf7aca000)
libuuid.so.1 => not found
libxcb.so.1 => /usr/lib/libxcb.so.1 (0xf7ab2000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xf7aac000)
libdl.so.2 => /lib/libdl.so.2 (0xf7aa8000)
libXau.so.6 => /usr/lib/libXau.so.6 (0xf7aa5000)
/lib/ld-linux.so.2 (0xf7f98000)

bash-3.1$ stat /usr/lib/wine/libuuid.so.1
File: `/usr/lib/wine/libuuid.so.1‘ -> `/slack32/lib/libuuid.so.1
Size: 25 Blocks: 0 IO Block: 4096 symbolic link
Device: 804h/2052d Inode: 261824 Links: 1
Access: (0777/lrwxrwxrwx) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2009-09-13 16:17:22.878130116 -0400
Modify: 2009-09-13 16:17:22.878130116 -0400
Change: 2009-09-13 16:17:22.878130116 -0400

bash-3.1$ stat /slack32/lib/libuuid.so.1
File: `/slack32/lib/libuuid.so.1‘ -> `libuuid.so.1.2
Size: 14 Blocks: 0 IO Block: 4096 symbolic link
Device: 802h/2050d Inode: 1097773 Links: 1
Access: (0777/lrwxrwxrwx) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2009-09-13 15:38:50.000000000 -0400
Modify: 2009-07-11 16:18:44.000000000 -0400
Change: 2009-07-11 16:18:44.000000000 -0400

bash-3.1$ stat /slack32/lib/libuuid.so.1.2
File: `/slack32/lib/libuuid.so.1.2′
Size: 11552 Blocks: 24 IO Block: 4096 regular file
Device: 802h/2050d Inode: 1097771 Links: 1
Access: (0755/-rwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2009-09-13 15:38:50.000000000 -0400
Modify: 2008-10-18 14:41:58.000000000 -0400
Change: 2009-07-11 16:18:44.000000000 -0400

XFCE settings

September 12, 2009 at 14:51 | Posted in Adventures | Leave a comment
Tags: , , , ,

I’ve found out why xfce-mcs-manager doesn’t work in Slackware 13.0 with openbox, despite XFCE being shipped with it. It’s been replaced with xfconfd, which I’ve yet to figure out how to use. I’ve written an LQ post about it. So far, no luck except being able to change the default terminal in xfce4-settings-manager from xterm or whatever to roxterm.

No themes or icons yet. :(

Ndiswrapper kernel oops :(

September 3, 2009 at 16:57 | Posted in Adventures | Leave a comment
Tags: , , , , , ,

My new 64-bit slackware is having internet/ndiswrapper problems. Namely, a kernel oops that kills ndiswrapper and in turn, my internet connection, as quickly as 1-10 minutes after bootup.

However, I read this guy seems to be using my current wireless adapter (WUSB600N) with success using open-source drivers! It seems to be the source inside the tarball, so here’s hoping it will compile correctly as 64-bit and work natively.

Update –

Well, I’ve compiled and configured the driver module, and I have good news and bad.

First, I’d like to note that the driver is hardly user-friendly, and requires manual editting of the makefiles before compiling. The regular `make` compile needs to be done as superuser, or else it fails (because it makes files in the root directory), and then the readme asks you to copy a .dat file to /etc/Wireless/RT-something (which means you have to make those directories first). I don’t see the point in copying that file over there yet, anyways, because I insert the module directly from the make’d source.

The good news, however, is that it works! I’m connected to the neighbor’s internet right now. Why, you ask, my neighbor’s internet? Because I kept getting timeouts on my home encrypted network (WEP as far as I remember). This (unsecure) one connected right away, however, which leads me to believe that I configured the makefile incorrectly before compiling. The readme was a little confusing. But, there were two options, so I suppose I’ll just go back and pick the other one, and recompile (hopefully with WEP support this time).

Next Page »

Blog at WordPress.com. | Theme: Pool by Borja Fernandez.
Entries and comments feeds.

Follow

Get every new post delivered to your Inbox.