http://wiki.webos-internals.org/api.php?action=feedcontributions&user=Hopspitfire&feedformat=atomWebOS Internals - User contributions [en]2024-03-28T09:00:31ZUser contributionsMediaWiki 1.35.1http://wiki.webos-internals.org/index.php?title=Talk:Xorg_Tools_-_Power_Tools_for_Power_Users&diff=10215Talk:Xorg Tools - Power Tools for Power Users2010-06-09T00:00:46Z<p>Hopspitfire: Xorg (XT) vs. X.Org notice</p>
<hr />
<div>== Discussion ==<br />
<br />
A PreCentral thread will soon be created, post feedback here for now.<br />
<br />
=== Xorg (XT) vs. X.Org ===<br />
<br />
Please insert a notice at the top differentiating XT from X.Org (it can be misleading for people expecting an article on X11 GUI support). [[User:Hopspitfire|hopspitfire]] 00:00, 9 June 2010 (UTC)<br />
<br />
== Suggestions/Feature Requests ==<br />
<br />
Please post suggestions or feature requests here.<br />
<br />
== Issues ==<br />
<br />
Please post issues here.</div>Hopspitfirehttp://wiki.webos-internals.org/index.php?title=Facebook_timezone_issue&diff=10214Facebook timezone issue2010-06-08T23:56:32Z<p>Hopspitfire: Reverted: creating a page, then moving all the content to a blog isn't polite.</p>
<hr />
<div>== Introduction ==<br />
<br />
As at version 1.3.1, Synergy and the Pre doesn't display Facebook event times right. This is, in my opinion, due to an error on both the part of Facebook, and Palm.<br />
<br />
Mostly Facebook.<br />
<br />
== The definition of Unix epoch time ==<br />
<br />
Wikipedia rightly defines [http://en.wikipedia.org/wiki/Unix_time Unix epoch time] as:<br />
<br />
:'''''Unix time''', or '''POSIX time''', is a system for describing points in time, defined as the number of seconds elapsed since midnight Proleptic Coordinated Universal Time (UTC) of January 1, 1970, not counting leap seconds.''<br />
<br />
The key point here is that an epoch timestamp is in ''UTC time''.<br />
<br />
== How Facebook does event times ==<br />
<br />
As per http://wiki.developers.facebook.com/index.php/Events.get:<br />
<br />
:''Note that the <tt>start_time</tt> and <tt>end_time</tt> returned are the times which were input by the event creator, converted to UTC after assuming that they were in Pacific time (Daylight Savings or Standard, depending on the date of the event), then converted into Unix epoch time.''<br />
<br />
... Pacific time being GMT-8.<br />
<br />
Why they assume this PST timezone, who knows... their backend seems to be smart enough to work out what timezone a typical browser session is in (I'm assuming via +/- offsets in <tt>Date:</tt> HTTP requests), so why not use that when an event is submitted, convert down to UTC at ''that'' time, and all is well!<br />
<br />
Instead, they do it this way, and do some crazy magic when others view the event. This is where I say Palm is partly at fault -- because they haven't put this same magic in. They shouldn't ''have'' to though.<br />
<br />
== What WebOS does ==<br />
<br />
It would seem the Pre assumes that the <tt><start_time></tt> and <tt><end_time></tt> are in UTC via a Unix epoch timestamp -- very fair logic in my opinion, as this is what Facebook ''should'' be returning via its API. Instead, it seems to return <tt>local_time_of_event</tt>+8. Bizarre.<br />
<br />
Firstly, some definitions:<br />
<br />
;fb_stored_time<br />
:The time as stored internally on Facebook servers<br />
;epoch<br />
:Function to convert to Unix epoch time<br />
;UTC<br />
:Function to convert to UTC time<br />
;assumed_Pacific_time<br />
:Facebook being stupid and assuming the local time the creator entered is in Los Angeles -- ''yes America, we all live there''. This time can be affected by daylight saving, too<br />
<br />
So the math loosely looks like this:<br />
<br />
:<pre>fb_stored_time = epoch(UTC(assumed_Pacific_time))</pre><br />
<br />
''(To be continued, not finished.)''</div>Hopspitfirehttp://wiki.webos-internals.org/index.php?title=Template:Page-main&diff=8757Template:Page-main2010-01-29T19:45:23Z<p>Hopspitfire: Preware wasn't centered, the text underneath the image looks better anyway.</p>
<hr />
<div><table width="100%" cellspacing="10" cellpadding="0"><br />
<tr><br />
<td colspan="3" style="padding:10px;background-color:#FBE6FB;border-top:1px solid #999;border-left:1px solid #999;border-right:1px solid #333;border-bottom:1px solid #333;"><br />
<table width="100%" style="background-color:transparent;"><tr><br />
<td><br />
<div style="float:left;padding-right:10px;">[[Image:Icon_PDK.png|64px]]</div><br />
<div style="padding:5px 0 6px 0;font-size:26px;line-height:28px;">[[WebOS Internals PDK|WIDK]]</div><br />
<div style="padding-bottom:2px;">Develop native apps with the<br>Webos Internals Development Kit</div><br />
</td><br />
<td><br />
<td><div align="center">{{#icon:Icon_Preware.png|Preware|64|Portal:SDK}}<br />
<div style="padding:5px 0 6px 0;font-size:26px;line-height:28px;">[[Application:Preware|Preware]]</div><br />
<div style="padding-bottom:2px;">Install Application, Patches, and Themes</div><br />
</div><br />
</td><br />
<td><br />
<div align=right style="float:right;padding-left:10px;">{{#icon:Tux_with_Love.png |Suppport|48|WebOS_Internals:Site_support}}</div><br />
<div align=right style="padding:5px 0 6px 0;font-size:26px;line-height:28px;">[[WebOS_Internals:Site_support|Donations]]</div><br />
<div align=right style="padding-bottom:2px;">Show your support for our work.</div><br />
</td></tr></table><br />
</td><br />
</tr><br />
<tr><br />
<td colspan="3"><br />
<br />
<div align="center"> '''Welcome to the WebOS Internals wiki'''</div><br />
<br />
This site is for collecting information about the inner workings of webOS, which powers everybody (else)'s favorite smart phone, the Palm Pre. If you add information which you did not discover yourself, please try to give credit to the original researcher. Also, please do not add information that has not been confirmed. This is meant to be a collection of facts, and our site is growing quickly, so organization may sometimes be lacking.</td><br />
<tr><br />
<tr><br />
<td style="background-color:#FFFFE0;width:33%;border-top:1px solid #999;border-left:1px solid #999;border-right:1px solid #333;border-bottom:1px solid #333;">{{{cell-1-1}}}</td><br />
<td style="background-color:#F1F1F1;width:33%;border-top:1px solid #999;border-left:1px solid #999;border-right:1px solid #333;border-bottom:1px solid #333;">{{{cell-2-1}}}</td><br />
<td style="background-color:#ECF9FF;width:33%;border-top:1px solid #999;border-left:1px solid #999;border-right:1px solid #333;border-bottom:1px solid #333;">{{{cell-3-1}}}</td><br />
</tr><br />
<tr><br />
<td style="background-color:#FFFFE0;border-top:1px solid #999;border-left:1px solid #999;border-right:1px solid #333;border-bottom:1px solid #333;">{{{cell-1-2}}}</td><br />
<td style="background-color:#F1F1F1;border-top:1px solid #999;border-left:1px solid #999;border-right:1px solid #333;border-bottom:1px solid #333;">{{{cell-2-2}}}</td><br />
<td style="background-color:#ECF9FF;border-top:1px solid #999;border-left:1px solid #999;border-right:1px solid #333;border-bottom:1px solid #333;">{{{cell-3-2}}}</td><br />
</tr><br />
<tr><br />
<td style="background-color:#FFFFE0;border-top:1px solid #999;border-left:1px solid #999;border-right:1px solid #333;border-bottom:1px solid #333;">{{{cell-1-3}}}</td><br />
<td style="background-color:#F1F1F1;border-top:1px solid #999;border-left:1px solid #999;border-right:1px solid #333;border-bottom:1px solid #333;">{{{cell-2-3}}}</td><br />
<td style="background-color:#ECF9FF;border-top:1px solid #999;border-left:1px solid #999;border-right:1px solid #333;border-bottom:1px solid #333;">{{{cell-3-3}}}</td><br />
</tr><br />
<tr><br />
<td style="background-color:#FFFFE0;border-top:1px solid #999;border-left:1px solid #999;border-right:1px solid #333;border-bottom:1px solid #333;">{{{cell-1-4}}}</td><br />
<td style="background-color:#F1F1F1;border-top:1px solid #999;border-left:1px solid #999;border-right:1px solid #333;border-bottom:1px solid #333;">{{{cell-2-4}}}</td><br />
<td style="background-color:#ECF9FF;border-top:1px solid #999;border-left:1px solid #999;border-right:1px solid #333;border-bottom:1px solid #333;">{{{cell-3-4}}}</td><br />
</tr><br />
<tr><br />
<td colspan="3"><br />
<table width="100%" cellspacing="0" cellpadding="0"><br />
<tr><br />
<td>{{{leftnav}}}<td><br />
<td style="text-align:right;">{{{rightnav}}}</td><br />
</tr><br />
</table><br />
</td><br />
</tr><br />
<tr><br />
<td style="background-color:#FFFFE0;vertical-align:top;border-top:1px solid #999;border-left:1px solid #999;border-right:1px solid #333;border-bottom:1px solid #333;">{{{irc}}}</td><br />
<td style="background-color:#F1F1F1;vertical-align:top;border-top:1px solid #999;border-left:1px solid #999;border-right:1px solid #333;border-bottom:1px solid #333;"><br />
{{{coderepositories}}}</td><br />
<td style="background-color:#ECF9FF;vertical-align:top;border-top:1px solid #999;border-left:1px solid #999;border-right:1px solid #333;border-bottom:1px solid #333;">{{{resources}}}</td><br />
</tr><br />
<tr><br />
<td colspan="3"><br />
<br />
{{portal-two-columns<br />
|column1=<br />
==Featured Article==<br />
{{WebOS Internals:Featured_Article/Current}}<br />
<br />
[[WebOS Internals:Featured_Article|Past and future featured articles]]<br />
|column2=<br />
==Featured Project==<br />
{{WebOS Internals:Featured_Project/Current}}<br />
<br />
[[WebOS Internals:Featured_Project|Past and future featured projects]]<br />
}}<br />
<br />
== Disclaimer ==<br />
<br />
{{WebOS Internals:General disclaimer}}<br />
<br />
</td><br />
</tr><br />
</table></div>Hopspitfirehttp://wiki.webos-internals.org/index.php?title=Portal:Accessing_Linux&diff=7874Portal:Accessing Linux2009-12-30T10:11:32Z<p>Hopspitfire: </p>
<hr />
<div>__notoc__<br />
{{portal-one-column-blue<br />
|header=Accessing Linux on the Pre or the Pre Emulator<br />
|column1=<br />
The Palm Pre is a Linux based device. Palm provides a simple method to access Linux running on the Pre or the Pre Emulator.<br />
<br />
Once you have access to Linux, everything else is a process of installing a ''community standard library'' of Linux programs so that users have the same tools and options available to them. Once this is process is completed, pretty much anything you can do on a Linux box you can also do on the Pre or the Pre Emulator.<br />
<br />
The following procedures will walk you through the process of obtaining access to Linux on the Pre or the Pre Emulator, and installing the community standard software packages.<br />
<br />
}}<br />
<br />
{{portal-two-columns<br />
|column1=<br />
== Before you start == <br />
<br />
Please make a note of this page: [[How To Recover]]<br />
<br />
If you are unfamiliar with basic Linux command usage, you should visit this page: [[Basic_Linux_Use|Basic Linux Use]]<br />
<br />
===Disclaimer===<br />
Enacting any set of instructions from this site has the (remote, but greater than zero) potential to void your warranty. Our intention and the specific design of all instructions is such that you should be able to recover using the [http://www.palm.com/ROM webOS Doctor] should anything go wrong, and put your Pre back to a state which is indistinguishable from a factory-new Pre, but we give no guarantee. Use any information from this site at your own risk. At the very least, you should be prepared to lose all data on your phone at any time. We cannot tell you what you should do - we provide the information, but it's up to your own sense of personal responsibility to determine what you do with that information. '''We require you to use the [http://www.palm.com/ROM webOS Doctor] to put your Pre back to factory condition before contacting Palm or your cellular carrier for service or support.'''<br />
<br />
You might also want to consider backing up any files you have in the usb drive portion of the Pre. <br />
|column2=<br />
== Procedure: ==<br />
<br />
'''Short Version'''<br />
# Download the [http://developer.palm.com/index.php?option=com_ajaxregister&view=register&sdkdownload Palm SDK].<br />
# Install it using the [http://developer.palm.com/index.php?option=com_content&view=article&id=1597 Palm SDK installation instructions].<br />
#* If you are on Windows 7, follow these instructions: http://www.juergentreml.de/archives/802 (If the SDK rollbacks 75% of the way through install, you will need to follow special instructions [http://forums.precentral.net/web-os-development/195043-setting-up-novacom-windows-7-easier-method.html here from PreCentral] to get the Novacom to install properly.)<br />
# Enable dev mode on your Pre [http://developer.palm.com/index.php?option=com_content&view=article&id=1552#dev_mode Enable dev mode].<br />
# You can then run [http://developer.palm.com/index.php?option=com_content&view=article&id=1552#CommandLineTools-palminstall palm-install] to install a package onto your Pre (or onto the Pre Emulator)<br />
#* This step is only if you have a package file you need to install. Chances are this means you are developing your own application and need to test it or testing an application for someone and they gave you the package file.<br />
# The next step varies: <br />
#* On Mac or Linux, type '''novaterm''' instead of 'palm-install' to directly access the Linux command line.<br />
#* To perform basic steps on windows (all versions including 64 bit and 7) novacom can be used ([[Novcom on Windows|Using Novacom on Windows]]), but a terminal application such as putty or novaterm will be needed to perform steps that can't be done using novacom. It is recommended to use a terminal application once basic setup is done.<br />
#**On 32 bit XP or Vista You can dowload [http://tkgeisel.com/stuff/novaterm-1.zip novaterm1.zip] and unzip it into the sdk/bin directory. Then, just like the Mac and Linux users you can just type '''novaterm'''.<br />
#** Putty is also available and installed with the SDK. <TODO: Enter link to setting up putty><br />
#* An alternative for 64 bit Windows is to use the [http://msdn.microsoft.com/en-us/library/ms164699(VS.80).aspx Corflags tool] to set the 32 bit flag on the novaterm.exe downloaded from above.<br />
# Follow desired steps from the 'Next steps' below.<br />
''' Long Version'''<br />
* A detailed walk through for Mac OS X / Linux / 32 Bit Windows users: [[Accessing Linux Using Novaterm]]<br />
<br />
<br />
}}<br />
{{portal-two-columns<br />
|column1=<br />
== Advanced Topics ==<br />
<br />
* [[Adding Disks to the Emulator]]<br />
* [[Backing_Up_via_Rsync|Backing Up via Rsync]]<br />
<br />
|column2=<br />
== Next Steps ==<br />
<br />
* [[Next_steps|Set up users, Optware, and access]] '''(Strongly recommended)'''<br />
* [[Applying_Patches|Applying Patches]]<br />
* [[Tutorials_Linux_DDNS_for_EVDO|DDNS for EVDO]]<br />
* [[Setup_SFTP|Setup SFTP]]<br />
<br />
<br />
}}<br />
{{portal-one-column-blue<br />
|header=Obsolete Pages<br />
|column1=<br />
<br />
There are three other old deprecated, unsupported, and much more difficult versions of the secure root access procedure below. These were developed before the Palm SDK was publicly available and are no longer required (since using the Palm SDK and novaterm is so much simpler and more reliable). <br />
* [[Accessing Linux From Windows|Windows XP or Windows Vista via USB cable (novaproxy) ]]<br />
* [[Accessing Linux From OSX|Mac OS X procedure via usb cable ]] <br />
* [[Accessing Linux From Linux|Linux procedure via usb cable ]]<br />
<br />
If you followed '''very early''' sets of obsolete instructions (even before the ones above), you might need this page:<br />
* [[Change_From_Loopback|Change from loopback]] <br />
* [[Alt_optmedia|Alternative optmedia & LVM]]<br />
<br />
}}</div>Hopspitfirehttp://wiki.webos-internals.org/index.php?title=Portal:Accessing_Linux&diff=7873Portal:Accessing Linux2009-12-30T10:11:17Z<p>Hopspitfire: </p>
<hr />
<div>__notoc__<br />
{{portal-one-column-blue<br />
|header=Accessing Linux on the Pre or the Pre Emulator<br />
|column1=<br />
The Palm Pre is a Linux based device. Palm provides a simple method to access Linux running on the Pre or the Pre Emulator.<br />
<br />
Once you have access to Linux, everything else is a process of installing a ''community standard library'' of Linux programs so that users have the same tools and options available to them. Once this is process is completed, pretty much anything you can do on a Linux box you can also do on the Pre or the Pre Emulator.<br />
<br />
The following procedures will walk you through the process of obtaining access to Linux on the Pre or the Pre Emulator, and installing the community standard software packages.<br />
<br />
}}<br />
<br />
{{portal-two-columns<br />
|column1=<br />
== Before you start == <br />
<br />
Please make a note of this page: [[How To Recover]]<br />
<br />
If you are unfamiliar with basic Linux command usage, you should visit this page: [[Basic_Linux_Use|Basic Linux Use]]<br />
<br />
===Disclaimer===<br />
Enacting any set of instructions from this site has the (remote, but greater than zero) potential to void your warranty. Our intention and the specific design of all instructions is such that you should be able to recover using the [http://www.palm.com/ROM webOS Doctor] should anything go wrong, and put your Pre back to a state which is indistinguishable from a factory-new Pre, but we give no guarantee. Use any information from this site at your own risk. At the very least, you should be prepared to lose all data on your phone at any time. We cannot tell you what you should do - we provide the information, but it's up to your own sense of personal responsibility to determine what you do with that information. '''We require you to use the [http://www.palm.com/ROM webOS Doctor] to put your Pre back to factory condition before contacting Palm or your cellular carrier for service or support.'''<br />
<br />
You might also want to consider backing up any files you have in the usb drive portion of the Pre. <br />
|column2=<br />
== Procedure: ==<br />
<br />
'''Short Version'''<br />
# Download the [http://developer.palm.com/index.php?option=com_ajaxregister&view=register&sdkdownload Palm SDK].<br />
# Install it using the [http://developer.palm.com/index.php?option=com_content&view=article&id=1597 Palm SDK installation instructions].<br />
#* If you are on Windows 7, follow these instructions: http://www.juergentreml.de/archives/802 (If the SDK rollbacks 75% of the way through install, you will need to follow special instructions [http://forums.precentral.net/web-os-development/195043-setting-up-novacom-windows-7-easier-method.html here from PreCentral] to get the Novacom to install properly.)<br />
# Enable dev mode on your Pre [http://developer.palm.com/index.php?option=com_content&view=article&id=1552#dev_mode Enable dev mode].<br />
# You can then run [http://developer.palm.com/index.php?option=com_content&view=article&id=1552#CommandLineTools-palminstall palm-install] to install a package onto your Pre (or onto the Pre Emulator)<br />
#* This step is only if you have a package file you need to install. Chances are this means you are developing your own application and need to test it or testing an application for someone and they gave you the package file.<br />
# The next step varies: <br />
#* On Mac or Linux, type '''novaterm''' instead of 'palm-install' to directly access the Linux command line.<br />
#* To perform basic steps on windows (all versions including 64 bit and 7) novacom can be used ([[Novcom on Windows|Using Novacom on Windows]]), but a terminal application such as putty or novaterm will be needed to perform steps that can't be done using novacom. It is recommended to use a terminal application once basic setup is done.<br />
#**On 32 bit XP or Vista You can dowload [http://tkgeisel.com/stuff/novaterm-1.zip novaterm1.zip] and unzip it into the sdk/bin directory. Then, just like the Mac and Linux users you can just type '''novaterm'''.<br />
#** Putty is also available and installed with the SDK. <TODO: Enter link to setting up putty><br />
#* An alternative for 64 bit Windows is to use the [http://msdn.microsoft.com/en-us/library/ms164699(VS.80).aspx Corflags tool] to set the 32 bit flag on the novaterm.exe downloaded from above.<br />
# Follow desired steps from the 'Next steps' below.<br />
''' Long Version'''<br />
** A detailed walk through for Mac OS X / Linux / 32 Bit Windows users: [[Accessing Linux Using Novaterm]]<br />
<br />
<br />
}}<br />
{{portal-two-columns<br />
|column1=<br />
== Advanced Topics ==<br />
<br />
* [[Adding Disks to the Emulator]]<br />
* [[Backing_Up_via_Rsync|Backing Up via Rsync]]<br />
<br />
|column2=<br />
== Next Steps ==<br />
<br />
* [[Next_steps|Set up users, Optware, and access]] '''(Strongly recommended)'''<br />
* [[Applying_Patches|Applying Patches]]<br />
* [[Tutorials_Linux_DDNS_for_EVDO|DDNS for EVDO]]<br />
* [[Setup_SFTP|Setup SFTP]]<br />
<br />
<br />
}}<br />
{{portal-one-column-blue<br />
|header=Obsolete Pages<br />
|column1=<br />
<br />
There are three other old deprecated, unsupported, and much more difficult versions of the secure root access procedure below. These were developed before the Palm SDK was publicly available and are no longer required (since using the Palm SDK and novaterm is so much simpler and more reliable). <br />
* [[Accessing Linux From Windows|Windows XP or Windows Vista via USB cable (novaproxy) ]]<br />
* [[Accessing Linux From OSX|Mac OS X procedure via usb cable ]] <br />
* [[Accessing Linux From Linux|Linux procedure via usb cable ]]<br />
<br />
If you followed '''very early''' sets of obsolete instructions (even before the ones above), you might need this page:<br />
* [[Change_From_Loopback|Change from loopback]] <br />
* [[Alt_optmedia|Alternative optmedia & LVM]]<br />
<br />
}}</div>Hopspitfirehttp://wiki.webos-internals.org/index.php?title=Portal:Accessing_Linux&diff=7872Portal:Accessing Linux2009-12-30T10:10:48Z<p>Hopspitfire: Differentiate between the two procedures.</p>
<hr />
<div>__notoc__<br />
{{portal-one-column-blue<br />
|header=Accessing Linux on the Pre or the Pre Emulator<br />
|column1=<br />
The Palm Pre is a Linux based device. Palm provides a simple method to access Linux running on the Pre or the Pre Emulator.<br />
<br />
Once you have access to Linux, everything else is a process of installing a ''community standard library'' of Linux programs so that users have the same tools and options available to them. Once this is process is completed, pretty much anything you can do on a Linux box you can also do on the Pre or the Pre Emulator.<br />
<br />
The following procedures will walk you through the process of obtaining access to Linux on the Pre or the Pre Emulator, and installing the community standard software packages.<br />
<br />
}}<br />
<br />
{{portal-two-columns<br />
|column1=<br />
== Before you start == <br />
<br />
Please make a note of this page: [[How To Recover]]<br />
<br />
If you are unfamiliar with basic Linux command usage, you should visit this page: [[Basic_Linux_Use|Basic Linux Use]]<br />
<br />
===Disclaimer===<br />
Enacting any set of instructions from this site has the (remote, but greater than zero) potential to void your warranty. Our intention and the specific design of all instructions is such that you should be able to recover using the [http://www.palm.com/ROM webOS Doctor] should anything go wrong, and put your Pre back to a state which is indistinguishable from a factory-new Pre, but we give no guarantee. Use any information from this site at your own risk. At the very least, you should be prepared to lose all data on your phone at any time. We cannot tell you what you should do - we provide the information, but it's up to your own sense of personal responsibility to determine what you do with that information. '''We require you to use the [http://www.palm.com/ROM webOS Doctor] to put your Pre back to factory condition before contacting Palm or your cellular carrier for service or support.'''<br />
<br />
You might also want to consider backing up any files you have in the usb drive portion of the Pre. <br />
|column2=<br />
== Procedure: ==<br />
<br />
'''Short Version'''<br />
# Download the [http://developer.palm.com/index.php?option=com_ajaxregister&view=register&sdkdownload Palm SDK].<br />
# Install it using the [http://developer.palm.com/index.php?option=com_content&view=article&id=1597 Palm SDK installation instructions].<br />
#* If you are on Windows 7, follow these instructions: http://www.juergentreml.de/archives/802 (If the SDK rollbacks 75% of the way through install, you will need to follow special instructions [http://forums.precentral.net/web-os-development/195043-setting-up-novacom-windows-7-easier-method.html here from PreCentral] to get the Novacom to install properly.)<br />
# Enable dev mode on your Pre [http://developer.palm.com/index.php?option=com_content&view=article&id=1552#dev_mode Enable dev mode].<br />
# You can then run [http://developer.palm.com/index.php?option=com_content&view=article&id=1552#CommandLineTools-palminstall palm-install] to install a package onto your Pre (or onto the Pre Emulator)<br />
#* This step is only if you have a package file you need to install. Chances are this means you are developing your own application and need to test it or testing an application for someone and they gave you the package file.<br />
# The next step varies: <br />
#* On Mac or Linux, type '''novaterm''' instead of 'palm-install' to directly access the Linux command line.<br />
#* To perform basic steps on windows (all versions including 64 bit and 7) novacom can be used ([[Novcom on Windows|Using Novacom on Windows]]), but a terminal application such as putty or novaterm will be needed to perform steps that can't be done using novacom. It is recommended to use a terminal application once basic setup is done.<br />
#**On 32 bit XP or Vista You can dowload [http://tkgeisel.com/stuff/novaterm-1.zip novaterm1.zip] and unzip it into the sdk/bin directory. Then, just like the Mac and Linux users you can just type '''novaterm'''.<br />
#** Putty is also available and installed with the SDK. <TODO: Enter link to setting up putty><br />
#* An alternative for 64 bit Windows is to use the [http://msdn.microsoft.com/en-us/library/ms164699(VS.80).aspx Corflags tool] to set the 32 bit flag on the novaterm.exe downloaded from above.<br />
# Follow desired steps from the 'Next steps' below.<br />
''' Long Version'''<br />
** -- detailed walk through for Mac OS X / Linux / 32 Bit Windows users: [[Accessing Linux Using Novaterm]]<br />
<br />
<br />
}}<br />
{{portal-two-columns<br />
|column1=<br />
== Advanced Topics ==<br />
<br />
* [[Adding Disks to the Emulator]]<br />
* [[Backing_Up_via_Rsync|Backing Up via Rsync]]<br />
<br />
|column2=<br />
== Next Steps ==<br />
<br />
* [[Next_steps|Set up users, Optware, and access]] '''(Strongly recommended)'''<br />
* [[Applying_Patches|Applying Patches]]<br />
* [[Tutorials_Linux_DDNS_for_EVDO|DDNS for EVDO]]<br />
* [[Setup_SFTP|Setup SFTP]]<br />
<br />
<br />
}}<br />
{{portal-one-column-blue<br />
|header=Obsolete Pages<br />
|column1=<br />
<br />
There are three other old deprecated, unsupported, and much more difficult versions of the secure root access procedure below. These were developed before the Palm SDK was publicly available and are no longer required (since using the Palm SDK and novaterm is so much simpler and more reliable). <br />
* [[Accessing Linux From Windows|Windows XP or Windows Vista via USB cable (novaproxy) ]]<br />
* [[Accessing Linux From OSX|Mac OS X procedure via usb cable ]] <br />
* [[Accessing Linux From Linux|Linux procedure via usb cable ]]<br />
<br />
If you followed '''very early''' sets of obsolete instructions (even before the ones above), you might need this page:<br />
* [[Change_From_Loopback|Change from loopback]] <br />
* [[Alt_optmedia|Alternative optmedia & LVM]]<br />
<br />
}}</div>Hopspitfirehttp://wiki.webos-internals.org/index.php?title=Application:Preware&diff=7849Application:Preware2009-12-29T04:22:18Z<p>Hopspitfire: Separating rhetorical question from procedure.</p>
<hr />
<div>{{application<br />
|name=Preware<br />
|type=webOS<br />
|version=Version: Beta 0.9.12 <br />(23 Nov 2009)<br />
|tag=Utilities<br />
|screenshot=Application_Preware_List.png<br />
|description=<br />
<br />
== Summary == <br />
{{icon|Icon_Preware.png|float:right;}}<br />
Preware is a package management application for the Palm Pre. Preware allows the user to install any package from any of the open standard package repositories on preware.org (or any other location that hosts an open standard package repository). Preware relies on a custom written service developed from community research which allows the mojo app to talk to the built-in ipkg tool.<br />
<br />
This application was the result of extensive community-based design in [[IPKG Service]] and [[Preware Design]].<br />
<br />
For application management, Preware can access more applications, and has more features, than any other on-device package installer.<br />
<br />
And since it is open source, and has a completely open development process supported by a team of world-class WebOS Internals developers, it will continue to get better much faster than any other package management application.<br />
<br />
Preware is the open application installer that has been written specifically to support a homebrew ecosystem where any developer can upload any application to any submission site, and that application can then be installed by any user. Developers no longer need to upload their applications to multiple submission sites, and users are no longer excluded from accessing applications from any open standard package repository.<br />
<br />
=== Key Features ===<br />
<br />
* Install / Remove / Update Homebrew Applications including advanced applications with special requirements. <br />
* Install / Remove / Update WebOS Themes<br />
* Install / Remove / Update WebOS Patches<br />
* Advanced applications and Patches that run scripts require your consent prior to installation. Preware offers to show you the script before you make the decision to let it install. <br />
<br />
== Usage ==<br />
<br />
=== Preferences === <br />
<br />
[[Image:Preferences.png|160px|bottom]]<br><br>You can select preferences in the top left corner of the pre to bring up the preferences screen. On the Preferences screen you can specify the look of the application, the frequency that feeds are updated, and what Preware will show you by default. <br />
<br />
=== Feed Management ===<br />
<br />
[[Image:preware_feeds.png|160px|bottom]][[Image:preware_add_feed.png|160px|bottom]]<br><br>In the preferences section on the top bar on the right side is a button that takes you to the feeds screen. On the feeds screen you can select which feeds are loaded and which ones are not. Simply select the on or off button for that feed. (If you are not interested in themes you can disable the two feeds for themes to speed up the updating of feeds) Preware comes with the following feeds by default. <br />
<br />
* Canuck-software<br />
* Optware<br />
* PimpmyPre<br />
* Precentral<br />
* Precentral Themes<br />
* Prethemer<br />
* Webos-internals<br />
* Webos-patches<br />
<br />
In the future, you will also have the ability to add other feeds that follow the standard feed layout used by Preware. In the new feed section add a name for the feed, and the URL to the feed then tap add feed. This is not implemented yet.<br />
<br />
=== Package Updates ===<br />
=== Applications ===<br />
=== Themes ===<br />
=== Patches ===<br />
=== Installed Packages ===<br />
=== List of Everything ===<br />
<br />
<br />
== Status ==<br />
<br />
This is beta software. Even so:<br />
<br />
* Since 27 August 2009 it is the only over-the-air installer for the palm capable of installing advanced palm applications such as the [[On_Screen_Keyboard|on screen keyboard]] or the terminal application.<br />
* Since 27 August 2009 it is the only application supporting installation from all existing palm homebrew feeds. <br />
* Since 17 September 2009 it also supports installation of themes. <br />
* Since 8 October 2009 it also supports installation of webos patches.<br />
<br />
== License ==<br />
<br />
Please be aware that org.webosinternals.preware and org.webosinternals.ipkgservice are licensed under the GPLv2.<br />
<br />
They cannot be used by a closed source application. If you want to use them in a non-GPLv2 but otherwise open source application, please contact the authors.<br />
<br />
== Operating notes ==<br />
<br />
=== Limitations ===<br />
<br />
No known limitations.<br />
<br />
=== Known bugs ===<br />
<br />
When selecting a patch with dependencies, if you view those dependencies then install them, when Preware returns you to the original patch's screen it will still have the 'install' button showing even though it is installed successfully. Swiping back and returning will show the correct status.<br />
<br />
== Installing Preware ==<br />
<br />
''Simple step-by-step instructions with screenshots are here: [http://forums.precentral.net/showthread.php?p=2040315 Getting Started: Preware]''<br />
<br />
You do not need to access the Linux command line or "root your Pre" to install or use Preware.<br />
<br />
You can use one of the stand-alone Preware Installers at http://get.preware.org/ to install Preware.<br />
<br />
If that fails, please use the [http://forums.precentral.net/homebrew-apps/206905-webos-quick-install-v2-7-beyond.html WebOS Quick Install] tool to install the Package Manager Service and the Preware application directly from the WebOS Internals feed. <br />
<br />
No other application installer tool is sophisticated enough to install the custom Package Manager Service that Preware requires. Preware can install it, but you need a way to bootstrap Preware first, so you need to use our stand-alone Preware Installers or WebOS Quick Install for the very first installation of Preware.<br />
<br />
You need to have your Pre in [[Getting started|developer mode]] when using the stand-alone Preware Installer or WebOS Quick Install for the very first installation of the Package Manager Service and Preware. Once you have Preware correctly installed, you never need to use [[Getting started|developer mode]] again with Preware (it does the required steps in the background for you whenever it needs to).<br />
<br />
Note that Preware works just as well on the Emulator as it does on a real device, and is installed in exactly the same way.<br />
<br />
=== Installing Preware with Preware Installer ===<br />
# '''Put your phone into [[Getting started|Developer Mode]]''' (skip if you already have developer mode on) <br />
## Go to the main (start) screen on your Palm Pre or Pixi <br />
## Start typing "webos20090606" without the quotation marks.<br />
## Tap the Developer Mode icon and turn Developer Mode on. <br />
## Set Developer Mode to ON.<br />
## When asked, tap Reset The Device. Your phone will restart.<br />
## Connect the USB cable to your computer and select "Just Charge" when the phone prompts you.<br />
# '''Install Required Software''':<br />
## [http://www.java.com/en/download/installed.jsp?detect=jre&try=1 Click here] to verify that you have the latest java installed on your computer and update if needed<br />
## [http://www.webos-internals.org/wiki/Webos_Doctor_Versions Click here] to download the current webOS Doctor for your carrier and phone in a subdirectory your will remember (maybe "Palm"?). If you already have it, skip this step. <br />
### '''Do not run the webOS Doctor''' unless you intend to delete all of your phone's files and data and start over.<br />
# '''Install Preware''':<br />
## Right click the most recent PrewareInstaller.jar from [http://get.preware.org/ get.preware.org] and choose ''Save As...''<br />
## Save the Preware Installer in the same folder where your save the webOS Doctor.<br />
## Open (run) the Preware Installer (Double click the jar file you just downloaded.) <br />
## Click Tools then Refresh Novacomd. This may take a few minutes.<br />
## Click INSTALL. Wait while the ''Install'' button is grayed out (Preware is being installed).<br />
## When the Preware Installer Button is no longer grayed out, close the Preware Installer.<br />
# '''Restart your phone''': <br />
## Press and hold the ON/OFF button for 8 seconds<br />
## Tap Power<br />
## Tap Restart<br />
# '''Update the Package Manager Service and Preware'''<br />
## Tap Launcher<br />
## Tap Preware<br />
## Tap OK to continue if there is a splash screen<br />
## Tap Package Updates (an update for Package Manager Service and Preware should be shown)<br />
## Tap Package Manager Service<br />
## Tap Update<br />
## Tap OK when the Package Manager Service application has installed<br />
## Swipe back to return to Package Updates<br />
## Tap Preware<br />
## Tap Update<br />
## Tap OK when the Preware application has installed<br />
<br />
<br />
=== Installing Preware with WebOS Quick Install ===<br />
'''Simple step-by-step instructions with screenshots are here: [http://forums.precentral.net/showthread.php?p=2040315 Getting Started: Preware]'''<br />
<br />
* Put your device in [[Getting started|Developer Mode]]<br />
* Run WebOS Quick Install<br />
* Press the third button on the right<br />
* Choose WebOS Internals Feed (all) from the dropdown list at the top. <br />
* Select ''Package Manager Service'' from the list. <br />
* Press DOWNLOAD.<br />
* Press INSTALL.<br />
* Press the third button on the right<br />
* Choose WebOS Internals Feed (all) from the dropdown list at the top. <br />
* Select ''Preware'' from the list. <br />
* Press DOWNLOAD.<br />
* Press INSTALL.<br />
* If WebOS Quick Install offers to install the Package Manager Service automatically to enable tweaking, do not agree. It will install the wrong version. You must install it as detailed above.<br />
<br />
=== Updating ===<br />
<br />
To update Preware or the Package Manager Service, simpy use Preware version 0.9.0 or later.<br />
<br />
Make sure you update the Package Manager Service first, and the Preware application second. As of Preware 0.9.4, this restriction will be enforced automatically.<br />
<br />
If you are updating to Preware version 0.9.3 or later and you have previously used the autopatch-feed package, please follow these [http://forums.precentral.net/webos-patches/208312-autopatch-transitioning-webos-patches-feed.html] directions for the update.<br />
<br />
=== Removal ===<br />
<br />
''Why would you ever want to remove Preware?''<br />
<br />
To remove Preware, use WebOS Quick Install's Device Management page and unselect the Package Manager Service and the Preware application.<br />
<br />
=== Recent enhancements ===<br />
<br />
0.9.12: Fixed the recurring splash screen bug.<br />
<br />
0.9.11: Added a preference for enabling and disabling the fair dinkum partial app limit fix.<br />
<br />
0.9.10: Added support for category themes.<br />
<br />
0.9.9: Massive speed improvements, a fix for the theme hanging problem, and support for Pixi patching.<br />
<br />
0.9.8: Robustified the calls to the JSON parser to handle packages with syntax errors in appinfo.json<br />
<br />
0.9.7: Added a preference to enable or disable fixing the metadata for unknown type packages.<br />
<br />
0.9.6: Added the initial startup screen. Fixed the display of packages with multiple maintainers. Now loads extended appinfo and control file information for Unknown packages. Changed default list second-line to version + maintainer. No longer allows back-gestures during package operations. Multi-line package titles are now supported. Show All Packages changed to Show Available Types and now defaults to No.<br />
<br />
0.9.5: A package is removed if the user cancels installation. More verbose status and error messages. Selects appropriate webos-patches feed automatically.<br />
<br />
0.9.4: Added support for package dependencies.<br />
<br />
0.9.3: Adds the webos-patches feed, and feed management support.<br />
<br />
0.9.1: Adds the All category, plus other miscellaneous fixes.<br />
<br />
0.9.0: Now supports themes, restart flags and the new memory-reduction service methods.<br />
<br />
0.8.5: Massive speed improvement on loading, now supports package types and adding feeds.<br />
<br />
0.8.2: More preferences added and now functional, with listing and update frequency options.<br />
<br />
0.8.1: Preferences scene implemented. Upstart job stops on removal.<br />
<br />
0.8.0: Now supports Descriptions and Screenshots.<br />
<br />
0.7.7: Addition of ipkglog and config list, and if ipkgservice fails at start it notifies people, and if it fails after postinst it considers it complete anyways<br />
<br />
0.7.6: Fixed the superfluous update subscription message windows<br />
<br />
0.7.5: Fixed update subscription oddity.<br />
<br />
0.7.4: Fixed remounting of root filesystem for post-install and pre-remove scripts on the Pre.<br />
<br />
0.7.1: Fixed buttons and title on script view screen.<br />
<br />
0.7.0: Initial support for post-install and pre-remove scripts, including secure informed user consent. Does not work properly with dependencies yet, so please install dependencies one at a time.<br />
<br />
0.6.7: Fixed bug in category drop-down list.<br />
<br />
0.6.6: Fixed bug in package size reporting.<br />
<br />
0.6.5: Updated icon and other graphical annotations.<br />
<br />
0.6.4: Categories drop-down bug fixed. Preware category updated.<br />
<br />
0.6.2: Categories now work to some extent. Still a bug in the drop down box.<br />
<br />
0.6.1: Sorting by name or date is now available. Application details screen is much more organized.<br />
<br />
0.6.0: No user visible changes. Preparation for the secure informed user consent functionality.<br />
<br />
0.5.1: Filtering is now available on the list screens. Just start typing ...<br />
<br />
== Repository ==<br />
<br />
Preware and the Package Manager Service are housed in the applications/preware and services/ipkservice git repositories at http://git.webos-internals.org/<br />
<br />
For commit permission to the open source project, contact rwhitby on #webos-internals or email [[mailto:support@webos-internals.org support@webos-internals.org]]<br />
<br />
== Alternative Installation (ADVANCED/CLI Method)==<br />
<br />
Really, unless you *really* know what you are doing, you should use one of the Preware stand-alone installers or the WebOS Quick Install installation instructions above.<br />
<br />
This method is for '''LINUX EXPERTS ONLY'''!<br />
<br />
=== Installing/Updating via Automated Script (Bootstrap) ===<br />
<br />
Really, unless you *really* know what you are doing, you should use one of the Preware stand-alone installers or the WebOS Quick Install installation instructions above.<br />
<br />
<source lang="bash"><br />
cd /tmp<br />
wget http://gitorious.org/webos-internals/bootstrap/blobs/raw/master/preware-bootstrap.sh<br />
#Alternatively, you can use this tiny URL: http://bit.ly/dDEMO<br />
sh preware-bootstrap.sh<br />
</source><br />
<br />
}}</div>Hopspitfirehttp://wiki.webos-internals.org/index.php?title=Talk:Patch_webOS_CPU_Frequency_or_Voltage_Scaling&diff=6696Talk:Patch webOS CPU Frequency or Voltage Scaling2009-10-27T20:48:44Z<p>Hopspitfire: </p>
<hr />
<div>==Unstable==<br />
I've found both the ondemand and Voltage Scaling methods to be unstable (causing hang-ups and various other glitches). There needs to be a warning appended when these get added to the GIT repository. I recommend these not be added to Preware. -[[User:Hopspitfire|hopspitfire]] 20:48, 27 October 2009 (UTC)</div>Hopspitfirehttp://wiki.webos-internals.org/index.php?title=Talk:Patch_webOS_CPU_Frequency_or_Voltage_Scaling&diff=6695Talk:Patch webOS CPU Frequency or Voltage Scaling2009-10-27T20:48:26Z<p>Hopspitfire: Instability</p>
<hr />
<div>==Unstable==<br />
I've found both the ondemand and Voltage Scaling methods to be unstable (causing hang-ups and various other glitches). There needs to be a warning appended when these get added to the GIT repository. I recommend these don't be added to Preware. -[[User:Hopspitfire|hopspitfire]] 20:48, 27 October 2009 (UTC)</div>Hopspitfirehttp://wiki.webos-internals.org/index.php?title=How_To_Recover&diff=6694How To Recover2009-10-27T20:32:02Z<p>Hopspitfire: Bolded.</p>
<hr />
<div>= Pre not booting? webOS Doctor How-To =<br />
{{tux|Tux_with_Broken_Pre.png|float:right;}}<br />
Fortunately, Palm has created a tool called webOS Doctor intended for users to easily restore their devices in the event that they cannot boot for one reason or another.<br />
<br />
Note: Before Trying the following steps below. Try removing the battery first and reinsert the battery and turn on the device this will determine whether or not you need to perform the following steps.<br />
<br />
<br />
Download webOS Doctor here: [http://www.palm.com/us/support/downloads/pre/recoverytool/index.html http://www.palm.com/us/support/downloads/pre/recoverytool/index.html]<br />
<br />
After the download is complete, launch webOS Doctor:<br />
<br />
# Select you language<br />
# Accept the license agreement<br />
# Connect your Pre to you PC via USB and select "Next" when it becomes available<br />
{{tux|Tux_with_Pre_and_Screwdriver.png|float:right;}}<br />
After completion the device will reboot and present you with the activation set-up.<br />
<br />
If your PC does not recognize your Pre and you cannot go past step 3 above, try the following steps:<br />
<br />
# With the USB cable connected, power off the Pre<br />
# Hold down the Up button on the volume rocker<br />
# While holding the Up button, power on the Pre<br />
# "Next" should now be enabled - proceed with the recovery<br />
{{tux|Tux_with_Pre.png|float:right;}}<br />
The above steps will put the Pre into bootloader recovery mode and should allow the PC to recognize your device and proceed with the restore. In this mode the screen will display a giant USB logo instead of the usual Palm startup logo.<br />
<br />
The process usually proceeds as follows:<br />
<br />
(If you're on a Mac, you can follow the progress in /var/log/system.log)<br />
<br />
# WebOS Doctor begins<br />
# At 3%, a ramdisk is transferred to the phone, and the phone is rebooted <br />
# At 6%, the screen changes to the palm logo<br />
# At 10%, the screen changes to a big arrow pointing down to an integrated circuit<br />
# Novaterm access is available from 12% onwards<br />
# The progress bar advances by 2% increments every 20 seconds or so<br />
# If it gets stuck at 52% for more than 30 seconds, it's not going to progress further and you will need to try again.<br />
# Around 54% the filesystems are being partitioned<br />
# Around 66% the modem firmware is being reflashed<br />
# Around 74% the carrier apps are being installed<br />
# Around 84% the ROM is being verified<br />
<br />
If the process fails at 84% or later, the flash and modem have actually been written, so if you reboot you will get what you were flashing.<br />
<br />
== Modifications to the recovery process ==<br />
<br />
Between about 18% and 54% complete, you can novaterm into the device while it is being flashed, and modify the filesystem that will be run after the phone reboots (e.g. to touch /var/luna/preferences/ran-first-use).<br />
<br />
If you stay in a mounted directory, you can even cause the flashing to abort after the carrier apps are installed and just before the ROM is verified. This is another point where manual modifications can be made.<br />
<br />
After you have made your modifications, unmount any filesystems you have mounted and "tellbootie reboot".<br />
<br />
<br />
== Can't boot into recovery mode? ==<br />
<br />
In the very unlikely event that your Pre will not boot into recovery mode (indicating that your boot loader on the flash disk may be damaged or corrupted) you can try booting bootie into recovery mode over USB instead: [[Last_Resort_Emergency_BootLoader_Recovery]] '''Note that there has not been a single reported incidence of this being required, so *DO* *NOT* attempt this before you have exhausted all other avenues, and are sure that you have done all the steps above exactly as described at least 10 times. The procedure listed there can cause more harm than good in the hands of someone who does not know what they are doing, and you can easily cause a perfectly good Pre that can be recovered simply using the webOS Doctor to become a Pre that requires that far more complex and unsupported by Palm procedure to get it back to life.'''<br />
<br />
Short of hardware damage, it should not be possible to "brick" a Pre.</div>Hopspitfirehttp://wiki.webos-internals.org/index.php?title=PalmDatabase.db3_File&diff=6693PalmDatabase.db3 File2009-10-27T20:28:52Z<p>Hopspitfire: Sign your comments.</p>
<hr />
<div>The file '''/var/luna/data/dbdata/PalmDatabase.db3''' is an [http://www.sqlite.org/ sqlite] database file that appears to contain much of the personal data stored on the Pre. The information in this database, which has about 100 tables, includes contacts, events, account credentials, and call logs.<br />
<br />
= Exploring PalmDatabase.db3=<br />
<br />
A safe way to explore '''PalmDatabase.db3''' is to copy the file from the Pre to a computer where it can be examined with the [http://www.sqlite.org/sqlite.html sqlite3] command or an sqlite browser. A nice browser of this type of file is the Firefox Addon [http://code.google.com/p/sqlite-manager/ sqlite-manager]. With this browser, the structure of the database tables and their contents can be easily examined.<br />
<br />
Some of the tables in PalmDatabase.db3 are:<br />
<br />
* '''com_palm_pim_Contact''' – Has one entry per contact per profile. Includes pointers to the remote profiles.<br />
* '''com_palm_pim_Person''' – Has one entry per contact Contains a field for the sort order of contacts displayed in the Contact application.<br />
* '''com_palm_pim_FolderEntry''' – Contains messages, both SMS and Email. The GPS [[[Tracking]]] script looks for messages in this table.<br />
<br />
= Modifying PalmDatabase.db3=<br />
<br />
On my previous phone, I entered all contacts in the form "Lastname, Firstname" so that the phone would sort contacts by last name. The Pre internally saves names broken up by prefix, first name, middle name, last name and suffix and has the option to sort by first or last name. When the Sprint store transferred my contacts, the last name followed by a "," went into the first name field and the first name went into the last name field. To fix this, it should have been a simple matter of exporting the contacts from the phone, using an editor or script to swap the first and last name fields (and remove the ",") and then sending the contacts back to the phone. However, there seems to be no way at present to export or import contacts in the Palm Profile. (Except at a Sprint store).<br />
<br />
Below is a python script, '''precontacts.py''' that implements this first/last name swap. This script uses the [*http://code.google.com/p/apsw/ APSW] sqlite3 wrapper. Similar scripts could be used with different sqlite wrappers such as [*http://pysqlite.org/ pysqlite] or with different scripting languages such as Perl. This script does not modify PalmDatabase.db3 directly, rather it writes a list of SQL commands that can be applied to the database. I suggest copying PalmDatabase.db3 to a host machine, generating the SQL commands, testing that those commands work, copying the list of SQL commands to the Pre, and then executing those commands against PalmDatabase.db3 (after making a backup of that file).<br />
<br />
<pre><nowiki><br />
#!/usr/bin/env python<br />
<br />
# Correct names imported from a non smart phone to the Pre where names on<br />
# the old phone were entered in the form "Lastname, Firstname". Entries of<br />
# this type had the first name put in the Pre's Lastname field and the<br />
# last name and comma put in the first name field.<br />
#<br />
# Swap the first and last names in the Palm Pre contact database.<br />
# Only do the swap when the name in the firstname field ends with a ",".<br />
#<br />
# The output of this script should be directed to a file. (say swap.sql) The<br />
# database changes can then be done with "sqlite3 PalmDatabase.db3 < swap.sql".<br />
<br />
import os, sys, time<br />
import apsw<br />
<br />
DBFILE="PalmDatabase.db3"<br />
<br />
if os.path.exists(DBFILE):<br />
connection=apsw.Connection(DBFILE)<br />
cursor=connection.cursor()<br />
else:<br />
print "No database"<br />
<br />
# Do name swap in com_palm_pim_Contact table<br />
<br />
for first, middle, last, id in cursor.execute("select firstName, middleName, lastName, com_palm_pim_Person_id from com_palm_pim_Contact"):<br />
if first:<br />
if first[-1] == ",":<br />
newlast = first[0:-1]<br />
first = last<br />
last = newlast<br />
id=`id`[0:-1]<br />
sql = "update com_palm_pim_Contact set lastName=\""+last+"\", firstName=\""+first+"\" where com_palm_pim_Person_id="+id+";"<br />
print sql<br />
<br />
<br />
# Do name swap in com_palm_pim_Person table<br />
<br />
for first, middle, last, id, sortKey in cursor.execute("select firstName, middleName, lastName, id, sortKey from com_palm_pim_Person"):<br />
if first:<br />
if first[-1] == ",":<br />
newlast = first[0:-1]<br />
first = last<br />
last = newlast<br />
id=`id`[0:-1]<br />
newsortKey = last+"\t"+first+"\t"<br />
if middle:<br />
newsortKey+=middle<br />
newsortKey = newsortKey.upper()<br />
sql = "update com_palm_pim_Person set lastName=\""+last+"\", firstName=\""+first+"\", sortKey=\""+newsortKey+"\" where id="+id+";"<br />
print sql<br />
</nowiki></pre><br />
<br />
=Exporting Contacts to Google CSV file=<br />
<br />
Since we now have access to the database, it would be nice to export your contacts to Google Contacts so that they can be shared by other applications (phones that support Google Sync, Google Voice, Gmail, etc). Here's what you'll need:<br />
<br />
# A copy of your PalmDatabase.db3<br />
# sqlite3 executable binary<br />
# Perl<br />
<br />
Once you have that, modify the following two lines from the perl script below:<br />
<br />
<pre><nowiki><br />
my $db = './PalmDatabase.db3';<br />
my $sqlite = './sqlite3-3.6.16.bin';<br />
</nowiki></pre><br />
<br />
They should point to the path of your sqlite3 binary and database. Once you've done that, just run your script and it should create 3 files:<br />
<br />
# '''palm_pre_contacts.csv''' - CVS file that you can import into your Google Contacts<br />
# '''select_contacts.sql''' - SQL script to show which contacts can be removed from your Palm Pre<br />
# '''delete_contacts.sql''' - SQL script to delete the contacts from your Palm Pre<br />
<br />
It would probably be a good idea to view the CSV file in a spreadsheet program to make sure the contacts look ok.<br />
<br />
===Known Issues===<br />
* delete_contacts.sql does not work. It throws a "no such collation sequence: LOCALIZED_SECONDARY". I haven't figured out to define this coallation sequence. For now, you will have to delete each entry manually. To avoid duplicates, you should do this before syncing with your Google account.<br />
** (I have added a line to the script to load the palm extensions for sqlite3. If you copy the delete file over to the pre and run it on the device, it will work.) -[[user:Wsobel|Wsobel]]<br />
* Only allows for 3 email entries and 3 phone entries maximum for each contact.<br />
* Does not differentiate between different accounts. All contacts are grabbed.<br />
<br />
<br />
==Perl Script==<br />
<br />
<pre><nowiki><br />
#!/usr/bin/perl<br />
use strict;<br />
<br />
# copy of /var/luna/data/dbdata/PalmDatabase.db3 <br />
my $sqlite = './sqlite3-3.6.16.bin';<br />
my $db = './PalmDatabase.db3';<br />
<br />
<br />
my $contacts = {};<br />
my @label = ('Home', 'Work', 'Other', 'Mobile');<br />
<br />
my $header = q(Name,Given Name,Additional Name,Family Name,Yomi Name,Given Name Yomi,Additional Name Yomi,Family Name Yomi,Name Prefix,Name Suffix,Initials,Nickname,Short Name,Maiden Name,Birthday,Gender,Location,Billing Information,Directory Server,Mileage,Occupation,Hobby,Sensitivity,Priority,Subject,Notes,Group Membership,E-mail 1 - Type,E-mail 1 - Value,E-mail 2 - Type,E-mail 2 - Value,E-mail 3 - Type,E-mail 3 - Value,Phone 1 - Type,Phone 1 - Value,Phone 2 - Type,Phone 2 - Value,Phone 3 - Type,Phone 3 - Value);<br />
<br />
my $sql = q{"SELECT com_palm_pim_Contact.firstName, com_palm_pim_Contact.lastName, com_palm_pim_ContactPoint.type, com_palm_pim_ContactPoint.value, com_palm_pim_ContactPoint.label, com_palm_pim_Contact.com_palm_pim_Person_id FROM com_palm_pim_Contact INNER JOIN com_palm_pim_ContactPoint ON com_palm_pim_Contact.id = com_palm_pim_ContactPoint.com_palm_pim_Contact_contactPts_id WHERE com_palm_pim_ContactPoint.type = 'EMAIL' OR com_palm_pim_ContactPoint.type = 'PHONE' ORDER BY com_palm_pim_Contact.firstName, com_palm_pim_Contact.lastName, com_palm_pim_ContactPoint.type ASC;"};<br />
<br />
my $output = `$sqlite $db $sql`;<br />
<br />
open(CSV, ">palm_pre_contacts.csv");<br />
open(SQLDEL, ">delete_contacts.sql");<br />
open(SQLSEL, ">select_contacts.sql");<br />
<br />
print SQLDEL, ".load /usr/lib/sqlite3_palm_extension.so\n";<br />
<br />
print CSV "$header\n";<br />
<br />
my @lines = split(/\n/, $output);<br />
<br />
foreach my $line (@lines) {<br />
#my @parts = split(/\|/, $line);<br />
my ($first, $last, $type, $value, $label, $pid) = split(/\|/, $line);<br />
<br />
<br />
if ($first && $first ne '') {<br />
if (!($contacts->{$pid})) {<br />
$contacts->{$pid} = {<br />
'first' => $first,<br />
'last' => $last,<br />
'email' => [],<br />
'phone' => []<br />
}<br />
}<br />
<br />
if ($type eq 'EMAIL') {<br />
push(@{$contacts->{$pid}->{email}}, {<br />
label => $label[$label],<br />
email => $value<br />
});<br />
}<br />
elsif ($type eq 'PHONE') {<br />
$value =~ s/[^\d]//g;<br />
push(@{$contacts->{$pid}->{phone}}, {<br />
label => $label[$label],<br />
phone => $value<br />
});<br />
}<br />
<br />
print SQLDEL "DELETE FROM com_palm_pim_Person WHERE id=$pid;\n";<br />
print SQLSEL "SELECT id, firstName, lastName from com_palm_pim_Person WHERE id=$pid;\n";<br />
}<br />
}<br />
<br />
while ( my ($pid, $value) = each(%$contacts) ) {<br />
my @line = ();<br />
<br />
$line[0] = $value->{'first'} . ' ' . $value->{'last'};<br />
$line[1] = $value->{'first'};<br />
$line[3] = $value->{'last'};<br />
$line[26] = '* My Contacts';<br />
$line[27] = $value->{'email'}->[0]->{label};<br />
$line[28] = $value->{'email'}->[0]->{email};<br />
$line[29] = $value->{'email'}->[1]->{label};<br />
$line[30] = $value->{'email'}->[1]->{email};<br />
$line[31] = $value->{'email'}->[2]->{label};<br />
$line[32] = $value->{'email'}->[2]->{email};<br />
$line[33] = $value->{'phone'}->[0]->{label};<br />
$line[34] = $value->{'phone'}->[0]->{phone};<br />
$line[35] = $value->{'phone'}->[1]->{label};<br />
$line[36] = $value->{'phone'}->[1]->{phone};<br />
$line[37] = $value->{'phone'}->[2]->{label};<br />
$line[38] = $value->{'phone'}->[2]->{phone};<br />
<br />
print CSV join(',', @line) . "\n";<br />
}<br />
<br />
close(CSV);<br />
close(SQLDEL);<br />
close(SQLSEL);<br />
</nowiki></pre></div>Hopspitfirehttp://wiki.webos-internals.org/index.php?title=Bugs&diff=6582Bugs2009-10-19T10:08:56Z<p>Hopspitfire: </p>
<hr />
<div>{{template:patch}}<br />
Here is where we will place bugs found on the Pre so that maybe Palm (or us) can fix them. Please bullet below if you know a fix for the bug listed.<br />
<br />
= wikidot codebox issue in browser -- panning screen=<br />
<br />
* Can not scroll horizontally on the browser. This occurs both in portrait and landscape mode. <br />
* I noticed this because i could not view the entire width of the [code] boxes on the wiki. - tictac<br />
* unconfirmed or not clearly defined. I am posting from my @pre while scrolling horizontally. <br />
-When at max zoom you are unable to scroll. Issue may be a wikidot codebox issue and not with the pre.<br />
<br />
= Browser Application issues=<br />
* Infinite Loop on unknown filetypes<br />
* found and fixed by user mdklein<br />
opening unknown filetype in browser creates infinite cascade of windows.<br />
change in page-assistant.js function PageAssistant.prototype._onWebViewResourceHandoff = function(event) {<br />
<pre><nowiki><br />
function(response) { // onSuccess<br />
if (response.returnValue && response.canStream) {<br />
this._streamResource(event.url, response.appIdByExtension, response.mimeByExtension);<br />
}<br />
<br />
</nowiki></pre><br />
to<br />
<pre><nowiki><br />
function(response) { // onSuccess<br />
if (response.returnValue && response.canStream && (response.mimeByExtenstion||response.mimeByExtension)) {<br />
this._streamResource(event.url, response.appIdByExtension, (response.mimeByExtenstion||response.mimeByExtenstion));<br />
}<br />
<br />
</nowiki></pre><br />
Basically adds a check to make sure mimeByExtenstion (yes, palm, getResourceInfo returns a typo) is known.<br />
<br />
= google calendar & palm calendar (synchronization)=<br />
* possible bug: 'all day events' created in google calendar will not synchronize on palm pre 1.03 (webos doctored) -- eg, all day birthday events<br />
<br />
= Battery --not-- charging to 100%=<br />
*Please see [[Patch webOS Show Actual Battery Percentage|Show Actual Battery Percentage]]<br />
<br />
= Clock issues=<br />
* possible bug: After toying around with my new stereo bluetooth headset I could not get Alarms to play through the speaker, fixed by rebooting. Am currently trying to reproduce. Other sounds such as music played fine, confirmed volume was up, tried playing the sample sounds in Clock with no luck too.<br />
* If an alarm goes off while the phone is booting up, it will play for a while with no way to silence, dismiss, or snooze.<br />
<br />
= Text Messaging=<br />
* If the cursor is in an empty text field and the phone is closed, once you slide the phone open the first character is no longer automatically capitalized. I have only tried this in the text messaging fields, but I'm sure it applies to other text fields.<br />
(This happens in PalmOS Classic too)<br />
* <del>in highlight/caret mode (hold shift or opt), the up and down swipes do not work in the messaging input field, only left and right.</del> (fixed in 1.1)<br />
<br />
=Dialer=<br />
* Upon ending a call and not throwing away the card, after some sleep cycles, the card becomes blank. Just the background. Odd.<br />
<br />
=PreCentral Bug List=<br />
* http://forums.precentral.net/palm-pre/182595-buglist-pre.html</div>Hopspitfirehttp://wiki.webos-internals.org/index.php?title=Remove/Reduce_Drag_Radius&diff=6581Remove/Reduce Drag Radius2009-10-19T10:08:40Z<p>Hopspitfire: </p>
<hr />
<div>{{template:patch}}<br />
== The Problem ==<br />
<br />
'''When dragging any element, system widget or the Launcher, there is a radius of 25 pixels before your drag goes into effect.'''<br />
<br />
Once the radius has been exceeded, WebOS will jerk suddenly to meet your finger's location.<br />
<br />
This large distance, and the subsequent sudden motion, reduce usability.<br />
<br />
<br />
== The Solution ==<br />
<br />
''Background Info''<br />
<br />
This radius appears to be a constant.<br />
<br />
<br />
''Ideas''<br />
<br />
How to access this constant?</div>Hopspitfirehttp://wiki.webos-internals.org/index.php?title=Longer_Vibrate&diff=6580Longer Vibrate2009-10-19T10:08:32Z<p>Hopspitfire: </p>
<hr />
<div>{{template:patch}}<br />
tictac is working on this.</div>Hopspitfirehttp://wiki.webos-internals.org/index.php?title=Development_%26_Tweak_Ideas&diff=6579Development & Tweak Ideas2009-10-19T10:08:23Z<p>Hopspitfire: </p>
<hr />
<div>{{template:patch}}<br />
Here are some ideas for tweaks which have not been implemented yet (to my knowledge):<br />
<br />
If you decide to start working one of these, '''please leave a note''' under the item as a second-level bullet. If you don't have wiki access, find someone in the IRC channel who does. This will help encourage collaborative discovery, and reduce duplicate effort. We also recommend starting a new wiki page where you '''take notes about any discoveries''' you've made related to the tweak idea. <br />
<br />
Once you've figured it out, it would be appreciated if you make a write-up for the Stock App Mods page. If you don't want to do a write up, at least try to share your findings with someone who can subsequently document them for you. At the very least, jot a few notes onto a wiki page, and tag it with "cleanup".<br />
<br />
=Patch Ideas=<br />
* Create a patch for showing day events in month view on calendar<br />
* Restore "Ignoring calendar alarm repeats the alarm in 5 minutes" to WebOS 1.10, the way it was in WebOS 1.04 and Palm<br />
* Enable simultaneous Voice and Data access.<br />
* Multiple attachments per Message<br />
* Add date (& other info?) to time display when Pre is on Touchstone<br />
<br />
=Tweak Ideas=<br />
* Device automatically goes into USB Drive Mode without tapping on the option (For bad touchscreen issues). Another option is to do an Orange + Symbol + key sequence for that.<br />
* Make bootup faster (parallel?)<br />
** See [http://ubuntuforums.org/showthread.php?t=727224 Upstart on Ubuntu info]<br />
* Fix the horrendous white balance issues with the camera (especially with the flash on)<br />
** See http://www.theregister.co.uk/2009/06/25/cameraphone_faceoff/ for a post showing the problems.<br />
* Make the Pre vibrate differently based on caller ID<br />
** See http://www.azarask.in/blog/post/know-whos-calling-tactile-design/<br />
*Enable image saving/save to wallpaper from the browse.<br />
*Enable opening PDF/doc whatever from Web browser.<br />
** //Done a slight bit of testing with this. It's very easy to get the browser to pass along a link to the application (tested with PDF). <code>/usr/palm/command-resource-handlers.json</code> contains all of the MIME types and you just have to change <code>streamable</code> to true. Of course, the application itself has an issue with this and errors out.//<br />
* Enable uploads in a browser (dialog box with browse, etc.).<br />
* Enable track skipping without turning the device on.<br />
** [[Hardware Key Track Skip]]<br />
** [[track-skipping-using-volume-up-down-buttons|Skip tracks using volume up/down buttons]] ~ FXDemolisher<br />
* Quick copy of locked calendar events to the local calendar so that they can be edited.<br />
* Make the Pre vibrate longer.<br />
** tictac is working on this [[make-pre-vibrate-longer | here]].<br />
* Allow other messaging protocols using libpurple plugins (Facebook, Jabber, etc.).<br />
* Trigger camera remotely.<br />
** Wonder420 is working on this [[camera-remote-view | here]].<br />
* Back up contact link information. (This is currently not stored in the Palm Profile, so it will be lost on a device wipe.) -- [[Contact Link Backup]]<br />
* Landscape virtual keyboard in the Web app.<br />
* Find better touch scroll threshold numbers so the action is not as jerky/fuzzy while moving. 1.0.3 update seems to have improved that a bit.. //~ Robi//<br />
* Look into [http://www.lesswatts.org/projects/powertop/ PowerTop] to potentially save even more power and extend batt life. //~ Robi//<br />
* Allow universal search to search through email text as well<br />
* Multiple card rows in the small card view<br />
* Add a "scrubber" to the music app to control song position<br />
* Remove Amazon section from music app to see if it loads faster without (Music app loads instantly but then you have to wait 30 seconds or so before you can do anything until the Amazon section shows up).<br />
** Unfortunately it seems that it's the thumbnail creation for the few albums shown in shuffle all that causes the delay- removing the Amazon entry doesn't seem to change the speed at all.<br />
* Change the sorting of the music app so that A, An, The in band names and album names are ignored and it sorts alphabetically using the next word [[Patch MediaPlayer Ignore 'A', 'An', and 'The' In Artist and Album names]] ~ Keegan99<br />
* In the camera app, use the volume up/down buttons to snap a picture.<br />
** [[Patch Camera Using Volume Buttons to Take a Picture|Take a picture using volume buttons]] ~ FXDemolisher<br />
* When camera app loads, also load photos app (for quicker review). Even better, let user choose to "keep" or "delete" a picture, and keep the photo on the screen until a choice is made.<br />
* Stop the alert noise from obnoxiously playing every single time you put the Pre back on the Touchstone. <br />
** [[remove-charging-event-alerts]]<br />
* Set up the center button to wake the Pre up, like an iPhone's home button wakes up the iPhone.<br />
* Allow copy to work from google maps, so you can get a url of your current location to paste in chats/sms/mms //~ hemna//<br />
* Light up Navi lights when a notification is received<br />
* Setting to disable ring for Unknown Number<br />
* When the clock's alarm goes off, it only turns on the screen for the customary ~2 seconds before shutting the screen off. Change this to keep the screen on as long as the alarm is playing, then go to sleep when the "snooze" button is pressed.<br />
* Make "all-day" appointments show up in calendar month view (currently invisible)<br />
** [[Patch Calendar Show All-Day Events in Month View]] //~ Sloloem// <br />
* Allow the phone app to run in the background, without a visible card, (to speed up ringtone playing on incoming phone calls).<br />
* Disable the end call sound and the low battery sound.<br />
* Add the ability to snooze a calendar reminder for a certain amount of time that user can choose.<br />
** [[Patch Clock Changing Alarm Button Order and Snooze Duration]] //~ HebrewzHammer//<br />
* Add additional gstreamer plugins into the gstreamer plugin directory; should allow adding support for additional media formats pretty easily.<br />
* Make Contacts app and Universal Search search ALL contact fields. Similar to Google Contacts.<br />
* Provide for two different brightness levels, one (brighter) for while charging, with another for when the Pre is on battery // Proposed on irc by navinag //<br />
<br />
=Development Ideas=<br />
Get [[vnc | VNC]] input working with a mouse and keyboard driver. //~ ultraBlack//<br />
<br />
Get [http://synergy2.sourceforge.net/ Synergy] working with a mouse and keyboard driver. :O Why not? :P //~ ultraBlack//<br />
<br />
Develop a power calculator app for the Pre, with DIGIT-GROUPING, more functions, and possibly even a graphing mode. //~ ultraBlack//<br />
<br />
Put [http://www.mozilla.com/en-US/products/download.html?product=firefox-3.0.11&os=linux&lang=en-US Firefox] on it. Definitely not practical. Maybe [http://portableapps.com/node/9364 Portable Firefox?] //~ ultraBlack//<br />
* Consider [http://www.opera.com/mobile/ Opera Mobile] or [http://www.opera.com/mini/ Opera Mini] as more worthwhile alternatives. //~ ultraBlack//<br />
* Opera Mobile can successfully upload files to web servers. (re: idea to upload via browser) //~ oc80z//<br />
<br />
Work out a good backup solution, perhaps mrb or netapp like .snapshots, so updates/upgrades are easier. //~ Robi//<br />
<br />
Look into setting up [[ad-hoc networking | ad-hoc networking]] for file sharing over WiFi and BitTorrent. //~ Robi//<br />
<br />
Put [http://www.apache.org/ Apache] on it. //~ ultraBlack// Done. http://predev.wikidot.com/apache //~nebula//<br />
* Consider [http://www.lighttpd.net/ Lighttpd] or [http://www.cherokee-project.com/ Cherokee] as more worthwhile alternatives. //~ Robi//<br />
* For limited needs thttpd + php as shown in [[ajaxphpterm]] seems to work fine with minimal resource usage. //~ djbclark//<br />
* Sprint blocks connections to the Pre on port 80, but port 2222 and 8080 has been tested and work //~ smashman// 8000 also works //~nebula//<br />
<br />
Make LunaSysMgr run without exclusive access to I/O, so it can be run alongside [[DirectFB]] applications (and since directfb can run GTK, QT, and X11 applications directly, also those). Some ideas on how to do this are on the [[DFBTerm DirectFB Terminal Emulator]] page's "Virtual Keyboard-Video-Monitor (KVM) Switch" section, however if LunaSysMgr source code becomes available the best method would probably be to just change it to run against directfb instead of using /dev/fb* and /dev/input/* directly. //~ djbclark//<br />
<br />
Confirm that the device is free of Digital Restrictions Management (DRM) by installing Linux compiled from source. There is a /proc/config.gz, and palm has released the patches they used at http://opensource.palm.com/packages.html (search for "linux kernel"). This may also be useful as linux patches may be needed for some of the other ideas on this page. //~ djbclark// <br />
* Done by //~ rwhitby// and //~ tonycpsu// at [[Custom Kernels]]<br />
<br />
Possibly easier accessing linux procedure - create an .ipk (ipkg) file that does the accessed linux setup; have user execute either by emailing them the file (it has been confirmed that you can install ipkg files via the email client), and/or by having them temporarily manually set their DNS to a DNS server that would direct the app store somewhere else. //~ djbclark//<br />
<br />
Make directfb (via tslib - http://tslib.berlios.de/ - or gpm - http://unix.schottelius.org/gpm/ ) work with the palm pre's /dev/touchscreen (new driver CONFIG_TOUCHSCREEN_CY8MRLN=y (cypress touchscreen) included in http://palm.cdnetworks.net/opensource/1.0.1/linux-2.6.24-patch.gz) - see [[vala-terminal]] for more details. //~ djbclark//<br />
<br />
Add more Bluetooth profiles/support such as HID so that BT keyboards can be used.<br />
<br />
Enable printing - my testing of CUPS install failed on the 'insmod' file missing, could not installed printer driver, CUPS-DOC worked and the web interface was functioning well on localhost from the Pre browser. //~ dld121//<br />
<br />
Implementing a learning autocorrect system. Perhaps just a process that monitors keyboard input and removes //word// from the dictionary when //word//<space><backspace>//nextword// is found.<br />
<br />
Create or port a Usenet news reader under WebOS<br />
<br />
Figure out how to add custom gestures to the screen/gesture area. (I'd really like to tap around the center button to emulate a 5-way pad.)<br />
<br />
RSS Reader (Importable Feeds, Subscription to podcasts) //~ oc80z//<br />
<br />
Get [http://www.freesmartphone.org/ (FSO) ]working on the Palm Pre as an alternative platform to the nonfree [http://www.freesmartphone.org/index.php/HardwareInteresting_Targets LunaSysMgr GUI] - http://laforge.gnumonks.org/weblog/2009/06/20/20090620-palm_pre_wanted //~ djbclark// [http://www.freesmartphone.org/index.php/Palm_Pre Links and community organizing.]<br />
<br />
TASK application - add categories column A-B-C like, and priority column 1-2-3-4-5, like the Treo755p Task application. Make them sortable by clicking on column header. Additional development: maybe some way to sync the Tasks with desktop or web based interface</div>Hopspitfirehttp://wiki.webos-internals.org/index.php?title=Changing_Clipboard_Data_From_The_Shell&diff=6578Changing Clipboard Data From The Shell2009-10-19T10:08:14Z<p>Hopspitfire: </p>
<hr />
<div>{{template:patch}}<br />
== Changing Clipboard Data From The Shell ==<br />
<br />
When you use the copy and paste function on your Pre the string has to go somewhere. Right? Well, from what I learned from '''tharris''' which was that the string goes to a file called '''webkit-clipboard''' which is located in the '''/tmp''' directory.<br />
<br />
<br />
== Manual Steps ==<br />
<br />
<br />
'''Step One:''' Access the Linux portion of your Pre<br />
<br />
'''Step Two:''' Edit your clipboard file '''(you need to at least copy and paste something once for the file to show up)'''<br />
<br />
<pre><br />
vi /tmp/webkit-clipboard<br />
</pre><br />
<br />
'''Step Three:''' Save it.<br />
<br />
'''Tip:''' for more info on how to use vi, remember Google is your friend...<br />
<br />
By: JRG<br />
<br />
<br />
== WebOS Clipboard Buddy ==<br />
<br />
'''WebOS Clipboard Buddy''' is a very simple pyGTK app that allows you to easily copy data between your desktop's clipboard and the Pre's clipboard. Feel free to improve upon it. Currently this is Linux only, though it should be trivial to get working under windows. It currently requires that you have the SDK installed (specifically that novacom is functional and available at /usr/local/bin/novacom/novacom).<br />
<br />
<pre><br />
#!/usr/bin/env python<br />
<br />
# Copyright (c) 2009 James Hines<br />
<br />
# Permission is hereby granted, free of charge, to any person<br />
# obtaining a copy of this software and associated documentation<br />
# files (the "Software"), to deal in the Software without<br />
# restriction, including without limitation the rights to use,<br />
# copy, modify, merge, publish, distribute, sublicense, and/or sell<br />
# copies of the Software, and to permit persons to whom the<br />
# Software is furnished to do so, subject to the following<br />
# conditions:<br />
<br />
# The above copyright notice and this permission notice shall be<br />
# included in all copies or substantial portions of the Software.<br />
<br />
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,<br />
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES<br />
# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND<br />
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT<br />
# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,<br />
# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING<br />
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR<br />
# OTHER DEALINGS IN THE SOFTWARE.<br />
<br />
<br />
import gtk<br />
import pygtk<br />
import commands<br />
from subprocess import *<br />
<br />
DEBUG=True<br />
<br />
def quit_cb(widget, data = None):<br />
if data:<br />
data.set_visible(False)<br />
gtk.main_quit()<br />
<br />
def popup_menu_cb(widget, button, time, data = None):<br />
if button == 3:<br />
if data:<br />
data.show_all()<br />
data.popup(None, None, None, 3, time)<br />
pass<br />
<br />
def pre_to_clipboard_cb(widget):<br />
clipboard = gtk.clipboard_get(gtk.gdk.SELECTION_CLIPBOARD)<br />
result = commands.getstatusoutput('/usr/local/bin/novacom/novacom get file:///tmp/webkit-clipboard')<br />
if DEBUG:<br />
print result<br />
text = result[1]<br />
clipboard.set_text(text)<br />
<br />
def clipboard_to_pre_cb(widget):<br />
clipboard = gtk.clipboard_get(gtk.gdk.SELECTION_CLIPBOARD)<br />
clipboard.request_text(push_to_pre)<br />
<br />
def push_to_pre(clipboard, text, data):<br />
pre = Popen(["/usr/local/bin/novacom/novacom", "put", "file:///tmp/webkit-clipboard"], stdin=PIPE, stdout=PIPE)<br />
pre_output = pre.communicate(text)<br />
if DEBUG:<br />
print pre_output<br />
<br />
<br />
def about_icon_cb(widget, data = None):<br />
msgBox = gtk.MessageDialog(parent = None, buttons = gtk.BUTTONS_OK, message_format = "WebOS Clipboard Agent\nVersion 1.1.0\nCopyright 2009, James Hines.")<br />
msgBox.run()<br />
msgBox.destroy()<br />
<br />
statusIcon = gtk.StatusIcon()<br />
<br />
menu = gtk.Menu()<br />
menuItem = gtk.MenuItem(label = "Copy from Pre")<br />
menuItem.connect('activate', pre_to_clipboard_cb)<br />
menu.append(menuItem)<br />
menuItem = gtk.MenuItem(label = "Copy to Pre")<br />
menuItem.connect('activate', clipboard_to_pre_cb)<br />
menu.append(menuItem)<br />
menuItem = gtk.SeparatorMenuItem()<br />
menu.append(menuItem)<br />
menuItem = gtk.ImageMenuItem(gtk.STOCK_ABOUT)<br />
menuItem.connect('activate', about_icon_cb)<br />
menu.append(menuItem)<br />
menuItem = gtk.ImageMenuItem(gtk.STOCK_QUIT)<br />
menuItem.connect('activate', quit_cb, statusIcon)<br />
menu.append(menuItem)<br />
<br />
statusIcon.set_from_stock(gtk.STOCK_PASTE)<br />
statusIcon.set_tooltip("WebOS Clipboard Agent")<br />
statusIcon.connect('popup-menu', popup_menu_cb, menu)<br />
statusIcon.set_visible(True)<br />
<br />
gtk.main()<br />
</pre></div>Hopspitfirehttp://wiki.webos-internals.org/index.php?title=Add_Ability_To_Choose_Snooze_Length&diff=6576Add Ability To Choose Snooze Length2009-10-19T10:07:52Z<p>Hopspitfire: </p>
<hr />
<div>{{template:patch}}<br />
= Introduction =<br />
<br />
I am trying to add a integer picker (0 - 59) along with another list picker which will have units of time (minutes, hours, days, weeks) to the notification alert that pops-up for a calendar reminder. However, this is proving to require a lot more skill and knowledge than I have at the moment; but this is an ongoing project I'm working on and I'd greatly welcome any help! I new to everything (HTML, CSS, Javascript, Linux), but I have learned a great amount in the small time since I've rooted my Pre from the community (thanx!). <br />
<br />
So far I've only been able to create a simple program that shows a notification banner alert (the kind that pops up from the bottom of the screen, but doesn't interfere with anything) when you push a button. Then I tried to add a simple Integer picker to that banner when it pops up, but that broke what I had working already. Once I'm able to have a working demo that has an integer picker from 0 to 59, along with another picker that has minutes, hours, days, and weeks as options, and a "snooze" button; then I'll start working on integrating my work into the Calendar app and then create a patch. I have taken a quick look at the calendar app and it is a lot more complicated than I can fully understand yet and more complicated than I thought it would be. I hoping some people will want to help or else this will take awhile for me to understand.<br />
<br />
= Sandbox =<br />
This should be your starting-point:<br />
http://developer.palm.com/index.php?option=com_content&view=article&id=1632#DashboardsandNotifications-PopupNotifications<br />
<br />
Next, i would look at this: http://www.webos-internals.org/wiki/Patch_Calendar_Notification_Repeat<br />
<br />
Try this from your terminal:<br />
novaterm<br />
cd /usr/palm/applications/com.palm.app.calendar/app/controllers/<br />
less reminder-assistant.js<br />
<br />
<br />
[[User:Clebio|Clebio]] 02:07, 17 October 2009 (UTC)<br />
<br />
= Credits: =<br />
<br />
* HebrewzHammer for idea</div>Hopspitfirehttp://wiki.webos-internals.org/index.php?title=Patch_Messaging_Landscape_Orientation&diff=6575Patch Messaging Landscape Orientation2009-10-19T10:06:45Z<p>Hopspitfire: </p>
<hr />
<div>{{template:patch}}<br />
Landscape Orientation in Messagin App:<br />
<br />
<br />
'''MUST BE IN [root@castle:/#] TO INSTALL'''<br />
<pre>cd /opt/src/modifications<br />
git pull<br />
cd /<br />
quilt import /opt/src/modifications/message-orientation.patch<br />
quilt push -a -f</pre><br />
'''''to apply this patch just copy the above how-to and then you will be done..thats it !!'''''<br />
<br />
<br />
----<br />
<br />
<br />
Manually doing this patch you will have to put the codes in the patch in their corresponding places..<br />
<br />
<br />
'''PATCH CODE'''<br />
<pre>Index: /usr/palm/applications/com.palm.app.messaging/app/controllers/chatview-assistant.js<br />
===================================================================<br />
--- .orig/usr/palm/applications/com.palm.app.messaging/app/controllers/chatview-assistant.js<br />
+++ /usr/palm/applications/com.palm.app.messaging/app/controllers/chatview-assistant.js<br />
@@ -97,7 +97,9 @@ var ChatviewAssistant = Class.create({<br />
<br />
setup: function(){ <br />
this.controller.setupWidget(Mojo.Menu.appMenu, this.appMenuAttrs, this.appMenuModel);<br />
- <br />
+ <br />
+ // enable free orientation<br />
+ this.controller.window.PalmSystem.setWindowOrientation("free"); <br />
var messageTextWidgetAttributes = {<br />
modelProperty: 'value',<br />
hintText: $L('Enter message here...'),<br />
@@ -196,6 +198,14 @@ var ChatviewAssistant = Class.create({<br />
this.handleFocus();<br />
} <br />
},<br />
+ <br />
+ orientationChanged: function(orientation) {<br />
+ if (orientation === "left" || orientation === "right") {<br />
+ this.controller.sceneElement.addClassName('landscape');<br />
+ } else {<br />
+ this.controller.sceneElement.removeClassName('landscape');<br />
+ }<br />
+ },<br />
<br />
cleanup: function(){<br />
this.chatViewHeaderClickTarget.stopObserving(Mojo.Event.tap, this.handleHeaderTap);<br />
Index: /usr/palm/applications/com.palm.app.messaging/app/controllers/compose-assistant.js<br />
===================================================================<br />
--- .orig/usr/palm/applications/com.palm.app.messaging/app/controllers/compose-assistant.js<br />
+++ /usr/palm/applications/com.palm.app.messaging/app/controllers/compose-assistant.js<br />
@@ -73,7 +73,9 @@ var ComposeAssistant = Class.create({<br />
<br />
setup: function() {<br />
this.controller.setupWidget(Mojo.Menu.appMenu, this.appMenuAttrs, this.appMenuModel);<br />
-<br />
+ <br />
+ // enable free orientation<br />
+ this.controller.window.PalmSystem.setWindowOrientation("free");<br />
this.searchList = {<br />
"property": "to$A",<br />
"includeEmails": false,<br />
@@ -386,6 +388,14 @@ var ComposeAssistant = Class.create({<br />
}<br />
this.setCharacterCounterMaxLength();<br />
},<br />
+ <br />
+ orientationChanged: function(orientation) {<br />
+ if (orientation === "left" || orientation === "right") {<br />
+ this.controller.sceneElement.addClassName('landscape');<br />
+ } else {<br />
+ this.controller.sceneElement.removeClassName('landscape');<br />
+ }<br />
+ },<br />
<br />
cleanup: function() {<br />
var that = this;<br />
Index: /usr/palm/applications/com.palm.app.messaging/app/controllers/listview-assistant.js<br />
===================================================================<br />
--- .orig/usr/palm/applications/com.palm.app.messaging/app/controllers/listview-assistant.js<br />
+++ /usr/palm/applications/com.palm.app.messaging/app/controllers/listview-assistant.js<br />
@@ -212,8 +212,10 @@ var ListviewAssistant = Class.create(App<br />
items:this.commandMenuModel <br />
}; <br />
<br />
- this.controller.setupWidget(Mojo.Menu.commandMenu, {}, this.cmdMenuModel); <br />
- <br />
+ this.controller.setupWidget(Mojo.Menu.commandMenu, undefined, this.cmdMenuModel); <br />
+ <br />
+ // enable free orientation<br />
+ this.controller.window.PalmSystem.setWindowOrientation("free");<br />
this.filterField = this.controller.get('filterField');<br />
this.buddyListHeader = this.controller.get('buddyListHeader');<br />
this.controller.setupWidget('filterField',{filterFieldName:'filterFieldElement'},this.filterField);<br />
@@ -1086,7 +1088,15 @@ var ListviewAssistant = Class.create(App<br />
loadDebugView: function() {<br />
this.controller.stageController.pushScene('debug');<br />
}, <br />
- <br />
+<br />
+ orientationChanged: function(orientation) {<br />
+ if (orientation === "left" || orientation === "right") {<br />
+ this.controller.sceneElement.addClassName('landscape');<br />
+ } else {<br />
+ this.controller.sceneElement.removeClassName('landscape');<br />
+ }<br />
+ },<br />
+ <br />
cleanup: function() {<br />
// save the listview state<br />
MessagingMojoService.setIsHistoryViewSelected(this.controller,(this.currentListView == this.Messaging.Views.HISTORY));<br />
Index: /usr/palm/applications/com.palm.app.messaging/stylesheets/messaging.css<br />
===================================================================<br />
--- .orig/usr/palm/applications/com.palm.app.messaging/stylesheets/messaging.css<br />
+++ /usr/palm/applications/com.palm.app.messaging/stylesheets/messaging.css<br />
@@ -642,10 +642,10 @@ img.avatar-overlay {<br />
}<br />
<br />
.their-chat .message-container {<br />
- width: 255px;<br />
+ width: 85%;<br />
}<br />
.my-chat .message-container {<br />
- width: 280px;<br />
+ width: 95%;<br />
}<br />
.chat-entry .chat-balloon {<br />
min-height: 26px;<br />
@@ -823,7 +823,7 @@ img.avatar-overlay {<br />
position: fixed;<br />
bottom:0px;<br />
left:0px;<br />
- width: 320px;<br />
+ width: 100%;<br />
}<br />
<br />
#messageContainer #messageTextWidget {<br />
</pre><br />
<br />
<br />
'''Credits: FRITOS1406'''</div>Hopspitfirehttp://wiki.webos-internals.org/index.php?title=Patch_Youtube_Landscape_Orientation&diff=6574Patch Youtube Landscape Orientation2009-10-19T10:06:04Z<p>Hopspitfire: </p>
<hr />
<div>{{template:patch}}<br />
You will have to resize the background.png image found in /usr/palm/applications/com.palm.app.youtube/images/ to 480x480 so that it doesnt cut off when switching orientation.<br />
<br />
or u can download this one which is already resized and use quick install to send the file to the directory http://www.webos-internals.org/images/2/26/Background.png<br />
----<br />
'''PATCH CODE'''<br />
<br />
<br />
<pre>Index: /usr/palm/applications/com.palm.app.youtube/app/controllers/home-assistant.js<br />
===================================================================<br />
--- .orig/usr/palm/applications/com.palm.app.youtube/app/controllers/home-assistant.js<br />
+++ /usr/palm/applications/com.palm.app.youtube/app/controllers/home-assistant.js<br />
@@ -12,6 +12,9 @@ var HomeAssistant = Class.create({<br />
// setup application menu<br />
this.controller.setupWidget(Mojo.Menu.appMenu, {omitDefaultItems: true}, AppAssistant.appMenuModel);<br />
<br />
+ // enable free orientation<br />
+ this.controller.window.PalmSystem.setWindowOrientation("free"); <br />
+ <br />
// setup bottom menus <br />
this.controller.setupWidget('videos-menu', undefined, this.videosMenuModel); <br />
this.controller.setupWidget(Mojo.Menu.commandMenu, {menuClass: "no-fade"}, this.cmdMenuModel);<br />
@@ -52,6 +55,14 @@ var HomeAssistant = Class.create({<br />
});<br />
},<br />
<br />
+ orientationChanged: function(orientation) {<br />
+ if (orientation === "left" || orientation === "right") {<br />
+ this.controller.sceneElement.addClassName('landscape');<br />
+ } else {<br />
+ this.controller.sceneElement.removeClassName('landscape');<br />
+ }<br />
+ },<br />
+ <br />
activate: function() {<br />
$('search_string').mojo.focus();<br />
this._checkHistoryCount();<br />
Index: /usr/palm/applications/com.palm.app.youtube/app/controllers/search-assistant.js<br />
===================================================================<br />
--- .orig/usr/palm/applications/com.palm.app.youtube/app/controllers/search-assistant.js<br />
+++ /usr/palm/applications/com.palm.app.youtube/app/controllers/search-assistant.js<br />
@@ -20,6 +20,9 @@ var SearchAssistant = Class.create({<br />
// setup application menu<br />
this.controller.setupWidget(Mojo.Menu.appMenu, {omitDefaultItems: true}, AppAssistant.appMenuModel);<br />
<br />
+ // enable free orientation<br />
+ this.controller.window.PalmSystem.setWindowOrientation("free"); <br />
+ <br />
// setup search field<br />
this.searchFieldModel.attributes = {<br />
hintText: $L('Search All Videos...'),<br />
@@ -66,6 +69,14 @@ var SearchAssistant = Class.create({<br />
}); <br />
},<br />
<br />
+ orientationChanged: function(orientation) {<br />
+ if (orientation === "left" || orientation === "right") {<br />
+ this.controller.sceneElement.addClassName('landscape');<br />
+ } else {<br />
+ this.controller.sceneElement.removeClassName('landscape');<br />
+ }<br />
+ },<br />
+ <br />
activate: function() {<br />
// in case of cross app launch we want to focus the app only after <br />
// search scene is ready to go. This is so that user won't see a<br />
Index: /usr/palm/applications/com.palm.app.youtube/app/controllers/video-assistant.js<br />
===================================================================<br />
--- .orig/usr/palm/applications/com.palm.app.youtube/app/controllers/video-assistant.js<br />
+++ /usr/palm/applications/com.palm.app.youtube/app/controllers/video-assistant.js<br />
@@ -11,6 +11,9 @@ var VideoAssistant = Class.create({<br />
setup: function() {<br />
// setup application menu<br />
this.controller.setupWidget(Mojo.Menu.appMenu, {omitDefaultItems: true}, AppAssistant.appMenuModel);<br />
+ <br />
+ // enable free orientation<br />
+ this.controller.window.PalmSystem.setWindowOrientation("free"); <br />
<br />
// setup bottom menus<br />
this.cmdMenuModel = {items: [{label: $L('More'), submenu:'more-menu'}, <br />
@@ -29,7 +32,15 @@ var VideoAssistant = Class.create({<br />
AppAssistant.common.playVideo(this.video);<br />
}.bind(this));<br />
},<br />
- <br />
+<br />
+ orientationChanged: function(orientation) {<br />
+ if (orientation === "left" || orientation === "right") {<br />
+ this.controller.sceneElement.addClassName('landscape');<br />
+ } else {<br />
+ this.controller.sceneElement.removeClassName('landscape');<br />
+ }<br />
+ },<br />
+<br />
activate: function() {<br />
// in case of cross app launch we want to focus the app only after <br />
// search scene is ready to go. This is so that user won't see a</pre></div>Hopspitfirehttp://wiki.webos-internals.org/index.php?title=Patch_Camera_Easy_Shutter_Sound_Off&diff=6573Patch Camera Easy Shutter Sound Off2009-10-19T10:05:16Z<p>Hopspitfire: This page is lacking information.</p>
<hr />
<div>{{template:patch}}<br />
== Easy Method to Disable Shutter Sound ==<br />
<br />
Couldn't find this on the wiki but I remember reading it in the forums.<br />
<br />
Open up /usr/palm/applications/com.palm.app.camera/camera-prefs-defaults.json.<br />
<br />
Change line 17 from enabled to disabled.</div>Hopspitfirehttp://wiki.webos-internals.org/index.php?title=On_Screen_Keyboard&diff=6572On Screen Keyboard2009-10-19T10:04:02Z<p>Hopspitfire: </p>
<hr />
<div>{{template:patch}}<br />
[[Image: On_Screen_Keyboard.png|thumb|right]]<br />
'''Warning. This software is in intense development. It is changing nearly daily. '''<br />
<br />
'''While a number of people are having success with it, it makes DEEP changes in your Pre. You choose to use this entirely at your own risk. It may cause your pre to melt into a puddle and dissolve while turning blue. Use at your own risk!'''<br />
[[Image: On_screen_keyboard_2.png|thumb|right]]<br />
=Introduction=<br />
[[Image: On_screen_keyboard_3.png|thumb|right]]<br />
[[Image: Messaging_2009-22-08_000708.png|thumb|right]]The Palm Pre ships with a ''very limited'' on-screen keyboard for inserting symbols. It works in portrait and landscape, in all apps, in any text field. (It doesn't work in Search fields like email address or url, which has led to difficulties with enhancing it.) This on screen keyboard provided a basis for programmers to develop a fully functional on screen keyboard for the Pre.<br />
<br />
=Operation= <br />
Unlike the Palm Symbol keyboard, you do not have to open the Pre's hardware keyboard to get the on-screen keyboard. Double-tapping the gesture area (near the round silver button) will bring up the on-screen keyboard if you are in a text input field. Tap with two fingers separated or Double-tap quickly. <br />
<br />
=Installation Procedure=<br />
==Install Via PreWare==<br />
If you have installed WebOS Internals over the air installer [[Application:Preware|Preware]] you can simply select the software keyboard from the list of available applications and install it. Nothing more is required. <br />
<br />
==Install Via WebOS Quick Install==<br />
Using WebOS Quick Install press the third button on the right select ''WebOS Internals Feed (all)'' from the drop down list at the top, choose virtual keyboard, press DOWNLOAD and then install. <br />
<br />
==Command Line Installation== <br />
If you have completed the standard WebOS Internals "[[Next_steps|next steps]]" procedure, installing the keyboard from the command line is very simple: <br />
<pre><br />
/usr/bin/ipkg -o /var install org.webosinternals.virtual-keyboard<br />
sh /var/usr/lib/ipkg/info/org.webosinternals.virtual-keyboard.postinst<br />
</pre><br />
<br />
=Upgrade Procedure=<br />
<br />
Remove the old version of the virtual keyboard using Preware 0.9.0 or later.<br />
<br />
Install the new version of the virtual keyboard using Preware 0.9.0 or later.<br />
<br />
=Emergency Virtual Keyboard File Recovery Procedure=<br />
<br />
If all else fails, follow the instructions at http://forums.precentral.net/web-os-development/198051-screen-keyboard-bugs-functionality-enhancements-68.html#post1910190 to remove the virtual keyboard, and then reinstall it with Preware 0.9.0 or later.<br />
<br />
=Options and Themes=<br />
<br />
The keyboard has several user configurable options. As of 28 August 2009 there is no keyboard configuration app. However, '''you do not have to have root access''' to configure the keyboard. Simply attach your Pre to your computer in USB Drive Mode. Then, navigate to the Pre's USB drive. On your desktop, there will be a directory (folder) called virtual-keyboard. (From within the Pre this is /media/internal/virtual-keyboard ''which is the same place''.) <br />
<br />
Inside that folder, you will find a file named virtual-keyboard/kb_config.json. Use your editor of choice (such as Wordpad - ''do not use MS Word'') to edit that file. You may change any of the following options: <br />
* haptic : <number> - How long to vibrate upon touch (0 - 100 ms) (50 seems good. 100 makes the keyboard lag a little. <br />
* clickFile : <string> - Sound file if any to play upon button click (e.g. click1.wav)<br />
* installed_themes : [{label:<string>,value:<string>},...] - Installed themes, label is the display name and value is the themes folder name<br />
* theme : <string> - Name of keyboard theme to use. Three themes ship with the keyboard: <br />
** remix_classic<br />
** remix_glossy<br />
** remix_ice<br />
*: You may choose any of the three or add your own theme in an appropriate folder and name it as you please. See below on creating theme files.<br />
<br />
<TABLE><TR><TD>Remix Classic [[Image:remixClassic.png|70px]]</TD><TD>Remix Glossy [[Image:remixGlossy.png|70px]]</TD><TD>Remix Ice [[Image:remixIce.png|70px]]</TD></TR></TABLE><br />
<br />
== Additional Available Themes - Not working ==<br />
<br />
<TABLE><TR><TD><br />
'''Eazys Theme''' [[image:28731d1251393689-screen-keyboard-bugs-functionality-enhancements-messaging_2009-27-08_121219.jpg|thumb|80px]] Download [http://discussion.treocentral.com/attachments/web-os-development/28732d1251393700-screen-keyboard-bugs-functionality-enhancements-eazys_theme.zip]<br />
<br />
</TD><TD>'''Eazys Theme 2''' [[image:eazystheme2.jpg|thumb|80px]] Download [http://discussion.treocentral.com/attachments/web-os-development/28963d1251487552-screen-keyboard-bugs-functionality-enhancements-eazys_theme2.zip]<br />
<br />
</TD></TR><TR><TD>'''Eazys Theme Gloss''' [[image:eazysthemegloss.jpg|thumb|80px]] Download [http://discussion.treocentral.com/attachments/web-os-development/28953d1251482182-screen-keyboard-bugs-functionality-enhancements-eazys_themegloss.zip]<br />
<br />
</TD><TD>'''Eazys Trans''' [[image:eazystrans.png|thumb|80px]] Download [http://discussion.treocentral.com/attachments/web-os-development/28924d1251474261-screen-keyboard-bugs-functionality-enhancements-eazys_trans.zip]<br />
<br />
</TD></TR><TR><TD>'''dianehelen Glossy Blue''' [[image:glossyblue.jpg|thumb|80px]] Download [http://discussion.treocentral.com/attachments/web-os-development/29123d1251633769-screen-keyboard-bugs-functionality-enhancements-glossy_blue.zip]<br />
<br />
</TD><TD>'''2sslow Blue''' [[Image:messaging_2009-27-08_213107.jpg|thumb|80px]] Download [http://discussion.treocentral.com/attachments/web-os-development/28850d1251436402-screen-keyboard-bugs-functionality-enhancements-2sslow_blue.zip]<br />
<br />
</TD></TR><tr><td>'''pychozoundz sleek light''' [[Image:SleekLight.jpg|thumb|80px]]</td><td>'''and dark'''[[Image:sleekDark.jpg|thumb|80px]][http://www.2shared.com/file/7441193/71eb02de/sleek_light_dark.html]<br />
<br />
</TD></TR><TR><TD>Un-Designer LucasPapaya [[Image:LucasPapaya.jpg|thumb|80px]] [http://dl.getdropbox.com/u/15257/LucasPapaya.zip]</td><br />
<br />
<br />
<br />
<br />
<TD> '''dianehelen Autumn''' [[image:autumnkb.jpg|thumb|80px]] Download [http://discussion.treocentral.com/attachments/web-os-development/29125d1251633839-screen-keyboard-bugs-functionality-enhancements-autumn.zip]<br />
</td><br />
<br />
<br />
<br />
<br />
</tr><br />
<br />
<br />
<br />
<TR> <TD>'''dianehelen Denali''' [[image:denalikb.jpg|thumb|80px]] Download [http://discussion.treocentral.com/attachments/web-os-development/29127d1251633870-screen-keyboard-bugs-functionality-enhancements-denali.zip]<br />
</TD><br />
<br />
<TD><br />
<br />
<br />
'''dianehelen RBW(RedBlackWhite)''' [[image:rbwkb.jpg|thumb|80px]] Download [http://forums.precentral.net/attachments/web-os-development/29218d1251678400-onscreen-keyboard-theme-instructions-rwb.zip]<br />
<br />
<br />
<br />
<br />
<br />
<br />
</TD></TR><br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
</table><br />
<br />
=Change Log=<br />
===8/13/09 - Fixes===<br />
* Functional backspace, space and enter keys added.<br />
<br />
===8/16/09 - Fixes===<br />
* Added functional shift and sym capabilities.<br />
* Added landscape mode resize.<br />
<br />
<br />
===8/18/09 - Fixes/Enhancements===<br />
* Added theme capabilities<br />
* Changed default theme to use remix2000's images (big thanks!)<br />
* Added missing symbols<br />
* Fixed landscape mode to correctly render in landscape if launched from that state.<br />
<br />
Thanks again to remix2000 for the nice keyboard images. Specs will be posted eventually for the images/theme framework once a user-app callable way to switch themes is implemented.<br />
<br />
===8/18/09 (evening) - Fixes/Enhancements===<br />
* Increased width of keyboard to span entire screen<br />
* Added orange-key functionality<br />
* Made keyboard draggable after tapping blank key<br />
* Added haptic feedback<br />
<br />
===8/21/09 - Fixes/Enhancements===<br />
* Added support for Emulator (pageup will mimic gesture tap, double-tap for keyboard)<br />
* Separated themes from palm framework<br />
* Added customizable options and themes via .json files<br />
* Shrink keys when "active", i.e. shift, orange, sym...<br />
* Changed keyboard to come up with double-tap of gesture area (within 600ms)<br />
* Enabled usage within search fields (messaging/email apps etc...)<br />
* Changed position calculations to render keyboard as low as possible without covering cursor on initialization<br />
<br />
===8/26/09 - Fixes/Enhancements===<br />
* Fixed duplication problem in messaging apps<br />
* Fixed symbols appearing in tasks app.<br />
* Fixed dragger not to interact with scene<br />
* Modified keyboard to allow scene interactions when touching outside of the keyboard. As long as a tap is inside the keyboard, it should not effect the scene. A tap outside of the keyboard should be passed to the scene controller, and not dismiss the keyboard. Tap the gesture area, enter (submit+dismiss), or anything on the hard keyboard to dismiss virtual keyboard.<br />
<br />
===8/26/09 (PM) - Fixes/Enhancements===<br />
* Allow dragger to drag to bottom of screen regardless of cursor position (user control)<br />
* Send newline to text fields along with enter key event when enter is pressed<br />
* Close the keyboard only when gesture area is tapped<br />
<br />
=== 0.1.3 - Added packaging metadata ===<br />
* Added Icon, Homepage, Screenshots metadata to the ipkg for use in Preware 0.8.0 (not yet released)<br />
<br />
=== 0.2.2 - Fixes/Enhancements === <br />
* Increased theme capabilities<br />
* Added dynamic theme changing capbilities<br />
* Updated all localizations with default .json so at the least the layout works for all.<br />
* Optimized code to reduce lag<br />
* New default theme made by un_designer<br />
<br />
=== 0.2.3 - Fixes/Enhancements === <br />
* Fix default theme installation in postinst (LPC_Dark_Rounded_2e)<br />
<br />
=Issues=<br />
as of 26 August 2009 the following issues are known: <br />
* Auto-Correct is not functional (SmartTextEngine is handled in libWebKitLuna.so, so might need plugin to add this support)<br />
* Backspace/enter do not work in webview text fields (The text fields in webview seem to be handled by the browser adapter plugin).<br />
* Sym key re-draws and re-positions the keyboard, should at least not re-position.<br />
* Clipboard, orange-scroll and shift-highlight do not operate with virtual keyboard<br />
* There is no way to bring up Global Search without pressing a key on the hard keyboard. One idea is to add a top-bar item in between the app menu and device menu that will launch Global Search with the virtual keyboard displayed. The virtual keyboard already works properly once the Global Search is in the foreground (i.e. after a hard key press)<br />
* Hide kb when focus changes from text box (e.g. landscape in web browser, text box goes away)<br />
* Notifications and probably other scene re-sizes do not move the keyboard, however the text fields move and this may put them beneath the virtual keyboard. Keyboard should be able to adjust with the scene.<br />
==User requested options which are not currently under development==<br />
* Explore T9-type, limited-width keyboard options<br />
<br />
<br />
Issue tracker: [http://preyourmind.org/project/issues/oskb]<br />
<br />
=Creating Keyboard Themes=<br />
The virtual keyboard layout is a "list" of rows containing 10 "elements" each. The design allows for the keys to span multiple elements.<br />
<br />
The virtual keyboard will look for themes located at /media/internal/virtual-keyboard/themes/<br />
In this directory there shall exist theme-named directories with the following structure and options:<br />
<br />
theme_config.json is the file that will control what images in this directory should be used and how. <br />
<br />
The first layer of the JSON for each key element will have 3 parts:<br />
index:<Integer>,portrait:{},landscape:{}<br />
<br />
index - index of key<br />
portrait - orientation JSON describing theme layout for portrait mode<br />
landscape - orientation JSON describing theme layout for landscape mode<br />
<br />
<br />
Inside of the orientation JSON's we have another 3 parts:<br />
normal:{},function:{},shift:{}<br />
<br />
normal - key description JSON when in normal keyboard<br />
function - key description JSON when function (orange) key is active<br />
shift - key description JSON when shift key is active<br />
<br />
<br />
The key description JSON has the following 4 parts:<br />
keyCode:<Integer>,display:{},output:<String>,span:<Integer><br />
<br />
keyCode - currently only used for special action keys (shift, function, etc..)<br />
display - key display JSON<br />
output - output string when key is pressed<br />
span - number of element-widths to span (1 element-width=10%)<br />
<br />
<br />
The key display JSON has 2 parts:<br />
html:<String>,img:<String><br />
<br />
html - HTML to display as element if no img supplied<br />
img - Image (including relative path in this theme's directory) to display as element<br />
<br />
<br />
=Technical Background and Explanation=<br />
On an unmodified Pre if you press the "sym" key a scrollable 5x5 keyboard pops up full of alternate characters. <br />
<br />
This is controlled by code incorporated into the framework.js. The specific functions there can be seeen in '''/usr/palm/frameworks/mojo/submissions/191.15/javascripts/widget_charselector.js'''<br />
<br />
with the layout controlled by 3 files in '''/usr/palm/frameworks/mojo/submissions/191.15/templates/charselector'''<br />
<br />
the actual list of characters that appear on the screen is controlled by '''/usr/palm/frameworks/mojo/submissions/191.15/resources/en_us/alternatechars_table.json'''<br />
<br />
At the simplest level then, creating an on-screen keyboard requires editing the alternate characters table json, to add the "regular" charcters to it, and then when you want a keyboard, press SYM and poof, a keyboard. The problem with that is, the alternatechars_table.json is "fragile" the slightests mis-edit results in the pre entering a continuous book cycle. <br />
<br />
At the next level, the framework's copy of widget_charselector.js needs to be modified to not close the keyboard after each keypress. <br />
<br />
On 12 August 2009 Webos-internals contributor Eric Gaudet (irc egaudet) announced success at patching the framework.js to accept a new function derived from the charselector widget. This pre-alpha proof of concept on-screen keyboard was made available as a patch. Since that time, the keyboard has been extended to work in search fields, to be installable as an IPKG, and to be themeable. <br />
<br />
''Note that this requires patching the primary framework of WebOS.'' This is not an application running on top of WebOS but rather a modification of the operation of the OS itself.</div>Hopspitfirehttp://wiki.webos-internals.org/index.php?title=Patch_Enable_LED_Notifications&diff=6571Patch Enable LED Notifications2009-10-19T10:03:40Z<p>Hopspitfire: </p>
<hr />
<div>{{template:patch}}<br />
This patch needs a rooted Pre to manually make these changes though a command line.<br />
<br />
Two files need to be modified.<br />
<br />
/usr/palm/applications/com.palm.app.screenlock/app/controllers/securityconfig-assistant.js<br />
<br />
Uncomment lines 54,55,248-251.<br />
<br />
Here is what the files should look like:<br />
<source lang=text><br />
Lines 54/55:<br />
//this.controller.setupWidget('blinkAlerts', this.onOffToggleOpt, this.ledThrobberToggleModel);<br />
//Mojo.Event.listen($('blinkAlerts'),'mojo-property-change', this.toggleLEDThrobber.bindAsEventListener(this));<br />
<br />
Should be changed to: <br />
this.controller.setupWidget('blinkAlerts', this.onOffToggleOpt, this.ledThrobberToggleModel);<br />
Mojo.Event.listen($('blinkAlerts'),'mojo-property-change', this.toggleLEDThrobber.bindAsEventListener(this));<br />
</source><br />
<br />
<source lang=text><br />
Lines 248-251:<br />
/*if (payload.LEDThrobberEnabled != undefined) {<br />
this.ledThrobberToggleModel.value = payload.LEDThrobberEnabled;<br />
this.controller.modelChanged(this.ledThrobberToggleModel, this);<br />
}*/<br />
<br />
Should be changed to:<br />
if (payload.LEDThrobberEnabled != undefined) {<br />
this.ledThrobberToggleModel.value = payload.LEDThrobberEnabled;<br />
this.controller.modelChanged(this.ledThrobberToggleModel, this);<br />
}<br />
<br />
</source><br />
<br />
/usr/palm/applications/com.palm.app.screenlock/app/views/securityconfig/securityconfig-scene.html:<br />
<br />
Uncomment 92-97 and 101-103.<br />
<br />
<source lang=text><br />
Lines 92-97:<br />
<!--<div class="palm-row last"><br />
<div class="palm-row-wrapper"><br />
<div x-mojo-element="ToggleButton" id="blinkAlerts"></div><br />
<div class="title capitalize" x-mojo-loc=''>Blink notifications</div><br />
</div><br />
</div>--><br />
<br />
Should be changed to:<br />
<div class="palm-row last"><br />
<div class="palm-row-wrapper"><br />
<div x-mojo-element="ToggleButton" id="blinkAlerts"></div><br />
<div class="title capitalize" x-mojo-loc=''>Blink notifications</div><br />
</div><br />
</div><br />
<br />
</source><br />
<br />
<source lang=text><br />
Lines 101-103:<br />
<!--<div class="palm-info-text single" x-mojo-loc=''><br />
The gesture area blinks when new notifications arrive.<br />
</div>--><br />
<br />
Should be changed to:<br />
<div class="palm-info-text single" x-mojo-loc=''><br />
The gesture area blinks when new notifications arrive.<br />
</div><br />
</source></div>Hopspitfirehttp://wiki.webos-internals.org/index.php?title=More_Calculator_Functions&diff=6570More Calculator Functions2009-10-19T10:03:24Z<p>Hopspitfire: </p>
<hr />
<div>{{template:patch}}<br />
Bottom line - there are secondary calculator functions already built in. Just push the space bar. Below is the coding showing where I found it. I'm currently working on replacing some of the functions with more useful ones (like x^y)...Go to bottom for that.<br />
<br />
If you go to<br />
<br />
/usr/palm/applications/com.palm.app.calculator/app/controllers<br />
<br />
and look at calculator-assistant.js, you can see the following alternative functions that have always been available - but news to me.<br />
<br />
<pre>onKeyPress: function(event) {<br />
if (Mojo.Char.isEnterKey(event.charCode)) {<br />
this.onEqualsPress(event);<br />
} else if (event.charCode == Mojo.Char.backspace) {<br />
this.onBackspacePress(event);<br />
} else if (event.charCode == Mojo.Char.spaceBar) {<br />
this.toggleOptionKeyMode();<br />
.<br />
.<br />
.<br />
.<br />
onDividePress: function(event) {<br />
if (this.optionKeys) {<br />
this.calculator.memMinus();<br />
this.showMemoryIndicator();<br />
this.toggleOptionKeyMode();<br />
} else {<br />
this.calculator.divide();<br />
}<br />
this.updateResults();<br />
event.stop();<br />
},<br />
<br />
onMultiplyPress: function(event) {<br />
if (this.optionKeys) {<br />
this.calculator.percent();<br />
this.toggleOptionKeyMode();<br />
} else {<br />
this.calculator.multiply();<br />
}<br />
this.updateResults();<br />
event.stop();<br />
},<br />
onSubtractPress: function(event) {<br />
if (this.optionKeys) {<br />
this.calculator.sqrt();<br />
this.toggleOptionKeyMode();<br />
} else {<br />
this.calculator.subtract();<br />
}<br />
this.updateResults();<br />
event.stop();<br />
},<br />
<br />
onAddPress: function(event) {<br />
if (this.optionKeys) {<br />
this.calculator.plusMinus();<br />
this.toggleOptionKeyMode();<br />
} else {<br />
this.calculator.add();<br />
}<br />
this.updateResults();<br />
event.stop();<br />
},</pre><br />
<br />
To change the functions, you can head to<br />
<br />
<pre>/usr/palm/applications/com.palm.app.calculator/app/models/calculator.js</pre><br />
At line 183 is <br />
<br />
<pre>percent: function() {<br />
this.xReg = this.xReg / 100;<br />
this.inputBuffer = '' + this.xReg;</pre><br />
<br />
Currently working on changing these to math.pow functions, etc. Bear with me, I'm new Java...</div>Hopspitfirehttp://wiki.webos-internals.org/index.php?title=Application:Terminal&diff=6569Application:Terminal2009-10-19T10:02:04Z<p>Hopspitfire: Links to Preware.</p>
<hr />
<div>{{application<br />
|name=Terminal<br />
|type=webOS<br />
|version=Version: Alpha 0.2.2 <br />(26 Aug 2009)<br />
|tag=Utilities<br />
|screenshot=Application_Terminal.jpg<br />
|description=<br />
<br />
== Summary == <br />
<br />
Terminal is a mojo applicaton for the Pre which runs a full VT-100 or Linux terminal in a mojo scene. Terminal relies on a custom written plugin developed from community research which allows the mojo app to talk to the back end. It can be used for local operation to run your Pre, or can reach out from the Pre to other computers. <br />
<br />
== Status ==<br />
<br />
This is alpha software. Consider yourself lucky if it works at all. Many people have put many hours of hard work in to get just this far - respect that effort when making comments and suggestions.<br />
<br />
==Installation==<br />
Install [[Application:Preware|Preware]], WebOS Internal's over the air installer, and simply choose and install Terminal from the available applications. <br />
<br />
== License ==<br />
<br />
Please be aware that org.webosinternals.terminal and org.webosinternals.termplugin are licensed under the GPLv2.<br />
<br />
They cannot be used by a closed source application. If you want to use them in a non-GPLv2 but otherwise open source application, please contact the authors.<br />
<br />
== Operating notes ==<br />
<br />
Non-obvious keys:<br />
<br />
<Table><TR><TD><br />
{{{!}} border="1" cellpadding="4"<br />
{{!}}Desired<br />
{{!}}On Pre<br />
{{!}}-<br />
{{!}}Delete<br />
{{!}}Gesture area - .<br />
{{!}}-<br />
{{!}}Insert<br />
{{!}}Gesture area - 0<br />
{{!}}-<br />
{{!}}Home<br />
{{!}}Gesture area - 1<br />
{{!}}-<br />
{{!}}Up<br />
{{!}}Gesture area - 2<br />
{{!}}-<br />
{{!}}PgUp<br />
{{!}}Gesture area - 3<br />
{{!}}-<br />
{{!}}Left<br />
{{!}}Gesture area - 4<br />
{{!}}-<br />
{{!}}Right<br />
{{!}}Gesture area - 6 <br />
{{!}}-<br />
{{!}}End<br />
{{!}}Gesture area - 7<br />
{{!}}}<br />
</TD><TD> </TD><TD><br />
{{{!}} border="1" cellpadding="4"<br />
{{!}}Desired<br />
{{!}}On Pre<br />
{{!}}-<br />
{{!}}Down<br />
{{!}}Gesture area - 8<br />
{{!}}-<br />
{{!}}PgDn<br />
{{!}}Gesture area - 9<br />
{{!}}-<br />
{{!}}Control<br />
{{!}}Sym<br />
{{!}}-<br />
{{!}}Esc<br />
{{!}}Orange-Space<br />
{{!}}-<br />
{{!}}Pipe<br />
{{!}}Orange-Period ("." key) <br />
{{!}}-<br />
{{!}}Tab<br />
{{!}}Sym-I <br />
{{!}}-<br />
{{!}}<<br />
{{!}}Shift-, <br />
{{!}}-<br />
{{!}}><br />
{{!}}Shift-.<br />
{{!}}}<br />
</TD></TR></Table><br />
* (Sym is Control and Control I is the standard tab code)<br />
<br />
<br />
Rotating the pre will take the terminal to landscape mode. The keyboard will not rotate with you. Attempting to physically force the keyboard to rotate to the proper orientation for landscape mode is known to bork a Pre. :)<br />
<br />
Support for both "linux" and "vt100" term types should now be supported, so an export TERM line should no longer be needed. If you find your screen filling with gibberish that looks like ANSI codes, however, make sure you're using 0.1.4 or later version, and report here or in the IRC channel what you were running in the terminal that caused the issue.<br />
<br />
If you do see odd behavior, you can force the more compatible vt100 terminal type by typing: <br />
<br />
export TERM=vt100<br />
<br />
(followed by enter) Note that the case of that command is important.<br />
<br />
=== Recent enhancements ===<br />
<br />
* Prompt for login to enhance security / protect against rogue applications embedding termplugin (more convenient and equally secure method being developed for future release)<br />
<br />
* Color!<br />
<br />
* Arrow keys, hold a finger on the gesture area so that the white LED lights up, and use the numbers area as if it were a direction pad (ie 2, 4, 6, 8, correspond to up, left, right, down, respectively)<br />
<br />
* Several performance enhancements<br />
<br />
* Screen scrolls automagically (no more flicking to keep up)<br />
<br />
* Comma / underscore key bugs fixed<br />
<br />
* Preferences are now saved<br />
<br />
=== Known bugs ===<br />
<br />
* The command 'reset' does not work; running it actually messed up the state of the terminal (ex. backspace no longer works).<br />
* Some ansiFlags are not being used (ex. blink, italics etc. don't have any visual effect)<br />
* The keybindings need to be redefinable.<br />
<br />
Remember, this is early alpha software. You're lucky it works at all.<br />
<br />
Reported issues:<br />
<br />
* Doesn't display a return in nano properly unless the screen is rotated<br />
* No action after running exit in session should restart and ask for a new login<br />
<br />
Some limitations: Many keys are not implemented. We're working on it, maybe even as you read this. :)<br />
<br />
Y and U: Y and U in the emulator return the same raw keycode due to a bug in the emulator. However we're obtaining the key values a better way now so terminal should no longer be susceptible to this flaw.<br />
<br />
== Repository ==<br />
<br />
Terminal can be found in the git.webos-internals.org source code repositories.<br />
<br />
For commit permission to the project, contact destinal on #webos-internals or email [[mailto:predestinal@gmail.com predestinal@gmail.com]]<br />
<br />
==Command Line Installation ==<br />
<br />
Don't use the command line to install Terminal. Install [[Preware]] first (by using the command line if you must), and then use [[Preware]] to install Terminal.<br />
<br />
}}</div>Hopspitfirehttp://wiki.webos-internals.org/index.php?title=Talk:Backing_Up_via_Rsync&diff=6467Talk:Backing Up via Rsync2009-10-13T16:08:34Z<p>Hopspitfire: oops</p>
<hr />
<div>==Rsync Daemon==<br />
<br />
Why turn on the rsync daemon at all? This could easily be accomplished simply by running <br />
<br />
'''rsync -HrlptgoDPvvS --force --delete --del --stats -e ssh root@IPADDRESS:/ /media/pre-backup/'''<br />
<br />
Also, since ''-P'' includes ''--progress'', there's no reason to call it a second time.<br />
<br />
-JackieRipper<br />
<br />
<br />
We don't have a root password set up on the Pre, it's using sudo therefore that's why ssh won't work. Rsyncd.conf gives the rsync daemon root privileges so it can mirror the device. I'm be open to suggestions, but I'm trying to make this fit in with the [[Next_steps | next steps]] guide and limit the number of steps.<br />
<br />
Thanks for pointing out the redundancy on --progress.<br />
<br />
-hopspitfire<br />
<br />
<br />
Ahhh yes. I keep forgetting that not everyone set up keys for root access.<br />
<br />
-JackieRipper<br />
<br />
<br />
You dont need to be root to use the rsync over ssh to backup, the pervious command will work if you are using the username and password set up in the optware setup.<br />
<br />
'''rsync -HrlptgoDPvvS --force --delete --del --stats -e username@IPADDRESS:/ /media/pre-backup/'''<br />
<br />
I also dont think you need the "ssh" in the command the new versions of rsync use it automatically.<br />
I have writen up another tutorial of how to back up the pre without setting up the rsync daemon. check it out [http://forums.precentral.net/web-os-development/207665-using-rsync-do-complete-backup-your-pre.html here]. I have not done a restore yet so I still have to look into that but I see no reason why it cant be done over ssh as long as the partition is r/w and the user has sudo configured.<br />
<br />
-elpollodiablo<br />
<br />
The problem with running 'rsync -avz' (in your article) is that the files in your backup directory won't get removed when they're not present on the Pre, only overwritten. Have you tested your command above with a normal user account, and did you run into any permission issues? I tested the restore process and it works so far with the methods in the article. -[[User:Hopspitfire|hopspitfire]] 16:07, 13 October 2009 (UTC)<br />
<br />
==Additions==<br />
<br />
I've added these to my .profile on the Pre:<br />
exclude1="--exclude=/proc --exclude=/sys --exclude=/tmp/webdiskcache"<br />
exclude2="--exclude=/media/internal/AUDIO --exclude=/media/internal/Place_iTunes_Uses"<br />
syncopt1="-az --partial --progress --stats --delete-after --bwlimit=300 --numeric-ids"<br />
syncpath=" / me@$IPADDRESS:~/PreRSync/ "<br />
alias Sync='d=`date +%Y%m%d.%H%M%S` ; sudo rsync --rsync-path=sudo\ rsync $syncopt1 -b --backup-dir=~/PreRSync.bak/$d $syncpath $exclude1 $exclude2'<br />
On the server in the /etc/sudoers I've added something like this (not sure this is the most secure thing to do):<br />
me ALL=(ALL) ALL, NOPASSWD: /usr/bin/rsync<br />
Now I can simply login to the Pre and run Sync, it prompts for a password at the server but hostkeys could be used to avoid that.<br />
The addition of the dated backup options means that I get a copy of any removed or overwritten files at the server.<br />
I use something called cwrsync which I believe is the cygwin rsync command without installing all of cygwin, might be handy and simple enough for windows users.<br />
--[[User:Dolio|Dolio]] 07:02, 1 October 2009 (UTC)<br />
<br />
:Nice additions and thanks for sharing, feel free to add them to the article. I'll have to try these myself. -[[User:Hopspitfire|hopspitfire]] 07:05, 1 October 2009 (UTC)<br />
<br />
==Pre Rebooting Issue==<br />
<br />
If you don't exclude some of the directories then the Pre reboots when the backup process touches them. [[User:hmagoo|-hmagoo]]<br />
<br />
:Can you specify which files/directories prompt the reboot? -[[User:Hopspitfire|hopspitfire]] 02:57, 20 August 2009 (UTC)<br />
<br />
::I could narrow it down to proc and/or sys, that's narrow enough for me to exclude both, any progress on restore testing? I'm not running an emulator. [[User:hmagoo|-hmagoo]]<br />
<br />
:I tested the restore process and it works. Can you run the backup process and send the output to a file (rsync ... > /media/internal/rsync.log) and post it? -[[User:Hopspitfire|hopspitfire]] 00:49, 24 August 2009 (UTC)<br />
<br />
::[http://sites.google.com/site/hmagoosite/rsync-outputs.tar.gz rsync-outputs.tar.gz] this was the console and log output from running a backup. I had already a backup in place in the destination but excluded /dev, /sys/ and /proc initially, ran it this time without those exclusions to test it out (again, as I saw this reboot the very first time I tried this method). rebooted right after this line in the console, similar in the log.<br />
rsync: read errors mapping "/sys/devices/platform/lcd-controller/ctrl_reg_dump" (in root): No data available (61)<br />
[[User:hmagoo|-hmagoo]]<br />
::I ran the backup again excluding /sys and everything completed, only errors I got in the console were:<br />
<br />
rsync: send_files failed to open "/proc/sys/kernel/sched_nr_migrate" (in root): Permission denied (13)<br />
<br />
rsync: send_files failed to open "/proc/sys/net/ipv4/route/flush" (in root): Permission denied (13)<br />
<br />
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1524) [generator=3.0.5]<br />
<br />
[[User:hmagoo|-hmagoo]]<br />
<br />
Thanks for attaching your log. /sys and /proc don't need to be included in the backup, but /dev does (to initialize devices on boot). After testing the backup and restore, the easiest way is just mkdir the /sys and /proc directories and exlude them in the backup. Does the pre still restart when you excluded those directories?? -[[User:Hopspitfire|hopspitfire]] 21:23, 26 August 2009 (UTC)<br />
<br />
Shouldn't /dev exist fine after a restore and before rsync backup restore? I guess if you made some strange volume changes, but still. --[[User:NetWhiz|NetWhiz]] 21:59, 26 August 2009 (UTC)<br />
<br />
I was using /dev as an example of a directory that _shouldn't_ be excluded in the backup process, so /dev will exist after a backup prior to a restore (otherwise the Pre won't boot because it can't initialize the mapper devices for storage). -[[User:Hopspitfire|hopspitfire]] 22:37, 26 August 2009 (UTC)<br />
<br />
You mean it SHOULD be excluded b/c you will not need to restore it. --[[User:NetWhiz|NetWhiz]] 22:54, 26 August 2009 (UTC)<br />
<br />
(failed=reboot).. failed with no excludes. successful with /dev/,/proc,/sys excluded. successful with /sys excluded. but with those three error messages.--[[User:Hmagoo|Hmagoo]] 23:52, 26 August 2009 (UTC)<br />
<br />
:@NetWhiz: /dev needs to be populated on the actual filesystem (before devfs/udev get loaded) for a *nix system to boot.<br />
<br />
:@Hmagoo: Thanks, I went ahead and fixed the lines in the article.<br />
<br />
:-[[User:Hopspitfire|hopspitfire]] 00:12, 27 August 2009 (UTC)<br />
<br />
I understand, BUT when you do a restore with WebOS Doctor it will already be there. Are we not talking about the same thing or are we just cross talking? --[[User:NetWhiz|NetWhiz]] 01:11, 27 August 2009 (UTC)<br />
<br />
:OH, I'm talking about a restore using rsync ;) (in this guide, after the intial webOS Doctor). I still don't know if we should be overwriting the entire system (with the rsync backup, including /dev). Any ideas on this? My reasoning for doing a full system overwrite is version compatibility. -[[User:Hopspitfire|hopspitfire]] 01:16, 27 August 2009 (UTC)<br />
<br />
:LOL! I would say NOT to overwrite /dev b/c it should already be setup correctly and there is nothing anyone should be doing in there with any mod anyway that I have seen. Trying to overwrite some of the virtual devices can be a BAD thing as some have seen (crashes, freezes, etc.) Just my thoughts. --[[User:NetWhiz|NetWhiz]] 01:58, 27 August 2009 (UTC)</div>Hopspitfirehttp://wiki.webos-internals.org/index.php?title=Talk:Backing_Up_via_Rsync&diff=6466Talk:Backing Up via Rsync2009-10-13T16:08:14Z<p>Hopspitfire: Response edit.</p>
<hr />
<div>==Rsync Daemon==<br />
<br />
Why turn on the rsync daemon at all? This could easily be accomplished simply by running <br />
<br />
'''rsync -HrlptgoDPvvS --force --delete --del --stats -e ssh root@IPADDRESS:/ /media/pre-backup/'''<br />
<br />
Also, since ''-P'' includes ''--progress'', there's no reason to call it a second time.<br />
<br />
-JackieRipper<br />
<br />
<br />
We don't have a root password set up on the Pre, it's using sudo therefore that's why ssh won't work. Rsyncd.conf gives the rsync daemon root privileges so it can mirror the device. I'm be open to suggestions, but I'm trying to make this fit in with the [[Next_steps | next steps]] guide and limit the number of steps.<br />
<br />
Thanks for pointing out the redundancy on --progress.<br />
<br />
-hopspitfire<br />
<br />
<br />
Ahhh yes. I keep forgetting that not everyone set up keys for root access.<br />
<br />
-JackieRipper<br />
<br />
<br />
You dont need to be root to use the rsync over ssh to backup, the pervious command will work if you are using the username and password set up in the optware setup.<br />
<br />
'''rsync -HrlptgoDPvvS --force --delete --del --stats -e username@IPADDRESS:/ /media/pre-backup/'''<br />
<br />
I also dont think you need the "ssh" in the command the new versions of rsync use it automatically.<br />
I have writen up another tutorial of how to back up the pre without setting up the rsync daemon. check it out [http://forums.precentral.net/web-os-development/207665-using-rsync-do-complete-backup-your-pre.html here]. I have not done a restore yet so I still have to look into that but I see no reason why it cant be done over ssh as long as the partition is r/w and the user has sudo configured.<br />
<br />
-elpollodiablo<br />
<br />
The problem with running 'rsync -avz' (in your article) is that the files in your backup directory won't get removed when they're not present on the Pre, only overwritten. Have you tested your command above with a normal user account, and did you run into any permission issues? I tested the backup process and it works so far with the methods in the article. -[[User:Hopspitfire|hopspitfire]] 16:07, 13 October 2009 (UTC)<br />
<br />
==Additions==<br />
<br />
I've added these to my .profile on the Pre:<br />
exclude1="--exclude=/proc --exclude=/sys --exclude=/tmp/webdiskcache"<br />
exclude2="--exclude=/media/internal/AUDIO --exclude=/media/internal/Place_iTunes_Uses"<br />
syncopt1="-az --partial --progress --stats --delete-after --bwlimit=300 --numeric-ids"<br />
syncpath=" / me@$IPADDRESS:~/PreRSync/ "<br />
alias Sync='d=`date +%Y%m%d.%H%M%S` ; sudo rsync --rsync-path=sudo\ rsync $syncopt1 -b --backup-dir=~/PreRSync.bak/$d $syncpath $exclude1 $exclude2'<br />
On the server in the /etc/sudoers I've added something like this (not sure this is the most secure thing to do):<br />
me ALL=(ALL) ALL, NOPASSWD: /usr/bin/rsync<br />
Now I can simply login to the Pre and run Sync, it prompts for a password at the server but hostkeys could be used to avoid that.<br />
The addition of the dated backup options means that I get a copy of any removed or overwritten files at the server.<br />
I use something called cwrsync which I believe is the cygwin rsync command without installing all of cygwin, might be handy and simple enough for windows users.<br />
--[[User:Dolio|Dolio]] 07:02, 1 October 2009 (UTC)<br />
<br />
:Nice additions and thanks for sharing, feel free to add them to the article. I'll have to try these myself. -[[User:Hopspitfire|hopspitfire]] 07:05, 1 October 2009 (UTC)<br />
<br />
==Pre Rebooting Issue==<br />
<br />
If you don't exclude some of the directories then the Pre reboots when the backup process touches them. [[User:hmagoo|-hmagoo]]<br />
<br />
:Can you specify which files/directories prompt the reboot? -[[User:Hopspitfire|hopspitfire]] 02:57, 20 August 2009 (UTC)<br />
<br />
::I could narrow it down to proc and/or sys, that's narrow enough for me to exclude both, any progress on restore testing? I'm not running an emulator. [[User:hmagoo|-hmagoo]]<br />
<br />
:I tested the restore process and it works. Can you run the backup process and send the output to a file (rsync ... > /media/internal/rsync.log) and post it? -[[User:Hopspitfire|hopspitfire]] 00:49, 24 August 2009 (UTC)<br />
<br />
::[http://sites.google.com/site/hmagoosite/rsync-outputs.tar.gz rsync-outputs.tar.gz] this was the console and log output from running a backup. I had already a backup in place in the destination but excluded /dev, /sys/ and /proc initially, ran it this time without those exclusions to test it out (again, as I saw this reboot the very first time I tried this method). rebooted right after this line in the console, similar in the log.<br />
rsync: read errors mapping "/sys/devices/platform/lcd-controller/ctrl_reg_dump" (in root): No data available (61)<br />
[[User:hmagoo|-hmagoo]]<br />
::I ran the backup again excluding /sys and everything completed, only errors I got in the console were:<br />
<br />
rsync: send_files failed to open "/proc/sys/kernel/sched_nr_migrate" (in root): Permission denied (13)<br />
<br />
rsync: send_files failed to open "/proc/sys/net/ipv4/route/flush" (in root): Permission denied (13)<br />
<br />
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1524) [generator=3.0.5]<br />
<br />
[[User:hmagoo|-hmagoo]]<br />
<br />
Thanks for attaching your log. /sys and /proc don't need to be included in the backup, but /dev does (to initialize devices on boot). After testing the backup and restore, the easiest way is just mkdir the /sys and /proc directories and exlude them in the backup. Does the pre still restart when you excluded those directories?? -[[User:Hopspitfire|hopspitfire]] 21:23, 26 August 2009 (UTC)<br />
<br />
Shouldn't /dev exist fine after a restore and before rsync backup restore? I guess if you made some strange volume changes, but still. --[[User:NetWhiz|NetWhiz]] 21:59, 26 August 2009 (UTC)<br />
<br />
I was using /dev as an example of a directory that _shouldn't_ be excluded in the backup process, so /dev will exist after a backup prior to a restore (otherwise the Pre won't boot because it can't initialize the mapper devices for storage). -[[User:Hopspitfire|hopspitfire]] 22:37, 26 August 2009 (UTC)<br />
<br />
You mean it SHOULD be excluded b/c you will not need to restore it. --[[User:NetWhiz|NetWhiz]] 22:54, 26 August 2009 (UTC)<br />
<br />
(failed=reboot).. failed with no excludes. successful with /dev/,/proc,/sys excluded. successful with /sys excluded. but with those three error messages.--[[User:Hmagoo|Hmagoo]] 23:52, 26 August 2009 (UTC)<br />
<br />
:@NetWhiz: /dev needs to be populated on the actual filesystem (before devfs/udev get loaded) for a *nix system to boot.<br />
<br />
:@Hmagoo: Thanks, I went ahead and fixed the lines in the article.<br />
<br />
:-[[User:Hopspitfire|hopspitfire]] 00:12, 27 August 2009 (UTC)<br />
<br />
I understand, BUT when you do a restore with WebOS Doctor it will already be there. Are we not talking about the same thing or are we just cross talking? --[[User:NetWhiz|NetWhiz]] 01:11, 27 August 2009 (UTC)<br />
<br />
:OH, I'm talking about a restore using rsync ;) (in this guide, after the intial webOS Doctor). I still don't know if we should be overwriting the entire system (with the rsync backup, including /dev). Any ideas on this? My reasoning for doing a full system overwrite is version compatibility. -[[User:Hopspitfire|hopspitfire]] 01:16, 27 August 2009 (UTC)<br />
<br />
:LOL! I would say NOT to overwrite /dev b/c it should already be setup correctly and there is nothing anyone should be doing in there with any mod anyway that I have seen. Trying to overwrite some of the virtual devices can be a BAD thing as some have seen (crashes, freezes, etc.) Just my thoughts. --[[User:NetWhiz|NetWhiz]] 01:58, 27 August 2009 (UTC)</div>Hopspitfirehttp://wiki.webos-internals.org/index.php?title=Talk:Backing_Up_via_Rsync&diff=6465Talk:Backing Up via Rsync2009-10-13T16:07:15Z<p>Hopspitfire: Response.</p>
<hr />
<div>==Rsync Daemon==<br />
<br />
Why turn on the rsync daemon at all? This could easily be accomplished simply by running <br />
<br />
'''rsync -HrlptgoDPvvS --force --delete --del --stats -e ssh root@IPADDRESS:/ /media/pre-backup/'''<br />
<br />
Also, since ''-P'' includes ''--progress'', there's no reason to call it a second time.<br />
<br />
-JackieRipper<br />
<br />
<br />
We don't have a root password set up on the Pre, it's using sudo therefore that's why ssh won't work. Rsyncd.conf gives the rsync daemon root privileges so it can mirror the device. I'm be open to suggestions, but I'm trying to make this fit in with the [[Next_steps | next steps]] guide and limit the number of steps.<br />
<br />
Thanks for pointing out the redundancy on --progress.<br />
<br />
-hopspitfire<br />
<br />
<br />
Ahhh yes. I keep forgetting that not everyone set up keys for root access.<br />
<br />
-JackieRipper<br />
<br />
<br />
You dont need to be root to use the rsync over ssh to backup, the pervious command will work if you are using the username and password set up in the optware setup.<br />
<br />
'''rsync -HrlptgoDPvvS --force --delete --del --stats -e username@IPADDRESS:/ /media/pre-backup/'''<br />
<br />
I also dont think you need the "ssh" in the command the new versions of rsync use it automatically.<br />
I have writen up another tutorial of how to back up the pre without setting up the rsync daemon. check it out [http://forums.precentral.net/web-os-development/207665-using-rsync-do-complete-backup-your-pre.html here]. I have not done a restore yet so I still have to look into that but I see no reason why it cant be done over ssh as long as the partition is r/w and the user has sudo configured.<br />
<br />
-elpollodiablo<br />
<br />
The problem with running 'rsync -avz' (in your article) is that the files in your backup directory won't get removed when they're not present on the Pre, only overwritten. Have you tested your command above with a normal user account, and did you run into any permission issues? -[[User:Hopspitfire|hopspitfire]] 16:07, 13 October 2009 (UTC)<br />
<br />
==Additions==<br />
<br />
I've added these to my .profile on the Pre:<br />
exclude1="--exclude=/proc --exclude=/sys --exclude=/tmp/webdiskcache"<br />
exclude2="--exclude=/media/internal/AUDIO --exclude=/media/internal/Place_iTunes_Uses"<br />
syncopt1="-az --partial --progress --stats --delete-after --bwlimit=300 --numeric-ids"<br />
syncpath=" / me@$IPADDRESS:~/PreRSync/ "<br />
alias Sync='d=`date +%Y%m%d.%H%M%S` ; sudo rsync --rsync-path=sudo\ rsync $syncopt1 -b --backup-dir=~/PreRSync.bak/$d $syncpath $exclude1 $exclude2'<br />
On the server in the /etc/sudoers I've added something like this (not sure this is the most secure thing to do):<br />
me ALL=(ALL) ALL, NOPASSWD: /usr/bin/rsync<br />
Now I can simply login to the Pre and run Sync, it prompts for a password at the server but hostkeys could be used to avoid that.<br />
The addition of the dated backup options means that I get a copy of any removed or overwritten files at the server.<br />
I use something called cwrsync which I believe is the cygwin rsync command without installing all of cygwin, might be handy and simple enough for windows users.<br />
--[[User:Dolio|Dolio]] 07:02, 1 October 2009 (UTC)<br />
<br />
:Nice additions and thanks for sharing, feel free to add them to the article. I'll have to try these myself. -[[User:Hopspitfire|hopspitfire]] 07:05, 1 October 2009 (UTC)<br />
<br />
==Pre Rebooting Issue==<br />
<br />
If you don't exclude some of the directories then the Pre reboots when the backup process touches them. [[User:hmagoo|-hmagoo]]<br />
<br />
:Can you specify which files/directories prompt the reboot? -[[User:Hopspitfire|hopspitfire]] 02:57, 20 August 2009 (UTC)<br />
<br />
::I could narrow it down to proc and/or sys, that's narrow enough for me to exclude both, any progress on restore testing? I'm not running an emulator. [[User:hmagoo|-hmagoo]]<br />
<br />
:I tested the restore process and it works. Can you run the backup process and send the output to a file (rsync ... > /media/internal/rsync.log) and post it? -[[User:Hopspitfire|hopspitfire]] 00:49, 24 August 2009 (UTC)<br />
<br />
::[http://sites.google.com/site/hmagoosite/rsync-outputs.tar.gz rsync-outputs.tar.gz] this was the console and log output from running a backup. I had already a backup in place in the destination but excluded /dev, /sys/ and /proc initially, ran it this time without those exclusions to test it out (again, as I saw this reboot the very first time I tried this method). rebooted right after this line in the console, similar in the log.<br />
rsync: read errors mapping "/sys/devices/platform/lcd-controller/ctrl_reg_dump" (in root): No data available (61)<br />
[[User:hmagoo|-hmagoo]]<br />
::I ran the backup again excluding /sys and everything completed, only errors I got in the console were:<br />
<br />
rsync: send_files failed to open "/proc/sys/kernel/sched_nr_migrate" (in root): Permission denied (13)<br />
<br />
rsync: send_files failed to open "/proc/sys/net/ipv4/route/flush" (in root): Permission denied (13)<br />
<br />
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1524) [generator=3.0.5]<br />
<br />
[[User:hmagoo|-hmagoo]]<br />
<br />
Thanks for attaching your log. /sys and /proc don't need to be included in the backup, but /dev does (to initialize devices on boot). After testing the backup and restore, the easiest way is just mkdir the /sys and /proc directories and exlude them in the backup. Does the pre still restart when you excluded those directories?? -[[User:Hopspitfire|hopspitfire]] 21:23, 26 August 2009 (UTC)<br />
<br />
Shouldn't /dev exist fine after a restore and before rsync backup restore? I guess if you made some strange volume changes, but still. --[[User:NetWhiz|NetWhiz]] 21:59, 26 August 2009 (UTC)<br />
<br />
I was using /dev as an example of a directory that _shouldn't_ be excluded in the backup process, so /dev will exist after a backup prior to a restore (otherwise the Pre won't boot because it can't initialize the mapper devices for storage). -[[User:Hopspitfire|hopspitfire]] 22:37, 26 August 2009 (UTC)<br />
<br />
You mean it SHOULD be excluded b/c you will not need to restore it. --[[User:NetWhiz|NetWhiz]] 22:54, 26 August 2009 (UTC)<br />
<br />
(failed=reboot).. failed with no excludes. successful with /dev/,/proc,/sys excluded. successful with /sys excluded. but with those three error messages.--[[User:Hmagoo|Hmagoo]] 23:52, 26 August 2009 (UTC)<br />
<br />
:@NetWhiz: /dev needs to be populated on the actual filesystem (before devfs/udev get loaded) for a *nix system to boot.<br />
<br />
:@Hmagoo: Thanks, I went ahead and fixed the lines in the article.<br />
<br />
:-[[User:Hopspitfire|hopspitfire]] 00:12, 27 August 2009 (UTC)<br />
<br />
I understand, BUT when you do a restore with WebOS Doctor it will already be there. Are we not talking about the same thing or are we just cross talking? --[[User:NetWhiz|NetWhiz]] 01:11, 27 August 2009 (UTC)<br />
<br />
:OH, I'm talking about a restore using rsync ;) (in this guide, after the intial webOS Doctor). I still don't know if we should be overwriting the entire system (with the rsync backup, including /dev). Any ideas on this? My reasoning for doing a full system overwrite is version compatibility. -[[User:Hopspitfire|hopspitfire]] 01:16, 27 August 2009 (UTC)<br />
<br />
:LOL! I would say NOT to overwrite /dev b/c it should already be setup correctly and there is nothing anyone should be doing in there with any mod anyway that I have seen. Trying to overwrite some of the virtual devices can be a BAD thing as some have seen (crashes, freezes, etc.) Just my thoughts. --[[User:NetWhiz|NetWhiz]] 01:58, 27 August 2009 (UTC)</div>Hopspitfirehttp://wiki.webos-internals.org/index.php?title=USBnet_networking_setup&diff=6304USBnet networking setup2009-10-06T21:31:54Z<p>Hopspitfire: </p>
<hr />
<div>USBnet allows you to create an IP network over the USB cable. This will allow you to talk to your Pre without WiFi or Bluetooth, and it keeps the battery charged.<br />
<br />
This page is a duplicate of [[USBnet Setup]]<br />
<br />
== On Your Linux-Accessed Pre==<br />
<br />
run<br />
<br />
<pre><nowiki><br />
usbnet enable<br />
</nowiki></pre><br />
<br />
as root and then restart the device as instructed. When it comes back up, run 'ifconfig' and verify you now have a usb0 interface. Mine had the IP of 192.168.0.202. The IP can be changed in /etc/network/interfaces. After a change, bounce the usb0 interface: ifdown usb0; ifup usb0<br />
<br />
== Optional Setup to enable DHCP (so you don't have to set the IP address below)==<br />
# Edit /etc/dnsmasq.palm.conf<br />
# Add interface=usb0 below the existing interface line<br />
# Add dhcp-range=192.168.0.11,192.168.0.12,12h below the existing dhcp-range<br />
# Restart the dnsmasq process: stop dnsmasq; start dnsmasq<br />
<br />
== On Windows XP==<br />
# Download the driver here: [http://gitorious.org/webos-internals/usbnet-pre/blobs/raw/master/windows/usbnet-pre.inf usbnet-pre windows driver(32 bit)] or [http://gitorious.org/webos-internals/usbnet-pre/blobs/raw/master/windows/usbnet-pre-64.inf usbnet-pre windows driver(64 bit)] and save the file to disk as usbnet-pre.inf<br />
# Plug the Pre into your computer. The Add New Hardware Wizard should come up, asking to install an ethernet gadget.<br />
# Follow detailed instructions (screenshots and all) here if you are unfamiliar with installing drivers: [http://docwiki.gumstix.org/index.php/Windows_XP_usbnet Windows XP USBnet install]<br />
# When you finish, you should have a network setup. Goto "Network Connections" via Network Places or the Control Panel<br />
# If you have previously installed Novacom on this machine, bring up Windows Task Manager before proceeding. You may discover a conflict between USBnet and novacomd where the novacomd process will consume lots of CPU and your machine will become very unresponsive. Since you have Task Manager up already, you can easily use it to kill novacomd if this occurs.<br />
# Right-click on the new network, which probably be named Local Area Connection 2<br />
# Select Properties<br />
# Double click on Internet Protocol (TCP/IP)<br />
# Click Advanced<br />
# UNCheck Automatic metric, put 100 in its place. This will keep Windows from attempting to [http://support.microsoft.com/default.aspx/kb/299540 route] traffic over the Pre (it won't work anyway)<br />
# Click OK<br />
# If you did not enable DHCP, you will need to set an IP address manually:<br />
# Set your IP address as 192.168.0.203 ( could be anything except 192.168.0.202, assuming this is the Pre's address)<br />
# Subnet mask: 255.255.255.0<br />
# Default Gateway: 192.168.0.202 (your Pre's address for the usb0 interface)<br />
# Set DNS to your preferred servers. Addresses are not currently resolving for me, regardless of the server I use<br />
# Hit OK<br />
<br />
The network should now be setup. To verify, ssh to 192.168.0.202, and you should be prompted for a login.<br />
<br />
=== Notes:===<br />
* This has only been tested on Windows XP 32 bit. For Windows 2000, you will need an additional download from Microsoft. The link is in the header of the INF file.<br />
- From zinge: I have several confirmations via the precentral forums that this only works on XP sp3. Sp2 gives "error code 10, the device cannot start". Has anyone followed this process and had it work on XP sp2? Update: Upgraded to SP3 on my laptop, and it immediately started working.<br />
* The 64 bit driver is unverified at this point, but I think it works.<br />
* wayne47: I was having all kinds of issues with this on my WinXP notebook. Clicking on the //safely remove hardware// icon in the tray indicated two devices associated with the Pre: Novacom and a USB drive. Stopping the Novacom service resolved the issues. Note that I need to do this each time that I attach the Pre via USB.<br />
<br />
== On Mac OS X==<br />
mdklein notes that as of 1.0.4 the g_composite driver appears to only operate usbnet in rndis mode which is not the method OS-X includes. He has made a version that implements CDC-ECM, but it breaks a few other things. Working on this.<br />
<br />
Allegedly, Mac OS X 10.4 should create a usb0 interface after you plug in a usbnet enabled pre. 10.5 needs a modified driver, which is not working for me (and carazy) yet.<br />
See http://bugcommunity.com/wiki/index.php/Start_Guide_Mac_OS_X_10.5 for more details.<br />
<br />
== Windows Vista (64-bit)==<br />
* If driver/device fails to come online in network sharing center, simply click start->right click computer-> properties ... Click Device manager and look for the device "Linux USB Ethernet/RNDIS Gadget" you can then right click disable/enable the device. That's all. <br />
* This device/driver can also be cycled with MS Windows own [http://support.microsoft.com/kb/311272 DevCon] application.<br />
<br />
== Windows 7 RC Build 7100 (64-bit)==<br />
* User lars47 confirms this is working on Windows 7 x64. Wrestled with the driver installation at first, it would not install, Windows complained of a file in use. I rebooted, and the next time I plugged in the Pre via USB, it "just worked". Unsure if I caused the problem, or if a reboot is required/recommended.<br />
<br />
== Linux Support==<br />
Once usbnet was enabled on the Pre, my Ubuntu 9.04 (64 bit) immediately identified the Pre in the NetworkManager and worked without modification to the OS. It seems to already have a driver that works.<br />
<br />
== Return to the next steps page: [[Next_steps | Next Steps ]].==</div>Hopspitfirehttp://wiki.webos-internals.org/index.php?title=Talk:Backing_Up_via_Rsync&diff=6072Talk:Backing Up via Rsync2009-10-01T07:05:49Z<p>Hopspitfire: </p>
<hr />
<div>==Rsync Daemon==<br />
<br />
Why turn on the rsync daemon at all? This could easily be accomplished simply by running <br />
<br />
'''rsync -HrlptgoDPvvS --force --delete --del --stats -e ssh root@IPADDRESS:/ /media/pre-backup/'''<br />
<br />
Also, since ''-P'' includes ''--progress'', there's no reason to call it a second time.<br />
<br />
-JackieRipper<br />
<br />
<br />
We don't have a root password set up on the Pre, it's using sudo therefore that's why ssh won't work. Rsyncd.conf gives the rsync daemon root privileges so it can mirror the device. I'm be open to suggestions, but I'm trying to make this fit in with the [[Next_steps | next steps]] guide and limit the number of steps.<br />
<br />
Thanks for pointing out the redundancy on --progress.<br />
<br />
-hopspitfire<br />
<br />
<br />
Ahhh yes. I keep forgetting that not everyone set up keys for root access.<br />
<br />
-JackieRipper<br />
<br />
==Additions==<br />
<br />
I've added these to my .profile on the Pre:<br />
exclude1="--exclude=/proc --exclude=/sys --exclude=/tmp/webdiskcache"<br />
exclude2="--exclude=/media/internal/AUDIO --exclude=/media/internal/Place_iTunes_Uses"<br />
syncopt1="-az --partial --progress --stats --delete-after --bwlimit=300 --numeric-ids"<br />
syncpath=" / me@$IPADDRESS:~/PreRSync/ "<br />
alias Sync='d=`date +%Y%m%d.%H%M%S` ; sudo rsync --rsync-path=sudo\ rsync $syncopt1 -b --backup-dir=~/PreRSync.bak/$d $syncpath $exclude1 $exclude2'<br />
On the server in the /etc/sudoers I've added something like this (not sure this is the most secure thing to do):<br />
me ALL=(ALL) ALL, NOPASSWD: /usr/bin/rsync<br />
Now I can simply login to the Pre and run Sync, it prompts for a password at the server but hostkeys could be used to avoid that.<br />
The addition of the dated backup options means that I get a copy of any removed or overwritten files at the server.<br />
I use something called cwrsync which I believe is the cygwin rsync command without installing all of cygwin, might be handy and simple enough for windows users.<br />
--[[User:Dolio|Dolio]] 07:02, 1 October 2009 (UTC)<br />
<br />
:Nice additions and thanks for sharing, feel free to add them to the article. I'll have to try these myself. -[[User:Hopspitfire|hopspitfire]] 07:05, 1 October 2009 (UTC)<br />
<br />
==Pre Rebooting Issue==<br />
<br />
If you don't exclude some of the directories then the Pre reboots when the backup process touches them. [[User:hmagoo|-hmagoo]]<br />
<br />
:Can you specify which files/directories prompt the reboot? -[[User:Hopspitfire|hopspitfire]] 02:57, 20 August 2009 (UTC)<br />
<br />
::I could narrow it down to proc and/or sys, that's narrow enough for me to exclude both, any progress on restore testing? I'm not running an emulator. [[User:hmagoo|-hmagoo]]<br />
<br />
:I tested the restore process and it works. Can you run the backup process and send the output to a file (rsync ... > /media/internal/rsync.log) and post it? -[[User:Hopspitfire|hopspitfire]] 00:49, 24 August 2009 (UTC)<br />
<br />
::[http://sites.google.com/site/hmagoosite/rsync-outputs.tar.gz rsync-outputs.tar.gz] this was the console and log output from running a backup. I had already a backup in place in the destination but excluded /dev, /sys/ and /proc initially, ran it this time without those exclusions to test it out (again, as I saw this reboot the very first time I tried this method). rebooted right after this line in the console, similar in the log.<br />
rsync: read errors mapping "/sys/devices/platform/lcd-controller/ctrl_reg_dump" (in root): No data available (61)<br />
[[User:hmagoo|-hmagoo]]<br />
::I ran the backup again excluding /sys and everything completed, only errors I got in the console were:<br />
<br />
rsync: send_files failed to open "/proc/sys/kernel/sched_nr_migrate" (in root): Permission denied (13)<br />
<br />
rsync: send_files failed to open "/proc/sys/net/ipv4/route/flush" (in root): Permission denied (13)<br />
<br />
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1524) [generator=3.0.5]<br />
<br />
[[User:hmagoo|-hmagoo]]<br />
<br />
Thanks for attaching your log. /sys and /proc don't need to be included in the backup, but /dev does (to initialize devices on boot). After testing the backup and restore, the easiest way is just mkdir the /sys and /proc directories and exlude them in the backup. Does the pre still restart when you excluded those directories?? -[[User:Hopspitfire|hopspitfire]] 21:23, 26 August 2009 (UTC)<br />
<br />
Shouldn't /dev exist fine after a restore and before rsync backup restore? I guess if you made some strange volume changes, but still. --[[User:NetWhiz|NetWhiz]] 21:59, 26 August 2009 (UTC)<br />
<br />
I was using /dev as an example of a directory that _shouldn't_ be excluded in the backup process, so /dev will exist after a backup prior to a restore (otherwise the Pre won't boot because it can't initialize the mapper devices for storage). -[[User:Hopspitfire|hopspitfire]] 22:37, 26 August 2009 (UTC)<br />
<br />
You mean it SHOULD be excluded b/c you will not need to restore it. --[[User:NetWhiz|NetWhiz]] 22:54, 26 August 2009 (UTC)<br />
<br />
(failed=reboot).. failed with no excludes. successful with /dev/,/proc,/sys excluded. successful with /sys excluded. but with those three error messages.--[[User:Hmagoo|Hmagoo]] 23:52, 26 August 2009 (UTC)<br />
<br />
:@NetWhiz: /dev needs to be populated on the actual filesystem (before devfs/udev get loaded) for a *nix system to boot.<br />
<br />
:@Hmagoo: Thanks, I went ahead and fixed the lines in the article.<br />
<br />
:-[[User:Hopspitfire|hopspitfire]] 00:12, 27 August 2009 (UTC)<br />
<br />
I understand, BUT when you do a restore with WebOS Doctor it will already be there. Are we not talking about the same thing or are we just cross talking? --[[User:NetWhiz|NetWhiz]] 01:11, 27 August 2009 (UTC)<br />
<br />
:OH, I'm talking about a restore using rsync ;) (in this guide, after the intial webOS Doctor). I still don't know if we should be overwriting the entire system (with the rsync backup, including /dev). Any ideas on this? My reasoning for doing a full system overwrite is version compatibility. -[[User:Hopspitfire|hopspitfire]] 01:16, 27 August 2009 (UTC)<br />
<br />
:LOL! I would say NOT to overwrite /dev b/c it should already be setup correctly and there is nothing anyone should be doing in there with any mod anyway that I have seen. Trying to overwrite some of the virtual devices can be a BAD thing as some have seen (crashes, freezes, etc.) Just my thoughts. --[[User:NetWhiz|NetWhiz]] 01:58, 27 August 2009 (UTC)</div>Hopspitfirehttp://wiki.webos-internals.org/index.php?title=Talk:Backing_Up_via_Rsync&diff=6071Talk:Backing Up via Rsync2009-10-01T07:05:37Z<p>Hopspitfire: </p>
<hr />
<div>==Rsync Daemon==<br />
<br />
Why turn on the rsync daemon at all? This could easily be accomplished simply by running <br />
<br />
'''rsync -HrlptgoDPvvS --force --delete --del --stats -e ssh root@IPADDRESS:/ /media/pre-backup/'''<br />
<br />
Also, since ''-P'' includes ''--progress'', there's no reason to call it a second time.<br />
<br />
-JackieRipper<br />
<br />
<br />
We don't have a root password set up on the Pre, it's using sudo therefore that's why ssh won't work. Rsyncd.conf gives the rsync daemon root privileges so it can mirror the device. I'm be open to suggestions, but I'm trying to make this fit in with the [[Next_steps | next steps]] guide and limit the number of steps.<br />
<br />
Thanks for pointing out the redundancy on --progress.<br />
<br />
-hopspitfire<br />
<br />
<br />
Ahhh yes. I keep forgetting that not everyone set up keys for root access.<br />
<br />
-JackieRipper<br />
<br />
=Additions=<br />
<br />
I've added these to my .profile on the Pre:<br />
exclude1="--exclude=/proc --exclude=/sys --exclude=/tmp/webdiskcache"<br />
exclude2="--exclude=/media/internal/AUDIO --exclude=/media/internal/Place_iTunes_Uses"<br />
syncopt1="-az --partial --progress --stats --delete-after --bwlimit=300 --numeric-ids"<br />
syncpath=" / me@$IPADDRESS:~/PreRSync/ "<br />
alias Sync='d=`date +%Y%m%d.%H%M%S` ; sudo rsync --rsync-path=sudo\ rsync $syncopt1 -b --backup-dir=~/PreRSync.bak/$d $syncpath $exclude1 $exclude2'<br />
On the server in the /etc/sudoers I've added something like this (not sure this is the most secure thing to do):<br />
me ALL=(ALL) ALL, NOPASSWD: /usr/bin/rsync<br />
Now I can simply login to the Pre and run Sync, it prompts for a password at the server but hostkeys could be used to avoid that.<br />
The addition of the dated backup options means that I get a copy of any removed or overwritten files at the server.<br />
I use something called cwrsync which I believe is the cygwin rsync command without installing all of cygwin, might be handy and simple enough for windows users.<br />
--[[User:Dolio|Dolio]] 07:02, 1 October 2009 (UTC)<br />
<br />
:Nice additions and thanks for sharing, feel free to add them to the article. I'll have to try these myself. -[[User:Hopspitfire|hopspitfire]] 07:05, 1 October 2009 (UTC)<br />
<br />
==Pre Rebooting Issue==<br />
<br />
If you don't exclude some of the directories then the Pre reboots when the backup process touches them. [[User:hmagoo|-hmagoo]]<br />
<br />
:Can you specify which files/directories prompt the reboot? -[[User:Hopspitfire|hopspitfire]] 02:57, 20 August 2009 (UTC)<br />
<br />
::I could narrow it down to proc and/or sys, that's narrow enough for me to exclude both, any progress on restore testing? I'm not running an emulator. [[User:hmagoo|-hmagoo]]<br />
<br />
:I tested the restore process and it works. Can you run the backup process and send the output to a file (rsync ... > /media/internal/rsync.log) and post it? -[[User:Hopspitfire|hopspitfire]] 00:49, 24 August 2009 (UTC)<br />
<br />
::[http://sites.google.com/site/hmagoosite/rsync-outputs.tar.gz rsync-outputs.tar.gz] this was the console and log output from running a backup. I had already a backup in place in the destination but excluded /dev, /sys/ and /proc initially, ran it this time without those exclusions to test it out (again, as I saw this reboot the very first time I tried this method). rebooted right after this line in the console, similar in the log.<br />
rsync: read errors mapping "/sys/devices/platform/lcd-controller/ctrl_reg_dump" (in root): No data available (61)<br />
[[User:hmagoo|-hmagoo]]<br />
::I ran the backup again excluding /sys and everything completed, only errors I got in the console were:<br />
<br />
rsync: send_files failed to open "/proc/sys/kernel/sched_nr_migrate" (in root): Permission denied (13)<br />
<br />
rsync: send_files failed to open "/proc/sys/net/ipv4/route/flush" (in root): Permission denied (13)<br />
<br />
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1524) [generator=3.0.5]<br />
<br />
[[User:hmagoo|-hmagoo]]<br />
<br />
Thanks for attaching your log. /sys and /proc don't need to be included in the backup, but /dev does (to initialize devices on boot). After testing the backup and restore, the easiest way is just mkdir the /sys and /proc directories and exlude them in the backup. Does the pre still restart when you excluded those directories?? -[[User:Hopspitfire|hopspitfire]] 21:23, 26 August 2009 (UTC)<br />
<br />
Shouldn't /dev exist fine after a restore and before rsync backup restore? I guess if you made some strange volume changes, but still. --[[User:NetWhiz|NetWhiz]] 21:59, 26 August 2009 (UTC)<br />
<br />
I was using /dev as an example of a directory that _shouldn't_ be excluded in the backup process, so /dev will exist after a backup prior to a restore (otherwise the Pre won't boot because it can't initialize the mapper devices for storage). -[[User:Hopspitfire|hopspitfire]] 22:37, 26 August 2009 (UTC)<br />
<br />
You mean it SHOULD be excluded b/c you will not need to restore it. --[[User:NetWhiz|NetWhiz]] 22:54, 26 August 2009 (UTC)<br />
<br />
(failed=reboot).. failed with no excludes. successful with /dev/,/proc,/sys excluded. successful with /sys excluded. but with those three error messages.--[[User:Hmagoo|Hmagoo]] 23:52, 26 August 2009 (UTC)<br />
<br />
:@NetWhiz: /dev needs to be populated on the actual filesystem (before devfs/udev get loaded) for a *nix system to boot.<br />
<br />
:@Hmagoo: Thanks, I went ahead and fixed the lines in the article.<br />
<br />
:-[[User:Hopspitfire|hopspitfire]] 00:12, 27 August 2009 (UTC)<br />
<br />
I understand, BUT when you do a restore with WebOS Doctor it will already be there. Are we not talking about the same thing or are we just cross talking? --[[User:NetWhiz|NetWhiz]] 01:11, 27 August 2009 (UTC)<br />
<br />
:OH, I'm talking about a restore using rsync ;) (in this guide, after the intial webOS Doctor). I still don't know if we should be overwriting the entire system (with the rsync backup, including /dev). Any ideas on this? My reasoning for doing a full system overwrite is version compatibility. -[[User:Hopspitfire|hopspitfire]] 01:16, 27 August 2009 (UTC)<br />
<br />
:LOL! I would say NOT to overwrite /dev b/c it should already be setup correctly and there is nothing anyone should be doing in there with any mod anyway that I have seen. Trying to overwrite some of the virtual devices can be a BAD thing as some have seen (crashes, freezes, etc.) Just my thoughts. --[[User:NetWhiz|NetWhiz]] 01:58, 27 August 2009 (UTC)</div>Hopspitfirehttp://wiki.webos-internals.org/index.php?title=User_talk:Hopspitfire&diff=6068User talk:Hopspitfire2009-10-01T06:49:25Z<p>Hopspitfire: </p>
<hr />
<div>== Porting pages ==<br />
<br />
Hey, welcome to the wiki. One thing: don't add your signature to pages you transfer over from the old wiki. This is a community effort, those pages will be edited by other people, and we want to try to keep a consistent look across pages. Thanks. —[[user:X1011|X1011]] 17:18, 20 July 2009 (UTC)<br />
<br />
All instances of signature have been removed -hopspitfire<br />
<br />
== / in page titles ==<br />
If you can please do not use "/" in page titles. --[[User:Templarian|Templarian]] 23:27, 20 July 2009 (UTC)<br />
<br />
== THANK YOU for your hard work on the wiki! ==<br />
<br />
Please accept this "nobody knows the trouble I've seen" award as a token of our appreciation.<br />
<br />
[[image:drudgery.jpg]]<br />
<br />
[[User:Rboatright|rboatright]] 02:11, 24 July 2009 (UTC)<br />
<br />
Congrats on becoming an Editor --[[User:Templarian|Templarian]] 13:16, 28 July 2009 (UTC)<br />
<br />
== Deletions ==<br />
<br />
I just had a horrible thought. <br />
<br />
All those deletions you're doing that are pages that only had you as an editor... <br />
<br />
if you delete the redireccts, aren't you deleting the thing that the old-page on the old-wiki links to? so you have broken the redirect FROM the old-wiki? <br />
<br />
and that means that if anyone had blog-pages or precentral posts that linked to those, THOSE are broken. <br />
<br />
I've never understood what's wrong with lots of redirects. One of my patrol pages on wikipedia has 27 redirects that end up there. And that's a GOOD thing. :-) <br />
<br />
[[User:Rboatright|rboatright]] 05:16, 31 July 2009 (UTC)<br />
<br />
<br />
agreed; see [[WebOS Internals talk:Policies and guidelines#Proposed: Redirects]] —[[user:X1011|X1011]] 05:59, 31 July 2009 (UTC)<br />
<br />
Sit tight guys, I'm fixing all the links from predev. [[User:Hopspitfire|hopspitfire]] 06:01, 31 July 2009 (UTC)<br />
*edit All broken links have been fixed on predev. Rick, thanks for bringing this up. [[User:Hopspitfire|hopspitfire]] 06:16, 31 July 2009 (UTC)<br />
<br><br />
<br />
=Support Section=<br />
<br />
== Patch webOS Show Actual Battery Percentage ==<br />
<br />
I am having difficulty importing and pushing this particular app. I was curious if you would assist me. I have the webos 1.1 update. I get to the place (look below) and then im stuck.<br><br><br />
<br />
dlbpre@castle:~$ sudo su - <br><br />
root@castle:/var/home/root# cd / <br><br />
root@castle:/# mount -o remount,rw / <br><br />
root@castle:/# quilt import Index: /usr/lib/luna/system/luna-systemui/app/controllers/bar-assistant.js <br><br><br />
<br />
of course I checked the quilt series to make sure i imported it correctly and then I pushed it and rebooted the device. When it powers back on..no change...apparently i am missing something.<br />
<br />
Sorry to ask you to "dumb it down" but i am a tyro (novice) to linux... :(<br />
<br />
thanks for your help if you do decide to assist!!!!! :-D -[[User:Dlbpre|Dlbpre]]<br />
<br />
<br />
:No problem at all. The first thing I'm noticing is that you're importing the wrong file, you'll want to import the '.patch' file. To accomplish this, you'll need to get the webos-internals modifications repo. Here:<br />
<br />
sudo -s<br />
mount -o remount,rw /<br />
cd /opt/src<br />
git clone git://gitorious.org/webos-internals/modifications.git<br />
<br />
You'll need to make sure that quilt is configured correctly, type:<br />
mkdir -p /opt/src/patches<br />
sed -ire 's|^[\s#]*QUILT_PATCHES=.*|QUILT_PATCHES=/opt/src/patches|' /opt/etc/quilt.quiltrc<br />
<br />
Make sure to remove the old series file before importing<br />
rm /opt/src/patches/series<br />
rm /opt/src/patches/bar-assistant.js<br />
<br />
Then run:<br />
quilt import /opt/src/modifications/luna/show-actual-battery-percent.patch<br />
cd /<br />
quilt push -a<br />
<br />
Then reboot:<br />
reboot<br />
<br />
Let me know if it works. -[[User:Hopspitfire|hopspitfire]] 00:27, 16 August 2009 (UTC)<br />
<br />
<br />
<br />
<br />
I get to here<br />
<br />
root@castle:/# quilt import /opt/src/modifications/luna/show-actual <br><br />
-battery-percent.patch<br><br />
Patch quilt does not exist<br><br />
root@castle:/#<br><br><br />
<br />
I followed every direction to the "T". Copy and paste precisely what was listed.<br />
<br />
Thanks for your assistance man (maybe lady). I really do appreciate the quick response.-[[User:Dlbpre|Dlbpre]]<br />
<br />
<br />
:Hrmm, can you run this command and post the output:<br />
find /opt/src<br />
<br />
-[[User:Hopspitfire|hopspitfire]] 01:15, 16 August 2009 (UTC) <br> <br> <br><br />
<br />
Here are the steps you applied to my previous question. <br> <br><br />
<br />
<br />
dlbpre@castle:~$ sudo -s<br><br />
root@castle:/var/home/dlbpre# mount -o remount,rw /<br><br />
root@castle:/var/home/dlbpre# cd /opt/src<br><br />
root@castle:/opt/src# git clone git://gitorious.org/webos-internals/modification<br />
s.git<br><br />
fatal: destination path 'modifications' already exists and is not an empty directory.<br><br />
root@castle:/opt/src#<br><br />
root@castle:/opt/src# mkdir -p /opt/src/patches<br><br />
root@castle:/opt/src#<br><br />
root@castle:/opt/src# sed -ire 's|^[\s#]*QUILT_PATCHES=.*|QUILT_PATCHES=/opt/src<br><br />
/patches|' /opt/etc/quilt.quiltrc<br><br />
root@castle:/opt/src# rm /opt/src/patches/series<br><br />
rm: cannot remove '/opt/src/patches/series': No such file or directory<br><br />
root@castle:/opt/src# rm /opt/src/patches/bar-assistant.js<br><br />
rm: cannot remove '/opt/src/patches/bar-assistant.js': No such file or directory<br><br />
root@castle:/opt/src# quilt import /opt/src/modifications/luna/show-actual-batte<br><br />
ry-percent.patch<br><br />
Importing patch /opt/src/patches/show-actual-battery-percent.patch<br><br />
root@castle:/opt/src# cd /<br><br />
root@castle:/# quilt push -a<br><br />
File series fully applied, ends at patch /opt/src/patches/bar-assistant.js<br><br />
root@castle:/# mount -o remount,ro /<br><br />
root@castle:/# reboot<br><br />
/bin/sh: reboot: not found<br><br />
<br />
<br><br><br><br />
<br />
As requested.<br />
<br />
root@castle:/# find /opt/src <br><br />
/opt/src <br><br />
/opt/src/patches <br><br />
/opt/src/patches/show-actual-battery-percent.patch <br><br />
/opt/src/patches/series <br><br />
/opt/src/patches/default-to-month-view.patch <br><br />
/opt/src/patches/capture_with_volume_keys.patch <br><br />
/opt/src/modifications <br><br />
/opt/src/modifications/amazonstore <br><br />
/opt/src/modifications/amazonstore/amazon_evdo.patch <br><br />
/opt/src/modifications/applauncher <br><br />
/opt/src/modifications/applauncher/add-delete-pages-in-the-launcher.patch <br><br />
/opt/src/modifications/camera <br><br />
/opt/src/modifications/camera/capture_with_volume_keys.patch <br><br />
/opt/src/modifications/install <br><br />
/opt/src/modifications/clock <br><br />
/opt/src/modifications/clock/hidden-clock.patch <br><br />
/opt/src/modifications/messaging <br><br />
/opt/src/modifications/messaging/messaging-sounds.patch <br><br />
/opt/src/modifications/messaging/message-forwarding.patch <br><br />
/opt/src/modifications/.git <br><br />
/opt/src/modifications/.git/logs <br><br />
/opt/src/modifications/.git/logs/HEAD <br><br />
/opt/src/modifications/.git/logs/refs <br><br />
/opt/src/modifications/.git/logs/refs/heads <br><br />
/opt/src/modifications/.git/logs/refs/heads/master <br><br />
/opt/src/modifications/.git/logs/refs/remotes <br><br />
/opt/src/modifications/.git/logs/refs/remotes/origin <br><br />
/opt/src/modifications/.git/logs/refs/remotes/origin/HEAD <br><br />
/opt/src/modifications/.git/config <br><br />
/opt/src/modifications/.git/hooks <br><br />
/opt/src/modifications/.git/hooks/pre-rebase.sample <br><br />
/opt/src/modifications/.git/hooks/prepare-commit-msg.sample <br><br />
/opt/src/modifications/.git/hooks/pre-commit.sample <br><br />
/opt/src/modifications/.git/hooks/post-receive.sample <br><br />
/opt/src/modifications/.git/hooks/commit-msg.sample <br><br />
/opt/src/modifications/.git/hooks/post-commit.sample <br><br />
/opt/src/modifications/.git/hooks/pre-applypatch.sample <br><br />
/opt/src/modifications/.git/hooks/applypatch-msg.sample <br><br />
/opt/src/modifications/.git/hooks/update.sample <br><br />
/opt/src/modifications/.git/hooks/post-update.sample <br><br />
/opt/src/modifications/.git/objects <br><br />
/opt/src/modifications/.git/objects/pack <br><br />
/opt/src/modifications/.git/objects/pack/pack-d852f8e9c46d1d6fe4abb0714a5d469011a6db08.idx <br><br />
/opt/src/modifications/.git/objects/pack/pack-d852f8e9c46d1d6fe4abb0714a5d469011a6db08.pack <br><br />
/opt/src/modifications/.git/objects/info <br><br />
/opt/src/modifications/.git/description <br><br />
/opt/src/modifications/.git/packed-refs <br><br />
/opt/src/modifications/.git/FETCH_HEAD <br><br />
/opt/src/modifications/.git/branches <br><br />
/opt/src/modifications/.git/ORIG_HEAD <br><br />
/opt/src/modifications/.git/index <br><br />
/opt/src/modifications/.git/info <br><br />
/opt/src/modifications/.git/info/exclude <br><br />
/opt/src/modifications/.git/HEAD <br><br />
/opt/src/modifications/.git/refs <br><br />
/opt/src/modifications/.git/refs/heads <br><br />
/opt/src/modifications/.git/refs/heads/master <br><br />
/opt/src/modifications/.git/refs/remotes <br><br />
/opt/src/modifications/.git/refs/remotes/origin <br><br />
/opt/src/modifications/.git/refs/remotes/origin/HEAD <br><br />
/opt/src/modifications/.git/refs/tags <br><br />
/opt/src/modifications/tasks <br><br />
/opt/src/modifications/tasks/new-task-details.patch <br><br />
/opt/src/modifications/email <br><br />
/opt/src/modifications/email/enable-landscape-email.patch <br><br />
/opt/src/modifications/email/prompt-for-ipk-installation.patch <br><br />
/opt/src/modifications/phoneprefs <br><br />
/opt/src/modifications/phoneprefs/roam-control.patch <br><br />
/opt/src/modifications/phone <br><br />
/opt/src/modifications/phone/phone-show-call-duration.sh <br><br />
/opt/src/modifications/phone/phone-enable-roam-only.patch <br><br />
/opt/src/modifications/soundsandalerts <br><br />
/opt/src/modifications/soundsandalerts/message-tone-sounds-and-alerts.patch <br><br />
/opt/src/modifications/musicplayer <br><br />
/opt/src/modifications/musicplayer/bookmark.patch <br><br />
/opt/src/modifications/calendar <br><br />
/opt/src/modifications/calendar/default-to-month-view.patch <br><br />
/opt/src/modifications/calendar/default-to-week-view.patch <br><br />
/opt/src/modifications/screenlock <br><br />
/opt/src/modifications/screenlock/longer_standby_times.patch <br><br />
/opt/src/modifications/frameworks <br><br />
/opt/src/modifications/frameworks/add-onscreen-keyboard.patch <br><br />
/opt/src/modifications/luna <br><br />
/opt/src/modifications/luna/disable-charging-alert-sound.patch <br><br />
/opt/src/modifications/luna/quiet-powerd-messages.patch <br><br />
/opt/src/modifications/luna/show-actual-battery-percent.patch <br><br />
/opt/src/modifications/luna/powersave-cpu-scaling <br><br />
/opt/src/modifications/luna/enable-dev-mode-icon.patch <br><br />
/opt/src/modifications/luna/more_icons_per_row.patch <br><br />
/opt/src/modifications/luna/powersave-smartreflex <br><br />
/opt/src/modifications/README <br><br />
/opt/src/modifications/browser <br><br />
/opt/src/modifications/browser/enable-browser-downloads.patch <br><br />
<br />
-[[User:Dlbpre|Dlbpre]]<br />
<br />
<br />
:Ah ok, so it looks like you've successfully imported the patch. The problem is that it is still trying to run your previous file (bar-assistant.js, which is not a patch file):<br />
<br />
root@castle:/# quilt push -a<br><br />
File series fully applied, ends at patch /opt/src/patches/bar-assistant.js<br />
<br />
Try this (be sure to copy and paste these, you don't want to accidently delete the wrong files):<br />
mount -o remount,rw /<br />
cd /<br />
quilt pop -a<br />
rm /opt/src/patches/*<br />
quilt import /opt/src/modifications/luna/show-actual-battery-percent.patch<br />
quilt push -a<br />
<br />
To reboot the Pre, you can just press and hold <Orange-Button><Sym><R>. Let me know what happens. <br />
<br />
Also, when you're done typing your comments, please type <nowiki>~~~~</nowiki> as that will insert your name and the time, like so -> [[User:Hopspitfire|hopspitfire]] 01:29, 16 August 2009 (UTC)<br />
<br />
<br />
Here are the results:<br />
<br />
root@castle:/var/home/dlbpre# mount -o remount,rw / <br><br />
root@castle:/var/home/dlbpre# cd / <br><br />
root@castle:/# quilt pop -a <br><br />
Patch /opt/src/patches/bar-assistant.js needs to be refreshed first. <br><br />
root@castle:/# rm /opt/src/patches/* <br><br />
root@castle:/# quilt import /opt/src/modifications/luna/show-actual-battery-perc <br><br />
ent.patch <br><br />
Patch /opt/src/patches/show-actual-battery-percent.patch is applied <br><br />
root@castle:/# quilt push -a <br><br />
File series fully applied, ends at patch /opt/src/patches/bar-assistant.js <br><br />
root@castle:/# mount -o remount,ro / <br> <br><br />
<br />
And the battery percentage has not decided to show yet.<br />
[[User:Dlbpre|Dlbpre]] 02:01, 16 August 2009 (UTC)<br />
<br />
<br />
:Ok, somehow the series isn't being overwritten, which leads me to believe that it's using the wrong patches directory. Can you run this command and give me the output?<br />
cat /opt/etc/quilt.quiltrc | grep PATCHES=<br />
<br />
-[[User:Hopspitfire|hopspitfire]] 02:44, 16 August 2009 (UTC)<br />
<br />
Nothing happens when I input that code. I did notice that you directed me to use "sudo -s"...instead of what i normally use "sudo su -". (forgive me if im an idiot and those two quotes are the same thing).<br><br />
<br />
[[User:Dlbpre|Dlbpre]]<br />
<br />
<br />
:OK, I figured out the problem. First, there are no dumb questions: 'sudo -s' makes you the root user while still keeping the shell and environment variables of your regular user, while 'sudo su -' makes you the root user and uses the root shell and environment variables.<br />
<br />
The easiest way is reinstalling quilt and then redoing quiltrc. Run these commands:<br />
mount -o remount,rw /<br />
rm /opt/src/patches/*<br />
ipkg-opt update<br />
ipkg-opt remove quilt perl libdb gdbm util-linux-ng e2fslibs ncursesw ncurses<br />
ipkg-opt install quilt-lite<br />
<br />
The next one is REALLY important, and sets the patches directory. Make sure to copy the whole command and paste it.<br />
sed -ire 's|^[\s#]*QUILT_PATCHES=.*|QUILT_PATCHES=/opt/src/patches|' /opt/etc/quilt.quiltrc<br />
<br />
Run this command to make sure it worked:<br />
cat /opt/etc/quilt.quiltrc | grep PATCHES=<br />
<br />
Your output should be: QUILT_PATCHES=/opt/src/patches<br />
<br />
If it isn't, then something went wrong.<br />
<br />
If everything went well, import and try pushing the patch again<br />
quilt import /opt/src/modifications/luna/show-actual-battery-percent.patch<br />
quilt push -a<br />
<br />
Let me know what happens. -[[User:Hopspitfire|hopspitfire]] 03:16, 16 August 2009 (UTC)<br />
<br />
<pre><nowiki><br />
dlbpre@castle:~$ sudo -s <br />
root@castle:/var/home/dlbpre# mount -o remount,rw / <br />
root@castle:/var/home/dlbpre# rm /opt/src/patches/*<br />
root@castle:/var/home/dlbpre# ipkg-opt update <br />
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/Packages.gz <br />
Inflating http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/Packages.gz <br />
Updated list of available packages in /opt/lib/ipkg/lists/cross<br />
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/native/unstable/Packages.gz<br />
Inflating http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/native/unstable/Packages.gz<br />
Updated list of available packages in /opt/lib/ipkg/lists/native<br />
Downloading http://ipkg.nslu2-linux.org/feeds/optware/pre/cross/unstable/Packages.gz<br />
Inflating http://ipkg.nslu2-linux.org/feeds/optware/pre/cross/unstable/Packages.gz<br />
Updated list of available packages in /opt/lib/ipkg/lists/kernel<br />
Successfully terminated. <br />
root@castle:/var/home/dlbpre# ipkg-opt remove quilt perl libdb gdbm util-linux-ng e2fslibs ncursesw ncurses <br />
Nothing to be done <br />
Successfully terminated. <br />
Collected errors: <br />
Package ncurses is depended upon by packages:<br />
psmisc <br />
These might cease to work if package ncurses is removed. <br />
<br />
You can force removal of this package with -force-depends. <br />
You can force removal of this package and its dependents <br />
with -force-removal-of-dependent-packages or -recursive <br />
or by setting option force_removal_of_dependent_packages in ipkg.conf.<br />
root@castle:/var/home/dlbpre# ipkg-opt install quilt-lite <br />
Package quilt-lite (0.48-5) installed in root is up to date.<br />
Nothing to be done<br />
Successfully terminated.<br />
root@castle:/var/home/dlbpre# sed -ire 's|^[\s#]*QUILT_PATCHES=.*|QUILT_PATCHES=<br />
/opt/src/patches|' /opt/etc/quilt.quiltrc<br />
root@castle:/var/home/dlbpre# cat /opt/etc/quilt.quiltrc | grep PATCHES=<br />
QUILT_PATCHES=/opt/src/patches<br />
root@castle:/var/home/dlbpre# quilt import /opt/src/modifications/luna/show-actual-battery-percent.patch<br />
Importing patch /opt/src/modifications/luna/show-actual-battery-percent.patch (stored as /opt/src/patches/show-actual-battery-percent.patch) <br />
root@castle:/var/home/dlbpre# quilt push -a<br />
Applying patch /opt/src/patches/show-actual-battery-percent.patch <br />
can't find file to patch at input line 11 <br />
Perhaps you used the wrong -p or --strip option? <br />
The text leading up to this was:<br />
--------------------------<br />
|show-actual-battery-percent<br />
|<br />
|Tested-On: 1.1<br />
|<br />
|//show actual battery percent in the system user interface.<br />
|//note: battery @ 100% will only charge on a new charge event or if power is <94%<br />
|Index: /usr/lib/luna/system/luna-systemui/app/controllers/bar-assistant.js<br />
|===================================================================<br />
|--- .orig/usr/lib/luna/system/luna-systemui/app/controllers/bar-assistant.js<br />
|+++ /usr/lib/luna/system/luna-systemui/app/controllers/bar-assistant.js<br />
-------------------------- <br />
No file to patch. Skipping patch.<br />
3 out of 3 hunks ignored<br />
Patch /opt/src/patches/show-actual-battery-percent.patch does not apply (with -f)<br />
<br />
</nowiki></pre><br />
<br />
there we go. [[User:Dlbpre|Dlbpre]]<br />
<br />
<br />
:Everything looks good, I forgot to add a command to the list ('quilt push' needs to be run in '/'). Run this and it should work:<br />
mount -o remount,rw /<br />
cd /<br />
quilt push -a<br />
<br />
Let me know what happens.-[[User:Hopspitfire|hopspitfire]] 03:42, 16 August 2009 (UTC)<br />
<br><br><br />
<br />
<br />
dlbpre@castle:~$ sudo -s<br />
root@castle:/var/home/dlbpre# cd / <br />
root@castle:/# mount -o remount,rw / <br />
root@castle:/# quilt push -a <br />
File series fully applied, ends at patch /opt/src/patches/bar-assistant.js <br />
root@castle:/# <br />
<br />
ran it and rebooted. Still no appearance. BTW is there a way I can donate money to you? You have nearly worked with me all night...for no reason but to just assist. God Bless and thank you. Let me know what to do next! :) [[User:Dlbpre|Dlbpre]]<br />
<br />
<br />
:Haha, we can't accept donations :) but I'm glad you're not giving up, and you're definitely welcome! <br />
:For some reason it keeps trying to use 'bar-assistant.js' as a patch, when it isn't. Can you run these commands and paste the output, the 1st command does a whole file and directory listing of /opt/src, and the second commands tells us what files that quilt will try and use as a patch:<br />
find /opt/src/<br />
cat /opt/src/patches/series<br />
<br />
-[[User:Hopspitfire|hopspitfire]] 04:03, 16 August 2009 (UTC)<br />
<br><br><br><br><br />
<br />
Here we are.<br><br><br />
<br />
dlbpre@castle:~$ find /opt/src/<br><br />
/opt/src/ <br><br />
/opt/src/patches <br><br />
/opt/src/patches/show-actual-battery-percent.patch <br><br />
/opt/src/patches/series <br><br />
/opt/src/modifications <br><br />
/opt/src/modifications/amazonstore <br><br />
/opt/src/modifications/amazonstore/amazon_evdo.patch <br><br />
/opt/src/modifications/applauncher <br><br />
/opt/src/modifications/applauncher/add-delete-pages-in-the-launcher.patch <br><br />
/opt/src/modifications/camera <br><br />
/opt/src/modifications/camera/capture_with_volume_keys.patch <br><br />
/opt/src/modifications/install <br><br />
/opt/src/modifications/clock <br><br />
/opt/src/modifications/clock/hidden-clock.patch <br><br />
/opt/src/modifications/messaging <br><br />
/opt/src/modifications/messaging/messaging-sounds.patch <br><br />
/opt/src/modifications/messaging/message-forwarding.patch <br><br />
/opt/src/modifications/.git <br><br />
/opt/src/modifications/.git/logs <br><br />
/opt/src/modifications/.git/logs/HEAD <br><br />
/opt/src/modifications/.git/logs/refs <br><br />
/opt/src/modifications/.git/logs/refs/heads <br><br />
/opt/src/modifications/.git/logs/refs/heads/master <br><br />
/opt/src/modifications/.git/logs/refs/remotes <br><br />
/opt/src/modifications/.git/logs/refs/remotes/origin <br><br />
/opt/src/modifications/.git/logs/refs/remotes/origin/HEAD <br><br />
/opt/src/modifications/.git/config <br><br />
/opt/src/modifications/.git/hooks <br><br />
/opt/src/modifications/.git/hooks/pre-rebase.sample <br><br />
/opt/src/modifications/.git/hooks/prepare-commit-msg.sample <br><br />
/opt/src/modifications/.git/hooks/pre-commit.sample <br><br />
/opt/src/modifications/.git/hooks/post-receive.sample <br><br />
/opt/src/modifications/.git/hooks/commit-msg.sample <br><br />
/opt/src/modifications/.git/hooks/post-commit.sample <br><br />
/opt/src/modifications/.git/hooks/pre-applypatch.sample <br><br />
/opt/src/modifications/.git/hooks/applypatch-msg.sample <br><br />
/opt/src/modifications/.git/hooks/update.sample <br><br />
/opt/src/modifications/.git/hooks/post-update.sample <br><br />
/opt/src/modifications/.git/objects <br><br />
/opt/src/modifications/.git/objects/pack <br><br />
/opt/src/modifications/.git/objects/pack/pack-d852f8e9c46d1d6fe4abb0714a5d469011a6db08.idx <br><br />
/opt/src/modifications/.git/objects/pack/pack-d852f8e9c46d1d6fe4abb0714a5d469011a6db08.pack <br><br />
/opt/src/modifications/.git/objects/info <br><br />
/opt/src/modifications/.git/description <br><br />
/opt/src/modifications/.git/packed-refs <br><br />
/opt/src/modifications/.git/FETCH_HEAD <br><br />
/opt/src/modifications/.git/branches <br><br />
/opt/src/modifications/.git/ORIG_HEAD <br><br />
/opt/src/modifications/.git/index <br><br />
/opt/src/modifications/.git/info <br><br />
/opt/src/modifications/.git/info/exclude <br><br />
/opt/src/modifications/.git/HEAD <br><br />
/opt/src/modifications/.git/refs <br><br />
/opt/src/modifications/.git/refs/heads <br><br />
/opt/src/modifications/.git/refs/heads/master <br><br />
/opt/src/modifications/.git/refs/remotes <br><br />
/opt/src/modifications/.git/refs/remotes/origin <br><br />
/opt/src/modifications/.git/refs/remotes/origin/HEAD <br><br />
/opt/src/modifications/.git/refs/tags <br><br />
/opt/src/modifications/tasks <br><br />
/opt/src/modifications/tasks/new-task-details.patch <br><br />
/opt/src/modifications/email <br><br />
/opt/src/modifications/email/enable-landscape-email.patch <br><br />
/opt/src/modifications/email/prompt-for-ipk-installation.patch <br><br />
/opt/src/modifications/phoneprefs <br><br />
/opt/src/modifications/phoneprefs/roam-control.patch <br><br />
/opt/src/modifications/phone <br><br />
/opt/src/modifications/phone/phone-show-call-duration.sh <br><br />
/opt/src/modifications/phone/phone-enable-roam-only.patch <br><br />
/opt/src/modifications/soundsandalerts <br><br />
/opt/src/modifications/soundsandalerts/message-tone-sounds-and-alerts.patch <br><br />
/opt/src/modifications/musicplayer <br><br />
/opt/src/modifications/musicplayer/bookmark.patch <br><br />
/opt/src/modifications/calendar <br><br />
/opt/src/modifications/calendar/default-to-month-view.patch <br><br />
/opt/src/modifications/calendar/default-to-week-view.patch <br><br />
/opt/src/modifications/screenlock <br><br />
/opt/src/modifications/screenlock/longer_standby_times.patch <br><br />
/opt/src/modifications/frameworks <br><br />
/opt/src/modifications/frameworks/add-onscreen-keyboard.patch <br><br />
/opt/src/modifications/luna <br><br />
/opt/src/modifications/luna/disable-charging-alert-sound.patch <br><br />
/opt/src/modifications/luna/quiet-powerd-messages.patch <br><br />
/opt/src/modifications/luna/show-actual-battery-percent.patch <br><br />
/opt/src/modifications/luna/powersave-cpu-scaling <br><br />
/opt/src/modifications/luna/enable-dev-mode-icon.patch <br><br />
/opt/src/modifications/luna/more_icons_per_row.patch <br><br />
/opt/src/modifications/luna/powersave-smartreflex <br><br />
/opt/src/modifications/README <br><br />
/opt/src/modifications/browser <br><br />
/opt/src/modifications/browser/enable-browser-downloads.patch <br><br />
dlbpre@castle:~$ cat /opt/src/patches/series <br><br />
show-actual-battery-percent.patch <br><br />
<br />
as directed. I didnt realize you worked with the site. Must be nice being a linux genious! :-D<br><br />
[[User:Dlbpre|Dlbpre]]<br />
<br />
:I'm not a linux genius by any means, but helping people makes me learn much more, and I really appreciate how patient you've been :)<br />
:It seems like the patch is loaded in the folder and ready. Try to reboot then do these commands:<br />
sudo -i<br />
mount -o remount,rw / <br />
cd /<br />
quilt pop -af<br />
quilt push -a<br />
<br />
Let me know how that works. -[[User:Hopspitfire|hopspitfire]] 05:21, 16 August 2009 (UTC)<br />
<br><br><br><br />
<br />
dlbpre@castle:~$ sudo -i<br />
Password:<br />
root@castle:/var/home/root# mount -o remount,rw /<br />
mount -o remount,rw /<br />
root@castle:/var/home/root# mount -o remount,rw /<br />
root@castle:/var/home/root# cd /<br />
root@castle:/# quilt pop -af<br />
Patch /opt/src/patches/bar-assistant.js appears to be empty, removing<br />
<br />
Removing patch /opt/src/patches/default-to-month-view.patch<br />
Restoring usr/palm/applications/com.palm.app.calendar/app/controllers/app-assistant.js<br />
<br />
Removing patch /opt/src/patches/capture_with_volume_keys.patch<br />
Restoring usr/palm/applications/com.palm.app.camera/app/controllers/capture-assistant.js<br />
<br />
Removing patch /opt/src/patches/show-actual-battery-percent.patch<br />
Restoring usr/lib/luna/system/luna-systemui/app/controllers/bar-assistant.js<br />
<br />
No patches applied<br />
root@castle:/# quilt pop -af<br />
No patch removed<br />
root@castle:/# quilt push -a<br />
Applying patch /opt/src/patches/show-actual-battery-percent.patch<br />
patching file usr/lib/luna/system/luna-systemui/app/controllers/bar-assistant.js<br />
<br />
Now at patch /opt/src/patches/show-actual-battery-percent.patch<br />
root@castle:/# <br><br><br />
<br />
thanks for the patience compliment. Thank you for being patient with my beginning skill level as well. :)<br><br><br />
<br />
dlbpre@castle:~$ sudo -i <br><br />
root@castle:/var/home/root# mount -o remount,rw / <br><br />
mount -o remount,rw / <br><br />
root@castle:/var/home/root# mount -o remount,rw / <br><br />
root@castle:/var/home/root# cd / <br><br />
root@castle:/# quilt pop -af <br><br />
Patch /opt/src/patches/bar-assistant.js appears to be empty, removing <br><br />
<br />
Removing patch /opt/src/patches/default-to-month-view.patch <br><br />
Restoring usr/palm/applications/com.palm.app.calendar/app/controllers/app-assistant.js <br><br />
<br />
Removing patch /opt/src/patches/capture_with_volume_keys.patch <br><br />
Restoring usr/palm/applications/com.palm.app.camera/app/controllers/capture-assistant.js <br><br />
<br />
Removing patch /opt/src/patches/show-actual-battery-percent.patch <br><br />
Restoring usr/lib/luna/system/luna-systemui/app/controllers/bar-assistant.js <br><br />
<br />
No patches applied <br><br />
root@castle:/# quilt pop -af <br><br />
No patch removed <br><br />
root@castle:/# quilt push -a <br><br />
Applying patch /opt/src/patches/show-actual-battery-percent.patch <br><br />
patching file usr/lib/luna/system/luna-systemui/app/controllers/bar-assistant.js <br><br />
<br />
Now at patch /opt/src/patches/show-actual-battery-percent.patch <br><br />
root@castle:/# <br> <br><br />
<br />
Perhaps I should have explained prior to contacting you, I had attempted to install the battery percent viewer from the quilt series (it was listed with the rest of the patches available to me). I copied and pasted it, then I pushed it. After I couldnt get that working, I followed the explanation on this website which lead me to your assistance. Would that happen to be relevant information?<br><br><br />
<br />
[[User:Dlbpre|Dlbpre]]<br />
<br />
<br />
<br><br><br><br />
<br />
My desire to resolve my programming issue as been resolved!! Thank you for all your help though. I was fishing around precentral.net (sry if that is ya'lls competitor) I found someone who was having trouble and saw a post that someone made regarding the coding. I tried there post and it looks like this:<br><br><br />
<br />
dlbpre@castle:~$ sudo su - <br><br />
root@castle:/var/home/root# cd / <br><br />
root@castle:/# mount -o remount,rw / <br><br />
root@castle:/# wget http://filebin.ca/prhvwq/pre_battery_percentage.diff <br><br />
Connecting to filebin.ca (208.68.18.109:80) <br><br />
pre_battery_percenta 100% |*******************************| 3754 --:--:-- ETA <br><br />
root@castle:/# patch -pO -i pre_battery_percentage.diff <br><br />
patch: **** strip count O is not a number <br><br />
root@castle:/# patch -p0 -i pre_battery_percentage.diff <br><br />
patching file /usr/lib/luna/system/luna-systemui/app/controllers/bar-assistant.js <br><br />
Hunk #1 succeeded at 1381 with fuzz 2 (offset 214 lines). <br><br />
Hunk #2 succeeded at 1405 with fuzz 1 (offset 214 lines). <br><br />
Hunk #3 FAILED at 1437. <br><br />
Hunk #4 succeeded at 1484 (offset 214 lines). <br><br />
Hunk #5 succeeded at 1516 (offset 215 lines). <br><br />
1 out of 5 hunks FAILED -- saving rejects to file /usr/lib/luna/system/luna-systemui/app/controllers/bar-assistant.js.rej <br><br />
patching file /usr/lib/luna/system/luna-systemui/stylesheets/systemui.css <br><br />
root@castle:/# <br> <br><br />
<br />
You can find the source at the link provided below (it is the 4th post on the page):<br><br />
http://forums.precentral.net/web-os-development/194029-battery-place-icon-working-1-1-0-color-3.html#1778094<br><br><br />
<br />
The reason I posted this information is because I yearn for you to understand what I did wrong. I am hoping you put it in terms I can understand but also your knowledge with linux will grow as well. Win-win situation!! :-D [[User:Dlbpre|Dlbpre]]<br />
<br />
:I'm glad you figured it out! -[[User:Hopspitfire|hopspitfire]] 04:11, 17 August 2009 (UTC)<br />
<br />
<br />
<br />
<br />
== Messaging Sound ==<br />
<br />
Are you still doing any work on the messaging sound patch or did you turn it over to JackieRipper? -[[User:Ikyo|Ikyo]]<br />
<br />
:As far as I know, it's being handled by a group of people. Is there anything in particular you need support? -[[User:Hopspitfire|hopspitfire]] 06:49, 1 October 2009 (UTC)<br />
<br />
<br />
==Disable Missed Call Sound Not Working==<br />
<br />
Disable missed call sound not working. Do you know a workaround? -[[User:Mamouton|Mamouton]]<br />
<br />
:I'm not sure, I supposed new diffs need to be created for the 1.2 update (unless they implemented new functions, which will take longer). Have you already tried manually doing the edits from the diffs? -[[User:Hopspitfire|hopspitfire]] 06:48, 1 October 2009 (UTC)</div>Hopspitfirehttp://wiki.webos-internals.org/index.php?title=User_talk:Hopspitfire&diff=6066User talk:Hopspitfire2009-10-01T06:48:14Z<p>Hopspitfire: Sign my own comment</p>
<hr />
<div>== Porting pages ==<br />
<br />
Hey, welcome to the wiki. One thing: don't add your signature to pages you transfer over from the old wiki. This is a community effort, those pages will be edited by other people, and we want to try to keep a consistent look across pages. Thanks. —[[user:X1011|X1011]] 17:18, 20 July 2009 (UTC)<br />
<br />
All instances of signature have been removed -hopspitfire<br />
<br />
== / in page titles ==<br />
If you can please do not use "/" in page titles. --[[User:Templarian|Templarian]] 23:27, 20 July 2009 (UTC)<br />
<br />
== THANK YOU for your hard work on the wiki! ==<br />
<br />
Please accept this "nobody knows the trouble I've seen" award as a token of our appreciation.<br />
<br />
[[image:drudgery.jpg]]<br />
<br />
[[User:Rboatright|rboatright]] 02:11, 24 July 2009 (UTC)<br />
<br />
Congrats on becoming an Editor --[[User:Templarian|Templarian]] 13:16, 28 July 2009 (UTC)<br />
<br />
== Deletions ==<br />
<br />
I just had a horrible thought. <br />
<br />
All those deletions you're doing that are pages that only had you as an editor... <br />
<br />
if you delete the redireccts, aren't you deleting the thing that the old-page on the old-wiki links to? so you have broken the redirect FROM the old-wiki? <br />
<br />
and that means that if anyone had blog-pages or precentral posts that linked to those, THOSE are broken. <br />
<br />
I've never understood what's wrong with lots of redirects. One of my patrol pages on wikipedia has 27 redirects that end up there. And that's a GOOD thing. :-) <br />
<br />
[[User:Rboatright|rboatright]] 05:16, 31 July 2009 (UTC)<br />
<br />
<br />
agreed; see [[WebOS Internals talk:Policies and guidelines#Proposed: Redirects]] —[[user:X1011|X1011]] 05:59, 31 July 2009 (UTC)<br />
<br />
Sit tight guys, I'm fixing all the links from predev. [[User:Hopspitfire|hopspitfire]] 06:01, 31 July 2009 (UTC)<br />
*edit All broken links have been fixed on predev. Rick, thanks for bringing this up. [[User:Hopspitfire|hopspitfire]] 06:16, 31 July 2009 (UTC)<br />
<br><br />
<br />
=Support Section=<br />
<br />
== Patch webOS Show Actual Battery Percentage ==<br />
<br />
I am having difficulty importing and pushing this particular app. I was curious if you would assist me. I have the webos 1.1 update. I get to the place (look below) and then im stuck.<br><br><br />
<br />
dlbpre@castle:~$ sudo su - <br><br />
root@castle:/var/home/root# cd / <br><br />
root@castle:/# mount -o remount,rw / <br><br />
root@castle:/# quilt import Index: /usr/lib/luna/system/luna-systemui/app/controllers/bar-assistant.js <br><br><br />
<br />
of course I checked the quilt series to make sure i imported it correctly and then I pushed it and rebooted the device. When it powers back on..no change...apparently i am missing something.<br />
<br />
Sorry to ask you to "dumb it down" but i am a tyro (novice) to linux... :(<br />
<br />
thanks for your help if you do decide to assist!!!!! :-D -[[User:Dlbpre|Dlbpre]]<br />
<br />
<br />
:No problem at all. The first thing I'm noticing is that you're importing the wrong file, you'll want to import the '.patch' file. To accomplish this, you'll need to get the webos-internals modifications repo. Here:<br />
<br />
sudo -s<br />
mount -o remount,rw /<br />
cd /opt/src<br />
git clone git://gitorious.org/webos-internals/modifications.git<br />
<br />
You'll need to make sure that quilt is configured correctly, type:<br />
mkdir -p /opt/src/patches<br />
sed -ire 's|^[\s#]*QUILT_PATCHES=.*|QUILT_PATCHES=/opt/src/patches|' /opt/etc/quilt.quiltrc<br />
<br />
Make sure to remove the old series file before importing<br />
rm /opt/src/patches/series<br />
rm /opt/src/patches/bar-assistant.js<br />
<br />
Then run:<br />
quilt import /opt/src/modifications/luna/show-actual-battery-percent.patch<br />
cd /<br />
quilt push -a<br />
<br />
Then reboot:<br />
reboot<br />
<br />
Let me know if it works. -[[User:Hopspitfire|hopspitfire]] 00:27, 16 August 2009 (UTC)<br />
<br />
<br />
<br />
<br />
I get to here<br />
<br />
root@castle:/# quilt import /opt/src/modifications/luna/show-actual <br><br />
-battery-percent.patch<br><br />
Patch quilt does not exist<br><br />
root@castle:/#<br><br><br />
<br />
I followed every direction to the "T". Copy and paste precisely what was listed.<br />
<br />
Thanks for your assistance man (maybe lady). I really do appreciate the quick response.-[[User:Dlbpre|Dlbpre]]<br />
<br />
<br />
:Hrmm, can you run this command and post the output:<br />
find /opt/src<br />
<br />
-[[User:Hopspitfire|hopspitfire]] 01:15, 16 August 2009 (UTC) <br> <br> <br><br />
<br />
Here are the steps you applied to my previous question. <br> <br><br />
<br />
<br />
dlbpre@castle:~$ sudo -s<br><br />
root@castle:/var/home/dlbpre# mount -o remount,rw /<br><br />
root@castle:/var/home/dlbpre# cd /opt/src<br><br />
root@castle:/opt/src# git clone git://gitorious.org/webos-internals/modification<br />
s.git<br><br />
fatal: destination path 'modifications' already exists and is not an empty directory.<br><br />
root@castle:/opt/src#<br><br />
root@castle:/opt/src# mkdir -p /opt/src/patches<br><br />
root@castle:/opt/src#<br><br />
root@castle:/opt/src# sed -ire 's|^[\s#]*QUILT_PATCHES=.*|QUILT_PATCHES=/opt/src<br><br />
/patches|' /opt/etc/quilt.quiltrc<br><br />
root@castle:/opt/src# rm /opt/src/patches/series<br><br />
rm: cannot remove '/opt/src/patches/series': No such file or directory<br><br />
root@castle:/opt/src# rm /opt/src/patches/bar-assistant.js<br><br />
rm: cannot remove '/opt/src/patches/bar-assistant.js': No such file or directory<br><br />
root@castle:/opt/src# quilt import /opt/src/modifications/luna/show-actual-batte<br><br />
ry-percent.patch<br><br />
Importing patch /opt/src/patches/show-actual-battery-percent.patch<br><br />
root@castle:/opt/src# cd /<br><br />
root@castle:/# quilt push -a<br><br />
File series fully applied, ends at patch /opt/src/patches/bar-assistant.js<br><br />
root@castle:/# mount -o remount,ro /<br><br />
root@castle:/# reboot<br><br />
/bin/sh: reboot: not found<br><br />
<br />
<br><br><br><br />
<br />
As requested.<br />
<br />
root@castle:/# find /opt/src <br><br />
/opt/src <br><br />
/opt/src/patches <br><br />
/opt/src/patches/show-actual-battery-percent.patch <br><br />
/opt/src/patches/series <br><br />
/opt/src/patches/default-to-month-view.patch <br><br />
/opt/src/patches/capture_with_volume_keys.patch <br><br />
/opt/src/modifications <br><br />
/opt/src/modifications/amazonstore <br><br />
/opt/src/modifications/amazonstore/amazon_evdo.patch <br><br />
/opt/src/modifications/applauncher <br><br />
/opt/src/modifications/applauncher/add-delete-pages-in-the-launcher.patch <br><br />
/opt/src/modifications/camera <br><br />
/opt/src/modifications/camera/capture_with_volume_keys.patch <br><br />
/opt/src/modifications/install <br><br />
/opt/src/modifications/clock <br><br />
/opt/src/modifications/clock/hidden-clock.patch <br><br />
/opt/src/modifications/messaging <br><br />
/opt/src/modifications/messaging/messaging-sounds.patch <br><br />
/opt/src/modifications/messaging/message-forwarding.patch <br><br />
/opt/src/modifications/.git <br><br />
/opt/src/modifications/.git/logs <br><br />
/opt/src/modifications/.git/logs/HEAD <br><br />
/opt/src/modifications/.git/logs/refs <br><br />
/opt/src/modifications/.git/logs/refs/heads <br><br />
/opt/src/modifications/.git/logs/refs/heads/master <br><br />
/opt/src/modifications/.git/logs/refs/remotes <br><br />
/opt/src/modifications/.git/logs/refs/remotes/origin <br><br />
/opt/src/modifications/.git/logs/refs/remotes/origin/HEAD <br><br />
/opt/src/modifications/.git/config <br><br />
/opt/src/modifications/.git/hooks <br><br />
/opt/src/modifications/.git/hooks/pre-rebase.sample <br><br />
/opt/src/modifications/.git/hooks/prepare-commit-msg.sample <br><br />
/opt/src/modifications/.git/hooks/pre-commit.sample <br><br />
/opt/src/modifications/.git/hooks/post-receive.sample <br><br />
/opt/src/modifications/.git/hooks/commit-msg.sample <br><br />
/opt/src/modifications/.git/hooks/post-commit.sample <br><br />
/opt/src/modifications/.git/hooks/pre-applypatch.sample <br><br />
/opt/src/modifications/.git/hooks/applypatch-msg.sample <br><br />
/opt/src/modifications/.git/hooks/update.sample <br><br />
/opt/src/modifications/.git/hooks/post-update.sample <br><br />
/opt/src/modifications/.git/objects <br><br />
/opt/src/modifications/.git/objects/pack <br><br />
/opt/src/modifications/.git/objects/pack/pack-d852f8e9c46d1d6fe4abb0714a5d469011a6db08.idx <br><br />
/opt/src/modifications/.git/objects/pack/pack-d852f8e9c46d1d6fe4abb0714a5d469011a6db08.pack <br><br />
/opt/src/modifications/.git/objects/info <br><br />
/opt/src/modifications/.git/description <br><br />
/opt/src/modifications/.git/packed-refs <br><br />
/opt/src/modifications/.git/FETCH_HEAD <br><br />
/opt/src/modifications/.git/branches <br><br />
/opt/src/modifications/.git/ORIG_HEAD <br><br />
/opt/src/modifications/.git/index <br><br />
/opt/src/modifications/.git/info <br><br />
/opt/src/modifications/.git/info/exclude <br><br />
/opt/src/modifications/.git/HEAD <br><br />
/opt/src/modifications/.git/refs <br><br />
/opt/src/modifications/.git/refs/heads <br><br />
/opt/src/modifications/.git/refs/heads/master <br><br />
/opt/src/modifications/.git/refs/remotes <br><br />
/opt/src/modifications/.git/refs/remotes/origin <br><br />
/opt/src/modifications/.git/refs/remotes/origin/HEAD <br><br />
/opt/src/modifications/.git/refs/tags <br><br />
/opt/src/modifications/tasks <br><br />
/opt/src/modifications/tasks/new-task-details.patch <br><br />
/opt/src/modifications/email <br><br />
/opt/src/modifications/email/enable-landscape-email.patch <br><br />
/opt/src/modifications/email/prompt-for-ipk-installation.patch <br><br />
/opt/src/modifications/phoneprefs <br><br />
/opt/src/modifications/phoneprefs/roam-control.patch <br><br />
/opt/src/modifications/phone <br><br />
/opt/src/modifications/phone/phone-show-call-duration.sh <br><br />
/opt/src/modifications/phone/phone-enable-roam-only.patch <br><br />
/opt/src/modifications/soundsandalerts <br><br />
/opt/src/modifications/soundsandalerts/message-tone-sounds-and-alerts.patch <br><br />
/opt/src/modifications/musicplayer <br><br />
/opt/src/modifications/musicplayer/bookmark.patch <br><br />
/opt/src/modifications/calendar <br><br />
/opt/src/modifications/calendar/default-to-month-view.patch <br><br />
/opt/src/modifications/calendar/default-to-week-view.patch <br><br />
/opt/src/modifications/screenlock <br><br />
/opt/src/modifications/screenlock/longer_standby_times.patch <br><br />
/opt/src/modifications/frameworks <br><br />
/opt/src/modifications/frameworks/add-onscreen-keyboard.patch <br><br />
/opt/src/modifications/luna <br><br />
/opt/src/modifications/luna/disable-charging-alert-sound.patch <br><br />
/opt/src/modifications/luna/quiet-powerd-messages.patch <br><br />
/opt/src/modifications/luna/show-actual-battery-percent.patch <br><br />
/opt/src/modifications/luna/powersave-cpu-scaling <br><br />
/opt/src/modifications/luna/enable-dev-mode-icon.patch <br><br />
/opt/src/modifications/luna/more_icons_per_row.patch <br><br />
/opt/src/modifications/luna/powersave-smartreflex <br><br />
/opt/src/modifications/README <br><br />
/opt/src/modifications/browser <br><br />
/opt/src/modifications/browser/enable-browser-downloads.patch <br><br />
<br />
-[[User:Dlbpre|Dlbpre]]<br />
<br />
<br />
:Ah ok, so it looks like you've successfully imported the patch. The problem is that it is still trying to run your previous file (bar-assistant.js, which is not a patch file):<br />
<br />
root@castle:/# quilt push -a<br><br />
File series fully applied, ends at patch /opt/src/patches/bar-assistant.js<br />
<br />
Try this (be sure to copy and paste these, you don't want to accidently delete the wrong files):<br />
mount -o remount,rw /<br />
cd /<br />
quilt pop -a<br />
rm /opt/src/patches/*<br />
quilt import /opt/src/modifications/luna/show-actual-battery-percent.patch<br />
quilt push -a<br />
<br />
To reboot the Pre, you can just press and hold <Orange-Button><Sym><R>. Let me know what happens. <br />
<br />
Also, when you're done typing your comments, please type <nowiki>~~~~</nowiki> as that will insert your name and the time, like so -> [[User:Hopspitfire|hopspitfire]] 01:29, 16 August 2009 (UTC)<br />
<br />
<br />
Here are the results:<br />
<br />
root@castle:/var/home/dlbpre# mount -o remount,rw / <br><br />
root@castle:/var/home/dlbpre# cd / <br><br />
root@castle:/# quilt pop -a <br><br />
Patch /opt/src/patches/bar-assistant.js needs to be refreshed first. <br><br />
root@castle:/# rm /opt/src/patches/* <br><br />
root@castle:/# quilt import /opt/src/modifications/luna/show-actual-battery-perc <br><br />
ent.patch <br><br />
Patch /opt/src/patches/show-actual-battery-percent.patch is applied <br><br />
root@castle:/# quilt push -a <br><br />
File series fully applied, ends at patch /opt/src/patches/bar-assistant.js <br><br />
root@castle:/# mount -o remount,ro / <br> <br><br />
<br />
And the battery percentage has not decided to show yet.<br />
[[User:Dlbpre|Dlbpre]] 02:01, 16 August 2009 (UTC)<br />
<br />
<br />
:Ok, somehow the series isn't being overwritten, which leads me to believe that it's using the wrong patches directory. Can you run this command and give me the output?<br />
cat /opt/etc/quilt.quiltrc | grep PATCHES=<br />
<br />
-[[User:Hopspitfire|hopspitfire]] 02:44, 16 August 2009 (UTC)<br />
<br />
Nothing happens when I input that code. I did notice that you directed me to use "sudo -s"...instead of what i normally use "sudo su -". (forgive me if im an idiot and those two quotes are the same thing).<br><br />
<br />
[[User:Dlbpre|Dlbpre]]<br />
<br />
<br />
:OK, I figured out the problem. First, there are no dumb questions: 'sudo -s' makes you the root user while still keeping the shell and environment variables of your regular user, while 'sudo su -' makes you the root user and uses the root shell and environment variables.<br />
<br />
The easiest way is reinstalling quilt and then redoing quiltrc. Run these commands:<br />
mount -o remount,rw /<br />
rm /opt/src/patches/*<br />
ipkg-opt update<br />
ipkg-opt remove quilt perl libdb gdbm util-linux-ng e2fslibs ncursesw ncurses<br />
ipkg-opt install quilt-lite<br />
<br />
The next one is REALLY important, and sets the patches directory. Make sure to copy the whole command and paste it.<br />
sed -ire 's|^[\s#]*QUILT_PATCHES=.*|QUILT_PATCHES=/opt/src/patches|' /opt/etc/quilt.quiltrc<br />
<br />
Run this command to make sure it worked:<br />
cat /opt/etc/quilt.quiltrc | grep PATCHES=<br />
<br />
Your output should be: QUILT_PATCHES=/opt/src/patches<br />
<br />
If it isn't, then something went wrong.<br />
<br />
If everything went well, import and try pushing the patch again<br />
quilt import /opt/src/modifications/luna/show-actual-battery-percent.patch<br />
quilt push -a<br />
<br />
Let me know what happens. -[[User:Hopspitfire|hopspitfire]] 03:16, 16 August 2009 (UTC)<br />
<br />
<pre><nowiki><br />
dlbpre@castle:~$ sudo -s <br />
root@castle:/var/home/dlbpre# mount -o remount,rw / <br />
root@castle:/var/home/dlbpre# rm /opt/src/patches/*<br />
root@castle:/var/home/dlbpre# ipkg-opt update <br />
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/Packages.gz <br />
Inflating http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/Packages.gz <br />
Updated list of available packages in /opt/lib/ipkg/lists/cross<br />
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/native/unstable/Packages.gz<br />
Inflating http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/native/unstable/Packages.gz<br />
Updated list of available packages in /opt/lib/ipkg/lists/native<br />
Downloading http://ipkg.nslu2-linux.org/feeds/optware/pre/cross/unstable/Packages.gz<br />
Inflating http://ipkg.nslu2-linux.org/feeds/optware/pre/cross/unstable/Packages.gz<br />
Updated list of available packages in /opt/lib/ipkg/lists/kernel<br />
Successfully terminated. <br />
root@castle:/var/home/dlbpre# ipkg-opt remove quilt perl libdb gdbm util-linux-ng e2fslibs ncursesw ncurses <br />
Nothing to be done <br />
Successfully terminated. <br />
Collected errors: <br />
Package ncurses is depended upon by packages:<br />
psmisc <br />
These might cease to work if package ncurses is removed. <br />
<br />
You can force removal of this package with -force-depends. <br />
You can force removal of this package and its dependents <br />
with -force-removal-of-dependent-packages or -recursive <br />
or by setting option force_removal_of_dependent_packages in ipkg.conf.<br />
root@castle:/var/home/dlbpre# ipkg-opt install quilt-lite <br />
Package quilt-lite (0.48-5) installed in root is up to date.<br />
Nothing to be done<br />
Successfully terminated.<br />
root@castle:/var/home/dlbpre# sed -ire 's|^[\s#]*QUILT_PATCHES=.*|QUILT_PATCHES=<br />
/opt/src/patches|' /opt/etc/quilt.quiltrc<br />
root@castle:/var/home/dlbpre# cat /opt/etc/quilt.quiltrc | grep PATCHES=<br />
QUILT_PATCHES=/opt/src/patches<br />
root@castle:/var/home/dlbpre# quilt import /opt/src/modifications/luna/show-actual-battery-percent.patch<br />
Importing patch /opt/src/modifications/luna/show-actual-battery-percent.patch (stored as /opt/src/patches/show-actual-battery-percent.patch) <br />
root@castle:/var/home/dlbpre# quilt push -a<br />
Applying patch /opt/src/patches/show-actual-battery-percent.patch <br />
can't find file to patch at input line 11 <br />
Perhaps you used the wrong -p or --strip option? <br />
The text leading up to this was:<br />
--------------------------<br />
|show-actual-battery-percent<br />
|<br />
|Tested-On: 1.1<br />
|<br />
|//show actual battery percent in the system user interface.<br />
|//note: battery @ 100% will only charge on a new charge event or if power is <94%<br />
|Index: /usr/lib/luna/system/luna-systemui/app/controllers/bar-assistant.js<br />
|===================================================================<br />
|--- .orig/usr/lib/luna/system/luna-systemui/app/controllers/bar-assistant.js<br />
|+++ /usr/lib/luna/system/luna-systemui/app/controllers/bar-assistant.js<br />
-------------------------- <br />
No file to patch. Skipping patch.<br />
3 out of 3 hunks ignored<br />
Patch /opt/src/patches/show-actual-battery-percent.patch does not apply (with -f)<br />
<br />
</nowiki></pre><br />
<br />
there we go. [[User:Dlbpre|Dlbpre]]<br />
<br />
<br />
:Everything looks good, I forgot to add a command to the list ('quilt push' needs to be run in '/'). Run this and it should work:<br />
mount -o remount,rw /<br />
cd /<br />
quilt push -a<br />
<br />
Let me know what happens.-[[User:Hopspitfire|hopspitfire]] 03:42, 16 August 2009 (UTC)<br />
<br><br><br />
<br />
<br />
dlbpre@castle:~$ sudo -s<br />
root@castle:/var/home/dlbpre# cd / <br />
root@castle:/# mount -o remount,rw / <br />
root@castle:/# quilt push -a <br />
File series fully applied, ends at patch /opt/src/patches/bar-assistant.js <br />
root@castle:/# <br />
<br />
ran it and rebooted. Still no appearance. BTW is there a way I can donate money to you? You have nearly worked with me all night...for no reason but to just assist. God Bless and thank you. Let me know what to do next! :) [[User:Dlbpre|Dlbpre]]<br />
<br />
<br />
:Haha, we can't accept donations :) but I'm glad you're not giving up, and you're definitely welcome! <br />
:For some reason it keeps trying to use 'bar-assistant.js' as a patch, when it isn't. Can you run these commands and paste the output, the 1st command does a whole file and directory listing of /opt/src, and the second commands tells us what files that quilt will try and use as a patch:<br />
find /opt/src/<br />
cat /opt/src/patches/series<br />
<br />
-[[User:Hopspitfire|hopspitfire]] 04:03, 16 August 2009 (UTC)<br />
<br><br><br><br><br />
<br />
Here we are.<br><br><br />
<br />
dlbpre@castle:~$ find /opt/src/<br><br />
/opt/src/ <br><br />
/opt/src/patches <br><br />
/opt/src/patches/show-actual-battery-percent.patch <br><br />
/opt/src/patches/series <br><br />
/opt/src/modifications <br><br />
/opt/src/modifications/amazonstore <br><br />
/opt/src/modifications/amazonstore/amazon_evdo.patch <br><br />
/opt/src/modifications/applauncher <br><br />
/opt/src/modifications/applauncher/add-delete-pages-in-the-launcher.patch <br><br />
/opt/src/modifications/camera <br><br />
/opt/src/modifications/camera/capture_with_volume_keys.patch <br><br />
/opt/src/modifications/install <br><br />
/opt/src/modifications/clock <br><br />
/opt/src/modifications/clock/hidden-clock.patch <br><br />
/opt/src/modifications/messaging <br><br />
/opt/src/modifications/messaging/messaging-sounds.patch <br><br />
/opt/src/modifications/messaging/message-forwarding.patch <br><br />
/opt/src/modifications/.git <br><br />
/opt/src/modifications/.git/logs <br><br />
/opt/src/modifications/.git/logs/HEAD <br><br />
/opt/src/modifications/.git/logs/refs <br><br />
/opt/src/modifications/.git/logs/refs/heads <br><br />
/opt/src/modifications/.git/logs/refs/heads/master <br><br />
/opt/src/modifications/.git/logs/refs/remotes <br><br />
/opt/src/modifications/.git/logs/refs/remotes/origin <br><br />
/opt/src/modifications/.git/logs/refs/remotes/origin/HEAD <br><br />
/opt/src/modifications/.git/config <br><br />
/opt/src/modifications/.git/hooks <br><br />
/opt/src/modifications/.git/hooks/pre-rebase.sample <br><br />
/opt/src/modifications/.git/hooks/prepare-commit-msg.sample <br><br />
/opt/src/modifications/.git/hooks/pre-commit.sample <br><br />
/opt/src/modifications/.git/hooks/post-receive.sample <br><br />
/opt/src/modifications/.git/hooks/commit-msg.sample <br><br />
/opt/src/modifications/.git/hooks/post-commit.sample <br><br />
/opt/src/modifications/.git/hooks/pre-applypatch.sample <br><br />
/opt/src/modifications/.git/hooks/applypatch-msg.sample <br><br />
/opt/src/modifications/.git/hooks/update.sample <br><br />
/opt/src/modifications/.git/hooks/post-update.sample <br><br />
/opt/src/modifications/.git/objects <br><br />
/opt/src/modifications/.git/objects/pack <br><br />
/opt/src/modifications/.git/objects/pack/pack-d852f8e9c46d1d6fe4abb0714a5d469011a6db08.idx <br><br />
/opt/src/modifications/.git/objects/pack/pack-d852f8e9c46d1d6fe4abb0714a5d469011a6db08.pack <br><br />
/opt/src/modifications/.git/objects/info <br><br />
/opt/src/modifications/.git/description <br><br />
/opt/src/modifications/.git/packed-refs <br><br />
/opt/src/modifications/.git/FETCH_HEAD <br><br />
/opt/src/modifications/.git/branches <br><br />
/opt/src/modifications/.git/ORIG_HEAD <br><br />
/opt/src/modifications/.git/index <br><br />
/opt/src/modifications/.git/info <br><br />
/opt/src/modifications/.git/info/exclude <br><br />
/opt/src/modifications/.git/HEAD <br><br />
/opt/src/modifications/.git/refs <br><br />
/opt/src/modifications/.git/refs/heads <br><br />
/opt/src/modifications/.git/refs/heads/master <br><br />
/opt/src/modifications/.git/refs/remotes <br><br />
/opt/src/modifications/.git/refs/remotes/origin <br><br />
/opt/src/modifications/.git/refs/remotes/origin/HEAD <br><br />
/opt/src/modifications/.git/refs/tags <br><br />
/opt/src/modifications/tasks <br><br />
/opt/src/modifications/tasks/new-task-details.patch <br><br />
/opt/src/modifications/email <br><br />
/opt/src/modifications/email/enable-landscape-email.patch <br><br />
/opt/src/modifications/email/prompt-for-ipk-installation.patch <br><br />
/opt/src/modifications/phoneprefs <br><br />
/opt/src/modifications/phoneprefs/roam-control.patch <br><br />
/opt/src/modifications/phone <br><br />
/opt/src/modifications/phone/phone-show-call-duration.sh <br><br />
/opt/src/modifications/phone/phone-enable-roam-only.patch <br><br />
/opt/src/modifications/soundsandalerts <br><br />
/opt/src/modifications/soundsandalerts/message-tone-sounds-and-alerts.patch <br><br />
/opt/src/modifications/musicplayer <br><br />
/opt/src/modifications/musicplayer/bookmark.patch <br><br />
/opt/src/modifications/calendar <br><br />
/opt/src/modifications/calendar/default-to-month-view.patch <br><br />
/opt/src/modifications/calendar/default-to-week-view.patch <br><br />
/opt/src/modifications/screenlock <br><br />
/opt/src/modifications/screenlock/longer_standby_times.patch <br><br />
/opt/src/modifications/frameworks <br><br />
/opt/src/modifications/frameworks/add-onscreen-keyboard.patch <br><br />
/opt/src/modifications/luna <br><br />
/opt/src/modifications/luna/disable-charging-alert-sound.patch <br><br />
/opt/src/modifications/luna/quiet-powerd-messages.patch <br><br />
/opt/src/modifications/luna/show-actual-battery-percent.patch <br><br />
/opt/src/modifications/luna/powersave-cpu-scaling <br><br />
/opt/src/modifications/luna/enable-dev-mode-icon.patch <br><br />
/opt/src/modifications/luna/more_icons_per_row.patch <br><br />
/opt/src/modifications/luna/powersave-smartreflex <br><br />
/opt/src/modifications/README <br><br />
/opt/src/modifications/browser <br><br />
/opt/src/modifications/browser/enable-browser-downloads.patch <br><br />
dlbpre@castle:~$ cat /opt/src/patches/series <br><br />
show-actual-battery-percent.patch <br><br />
<br />
as directed. I didnt realize you worked with the site. Must be nice being a linux genious! :-D<br><br />
[[User:Dlbpre|Dlbpre]]<br />
<br />
:I'm not a linux genius by any means, but helping people makes me learn much more, and I really appreciate how patient you've been :)<br />
:It seems like the patch is loaded in the folder and ready. Try to reboot then do these commands:<br />
sudo -i<br />
mount -o remount,rw / <br />
cd /<br />
quilt pop -af<br />
quilt push -a<br />
<br />
Let me know how that works. -[[User:Hopspitfire|hopspitfire]] 05:21, 16 August 2009 (UTC)<br />
<br><br><br><br />
<br />
dlbpre@castle:~$ sudo -i<br />
Password:<br />
root@castle:/var/home/root# mount -o remount,rw /<br />
mount -o remount,rw /<br />
root@castle:/var/home/root# mount -o remount,rw /<br />
root@castle:/var/home/root# cd /<br />
root@castle:/# quilt pop -af<br />
Patch /opt/src/patches/bar-assistant.js appears to be empty, removing<br />
<br />
Removing patch /opt/src/patches/default-to-month-view.patch<br />
Restoring usr/palm/applications/com.palm.app.calendar/app/controllers/app-assistant.js<br />
<br />
Removing patch /opt/src/patches/capture_with_volume_keys.patch<br />
Restoring usr/palm/applications/com.palm.app.camera/app/controllers/capture-assistant.js<br />
<br />
Removing patch /opt/src/patches/show-actual-battery-percent.patch<br />
Restoring usr/lib/luna/system/luna-systemui/app/controllers/bar-assistant.js<br />
<br />
No patches applied<br />
root@castle:/# quilt pop -af<br />
No patch removed<br />
root@castle:/# quilt push -a<br />
Applying patch /opt/src/patches/show-actual-battery-percent.patch<br />
patching file usr/lib/luna/system/luna-systemui/app/controllers/bar-assistant.js<br />
<br />
Now at patch /opt/src/patches/show-actual-battery-percent.patch<br />
root@castle:/# <br><br><br />
<br />
thanks for the patience compliment. Thank you for being patient with my beginning skill level as well. :)<br><br><br />
<br />
dlbpre@castle:~$ sudo -i <br><br />
root@castle:/var/home/root# mount -o remount,rw / <br><br />
mount -o remount,rw / <br><br />
root@castle:/var/home/root# mount -o remount,rw / <br><br />
root@castle:/var/home/root# cd / <br><br />
root@castle:/# quilt pop -af <br><br />
Patch /opt/src/patches/bar-assistant.js appears to be empty, removing <br><br />
<br />
Removing patch /opt/src/patches/default-to-month-view.patch <br><br />
Restoring usr/palm/applications/com.palm.app.calendar/app/controllers/app-assistant.js <br><br />
<br />
Removing patch /opt/src/patches/capture_with_volume_keys.patch <br><br />
Restoring usr/palm/applications/com.palm.app.camera/app/controllers/capture-assistant.js <br><br />
<br />
Removing patch /opt/src/patches/show-actual-battery-percent.patch <br><br />
Restoring usr/lib/luna/system/luna-systemui/app/controllers/bar-assistant.js <br><br />
<br />
No patches applied <br><br />
root@castle:/# quilt pop -af <br><br />
No patch removed <br><br />
root@castle:/# quilt push -a <br><br />
Applying patch /opt/src/patches/show-actual-battery-percent.patch <br><br />
patching file usr/lib/luna/system/luna-systemui/app/controllers/bar-assistant.js <br><br />
<br />
Now at patch /opt/src/patches/show-actual-battery-percent.patch <br><br />
root@castle:/# <br> <br><br />
<br />
Perhaps I should have explained prior to contacting you, I had attempted to install the battery percent viewer from the quilt series (it was listed with the rest of the patches available to me). I copied and pasted it, then I pushed it. After I couldnt get that working, I followed the explanation on this website which lead me to your assistance. Would that happen to be relevant information?<br><br><br />
<br />
[[User:Dlbpre|Dlbpre]]<br />
<br />
<br />
<br><br><br><br />
<br />
My desire to resolve my programming issue as been resolved!! Thank you for all your help though. I was fishing around precentral.net (sry if that is ya'lls competitor) I found someone who was having trouble and saw a post that someone made regarding the coding. I tried there post and it looks like this:<br><br><br />
<br />
dlbpre@castle:~$ sudo su - <br><br />
root@castle:/var/home/root# cd / <br><br />
root@castle:/# mount -o remount,rw / <br><br />
root@castle:/# wget http://filebin.ca/prhvwq/pre_battery_percentage.diff <br><br />
Connecting to filebin.ca (208.68.18.109:80) <br><br />
pre_battery_percenta 100% |*******************************| 3754 --:--:-- ETA <br><br />
root@castle:/# patch -pO -i pre_battery_percentage.diff <br><br />
patch: **** strip count O is not a number <br><br />
root@castle:/# patch -p0 -i pre_battery_percentage.diff <br><br />
patching file /usr/lib/luna/system/luna-systemui/app/controllers/bar-assistant.js <br><br />
Hunk #1 succeeded at 1381 with fuzz 2 (offset 214 lines). <br><br />
Hunk #2 succeeded at 1405 with fuzz 1 (offset 214 lines). <br><br />
Hunk #3 FAILED at 1437. <br><br />
Hunk #4 succeeded at 1484 (offset 214 lines). <br><br />
Hunk #5 succeeded at 1516 (offset 215 lines). <br><br />
1 out of 5 hunks FAILED -- saving rejects to file /usr/lib/luna/system/luna-systemui/app/controllers/bar-assistant.js.rej <br><br />
patching file /usr/lib/luna/system/luna-systemui/stylesheets/systemui.css <br><br />
root@castle:/# <br> <br><br />
<br />
You can find the source at the link provided below (it is the 4th post on the page):<br><br />
http://forums.precentral.net/web-os-development/194029-battery-place-icon-working-1-1-0-color-3.html#1778094<br><br><br />
<br />
The reason I posted this information is because I yearn for you to understand what I did wrong. I am hoping you put it in terms I can understand but also your knowledge with linux will grow as well. Win-win situation!! :-D [[User:Dlbpre|Dlbpre]]<br />
<br />
:I'm glad you figured it out! -[[User:Hopspitfire|hopspitfire]] 04:11, 17 August 2009 (UTC)<br />
<br />
<br />
<br />
<br />
== Messaging Sound ==<br />
<br />
Are you still doing any work on the messaging sound patch or did you turn it over to JackieRipper?<br />
<br />
<br />
==Disable Missed Call Sound Not Working==<br />
<br />
Disable missed call sound not working. Do you know a workaround? -[[User:Mamouton|Mamouton]]<br />
<br />
:I'm not sure, I supposed new diffs need to be created for the 1.2 update (unless they implemented new functions, which will take longer). Have you already tried manually doing the edits from the diffs? -[[User:Hopspitfire|hopspitfire]] 06:48, 1 October 2009 (UTC)</div>Hopspitfirehttp://wiki.webos-internals.org/index.php?title=User_talk:Hopspitfire&diff=6065User talk:Hopspitfire2009-10-01T06:47:55Z<p>Hopspitfire: Section & sign your comments, and added my response.</p>
<hr />
<div>== Porting pages ==<br />
<br />
Hey, welcome to the wiki. One thing: don't add your signature to pages you transfer over from the old wiki. This is a community effort, those pages will be edited by other people, and we want to try to keep a consistent look across pages. Thanks. —[[user:X1011|X1011]] 17:18, 20 July 2009 (UTC)<br />
<br />
All instances of signature have been removed -hopspitfire<br />
<br />
== / in page titles ==<br />
If you can please do not use "/" in page titles. --[[User:Templarian|Templarian]] 23:27, 20 July 2009 (UTC)<br />
<br />
== THANK YOU for your hard work on the wiki! ==<br />
<br />
Please accept this "nobody knows the trouble I've seen" award as a token of our appreciation.<br />
<br />
[[image:drudgery.jpg]]<br />
<br />
[[User:Rboatright|rboatright]] 02:11, 24 July 2009 (UTC)<br />
<br />
Congrats on becoming an Editor --[[User:Templarian|Templarian]] 13:16, 28 July 2009 (UTC)<br />
<br />
== Deletions ==<br />
<br />
I just had a horrible thought. <br />
<br />
All those deletions you're doing that are pages that only had you as an editor... <br />
<br />
if you delete the redireccts, aren't you deleting the thing that the old-page on the old-wiki links to? so you have broken the redirect FROM the old-wiki? <br />
<br />
and that means that if anyone had blog-pages or precentral posts that linked to those, THOSE are broken. <br />
<br />
I've never understood what's wrong with lots of redirects. One of my patrol pages on wikipedia has 27 redirects that end up there. And that's a GOOD thing. :-) <br />
<br />
[[User:Rboatright|rboatright]] 05:16, 31 July 2009 (UTC)<br />
<br />
<br />
agreed; see [[WebOS Internals talk:Policies and guidelines#Proposed: Redirects]] —[[user:X1011|X1011]] 05:59, 31 July 2009 (UTC)<br />
<br />
Sit tight guys, I'm fixing all the links from predev. [[User:Hopspitfire|hopspitfire]] 06:01, 31 July 2009 (UTC)<br />
*edit All broken links have been fixed on predev. Rick, thanks for bringing this up. [[User:Hopspitfire|hopspitfire]] 06:16, 31 July 2009 (UTC)<br />
<br><br />
<br />
=Support Section=<br />
<br />
== Patch webOS Show Actual Battery Percentage ==<br />
<br />
I am having difficulty importing and pushing this particular app. I was curious if you would assist me. I have the webos 1.1 update. I get to the place (look below) and then im stuck.<br><br><br />
<br />
dlbpre@castle:~$ sudo su - <br><br />
root@castle:/var/home/root# cd / <br><br />
root@castle:/# mount -o remount,rw / <br><br />
root@castle:/# quilt import Index: /usr/lib/luna/system/luna-systemui/app/controllers/bar-assistant.js <br><br><br />
<br />
of course I checked the quilt series to make sure i imported it correctly and then I pushed it and rebooted the device. When it powers back on..no change...apparently i am missing something.<br />
<br />
Sorry to ask you to "dumb it down" but i am a tyro (novice) to linux... :(<br />
<br />
thanks for your help if you do decide to assist!!!!! :-D -[[User:Dlbpre|Dlbpre]]<br />
<br />
<br />
:No problem at all. The first thing I'm noticing is that you're importing the wrong file, you'll want to import the '.patch' file. To accomplish this, you'll need to get the webos-internals modifications repo. Here:<br />
<br />
sudo -s<br />
mount -o remount,rw /<br />
cd /opt/src<br />
git clone git://gitorious.org/webos-internals/modifications.git<br />
<br />
You'll need to make sure that quilt is configured correctly, type:<br />
mkdir -p /opt/src/patches<br />
sed -ire 's|^[\s#]*QUILT_PATCHES=.*|QUILT_PATCHES=/opt/src/patches|' /opt/etc/quilt.quiltrc<br />
<br />
Make sure to remove the old series file before importing<br />
rm /opt/src/patches/series<br />
rm /opt/src/patches/bar-assistant.js<br />
<br />
Then run:<br />
quilt import /opt/src/modifications/luna/show-actual-battery-percent.patch<br />
cd /<br />
quilt push -a<br />
<br />
Then reboot:<br />
reboot<br />
<br />
Let me know if it works. -[[User:Hopspitfire|hopspitfire]] 00:27, 16 August 2009 (UTC)<br />
<br />
<br />
<br />
<br />
I get to here<br />
<br />
root@castle:/# quilt import /opt/src/modifications/luna/show-actual <br><br />
-battery-percent.patch<br><br />
Patch quilt does not exist<br><br />
root@castle:/#<br><br><br />
<br />
I followed every direction to the "T". Copy and paste precisely what was listed.<br />
<br />
Thanks for your assistance man (maybe lady). I really do appreciate the quick response.-[[User:Dlbpre|Dlbpre]]<br />
<br />
<br />
:Hrmm, can you run this command and post the output:<br />
find /opt/src<br />
<br />
-[[User:Hopspitfire|hopspitfire]] 01:15, 16 August 2009 (UTC) <br> <br> <br><br />
<br />
Here are the steps you applied to my previous question. <br> <br><br />
<br />
<br />
dlbpre@castle:~$ sudo -s<br><br />
root@castle:/var/home/dlbpre# mount -o remount,rw /<br><br />
root@castle:/var/home/dlbpre# cd /opt/src<br><br />
root@castle:/opt/src# git clone git://gitorious.org/webos-internals/modification<br />
s.git<br><br />
fatal: destination path 'modifications' already exists and is not an empty directory.<br><br />
root@castle:/opt/src#<br><br />
root@castle:/opt/src# mkdir -p /opt/src/patches<br><br />
root@castle:/opt/src#<br><br />
root@castle:/opt/src# sed -ire 's|^[\s#]*QUILT_PATCHES=.*|QUILT_PATCHES=/opt/src<br><br />
/patches|' /opt/etc/quilt.quiltrc<br><br />
root@castle:/opt/src# rm /opt/src/patches/series<br><br />
rm: cannot remove '/opt/src/patches/series': No such file or directory<br><br />
root@castle:/opt/src# rm /opt/src/patches/bar-assistant.js<br><br />
rm: cannot remove '/opt/src/patches/bar-assistant.js': No such file or directory<br><br />
root@castle:/opt/src# quilt import /opt/src/modifications/luna/show-actual-batte<br><br />
ry-percent.patch<br><br />
Importing patch /opt/src/patches/show-actual-battery-percent.patch<br><br />
root@castle:/opt/src# cd /<br><br />
root@castle:/# quilt push -a<br><br />
File series fully applied, ends at patch /opt/src/patches/bar-assistant.js<br><br />
root@castle:/# mount -o remount,ro /<br><br />
root@castle:/# reboot<br><br />
/bin/sh: reboot: not found<br><br />
<br />
<br><br><br><br />
<br />
As requested.<br />
<br />
root@castle:/# find /opt/src <br><br />
/opt/src <br><br />
/opt/src/patches <br><br />
/opt/src/patches/show-actual-battery-percent.patch <br><br />
/opt/src/patches/series <br><br />
/opt/src/patches/default-to-month-view.patch <br><br />
/opt/src/patches/capture_with_volume_keys.patch <br><br />
/opt/src/modifications <br><br />
/opt/src/modifications/amazonstore <br><br />
/opt/src/modifications/amazonstore/amazon_evdo.patch <br><br />
/opt/src/modifications/applauncher <br><br />
/opt/src/modifications/applauncher/add-delete-pages-in-the-launcher.patch <br><br />
/opt/src/modifications/camera <br><br />
/opt/src/modifications/camera/capture_with_volume_keys.patch <br><br />
/opt/src/modifications/install <br><br />
/opt/src/modifications/clock <br><br />
/opt/src/modifications/clock/hidden-clock.patch <br><br />
/opt/src/modifications/messaging <br><br />
/opt/src/modifications/messaging/messaging-sounds.patch <br><br />
/opt/src/modifications/messaging/message-forwarding.patch <br><br />
/opt/src/modifications/.git <br><br />
/opt/src/modifications/.git/logs <br><br />
/opt/src/modifications/.git/logs/HEAD <br><br />
/opt/src/modifications/.git/logs/refs <br><br />
/opt/src/modifications/.git/logs/refs/heads <br><br />
/opt/src/modifications/.git/logs/refs/heads/master <br><br />
/opt/src/modifications/.git/logs/refs/remotes <br><br />
/opt/src/modifications/.git/logs/refs/remotes/origin <br><br />
/opt/src/modifications/.git/logs/refs/remotes/origin/HEAD <br><br />
/opt/src/modifications/.git/config <br><br />
/opt/src/modifications/.git/hooks <br><br />
/opt/src/modifications/.git/hooks/pre-rebase.sample <br><br />
/opt/src/modifications/.git/hooks/prepare-commit-msg.sample <br><br />
/opt/src/modifications/.git/hooks/pre-commit.sample <br><br />
/opt/src/modifications/.git/hooks/post-receive.sample <br><br />
/opt/src/modifications/.git/hooks/commit-msg.sample <br><br />
/opt/src/modifications/.git/hooks/post-commit.sample <br><br />
/opt/src/modifications/.git/hooks/pre-applypatch.sample <br><br />
/opt/src/modifications/.git/hooks/applypatch-msg.sample <br><br />
/opt/src/modifications/.git/hooks/update.sample <br><br />
/opt/src/modifications/.git/hooks/post-update.sample <br><br />
/opt/src/modifications/.git/objects <br><br />
/opt/src/modifications/.git/objects/pack <br><br />
/opt/src/modifications/.git/objects/pack/pack-d852f8e9c46d1d6fe4abb0714a5d469011a6db08.idx <br><br />
/opt/src/modifications/.git/objects/pack/pack-d852f8e9c46d1d6fe4abb0714a5d469011a6db08.pack <br><br />
/opt/src/modifications/.git/objects/info <br><br />
/opt/src/modifications/.git/description <br><br />
/opt/src/modifications/.git/packed-refs <br><br />
/opt/src/modifications/.git/FETCH_HEAD <br><br />
/opt/src/modifications/.git/branches <br><br />
/opt/src/modifications/.git/ORIG_HEAD <br><br />
/opt/src/modifications/.git/index <br><br />
/opt/src/modifications/.git/info <br><br />
/opt/src/modifications/.git/info/exclude <br><br />
/opt/src/modifications/.git/HEAD <br><br />
/opt/src/modifications/.git/refs <br><br />
/opt/src/modifications/.git/refs/heads <br><br />
/opt/src/modifications/.git/refs/heads/master <br><br />
/opt/src/modifications/.git/refs/remotes <br><br />
/opt/src/modifications/.git/refs/remotes/origin <br><br />
/opt/src/modifications/.git/refs/remotes/origin/HEAD <br><br />
/opt/src/modifications/.git/refs/tags <br><br />
/opt/src/modifications/tasks <br><br />
/opt/src/modifications/tasks/new-task-details.patch <br><br />
/opt/src/modifications/email <br><br />
/opt/src/modifications/email/enable-landscape-email.patch <br><br />
/opt/src/modifications/email/prompt-for-ipk-installation.patch <br><br />
/opt/src/modifications/phoneprefs <br><br />
/opt/src/modifications/phoneprefs/roam-control.patch <br><br />
/opt/src/modifications/phone <br><br />
/opt/src/modifications/phone/phone-show-call-duration.sh <br><br />
/opt/src/modifications/phone/phone-enable-roam-only.patch <br><br />
/opt/src/modifications/soundsandalerts <br><br />
/opt/src/modifications/soundsandalerts/message-tone-sounds-and-alerts.patch <br><br />
/opt/src/modifications/musicplayer <br><br />
/opt/src/modifications/musicplayer/bookmark.patch <br><br />
/opt/src/modifications/calendar <br><br />
/opt/src/modifications/calendar/default-to-month-view.patch <br><br />
/opt/src/modifications/calendar/default-to-week-view.patch <br><br />
/opt/src/modifications/screenlock <br><br />
/opt/src/modifications/screenlock/longer_standby_times.patch <br><br />
/opt/src/modifications/frameworks <br><br />
/opt/src/modifications/frameworks/add-onscreen-keyboard.patch <br><br />
/opt/src/modifications/luna <br><br />
/opt/src/modifications/luna/disable-charging-alert-sound.patch <br><br />
/opt/src/modifications/luna/quiet-powerd-messages.patch <br><br />
/opt/src/modifications/luna/show-actual-battery-percent.patch <br><br />
/opt/src/modifications/luna/powersave-cpu-scaling <br><br />
/opt/src/modifications/luna/enable-dev-mode-icon.patch <br><br />
/opt/src/modifications/luna/more_icons_per_row.patch <br><br />
/opt/src/modifications/luna/powersave-smartreflex <br><br />
/opt/src/modifications/README <br><br />
/opt/src/modifications/browser <br><br />
/opt/src/modifications/browser/enable-browser-downloads.patch <br><br />
<br />
-[[User:Dlbpre|Dlbpre]]<br />
<br />
<br />
:Ah ok, so it looks like you've successfully imported the patch. The problem is that it is still trying to run your previous file (bar-assistant.js, which is not a patch file):<br />
<br />
root@castle:/# quilt push -a<br><br />
File series fully applied, ends at patch /opt/src/patches/bar-assistant.js<br />
<br />
Try this (be sure to copy and paste these, you don't want to accidently delete the wrong files):<br />
mount -o remount,rw /<br />
cd /<br />
quilt pop -a<br />
rm /opt/src/patches/*<br />
quilt import /opt/src/modifications/luna/show-actual-battery-percent.patch<br />
quilt push -a<br />
<br />
To reboot the Pre, you can just press and hold <Orange-Button><Sym><R>. Let me know what happens. <br />
<br />
Also, when you're done typing your comments, please type <nowiki>~~~~</nowiki> as that will insert your name and the time, like so -> [[User:Hopspitfire|hopspitfire]] 01:29, 16 August 2009 (UTC)<br />
<br />
<br />
Here are the results:<br />
<br />
root@castle:/var/home/dlbpre# mount -o remount,rw / <br><br />
root@castle:/var/home/dlbpre# cd / <br><br />
root@castle:/# quilt pop -a <br><br />
Patch /opt/src/patches/bar-assistant.js needs to be refreshed first. <br><br />
root@castle:/# rm /opt/src/patches/* <br><br />
root@castle:/# quilt import /opt/src/modifications/luna/show-actual-battery-perc <br><br />
ent.patch <br><br />
Patch /opt/src/patches/show-actual-battery-percent.patch is applied <br><br />
root@castle:/# quilt push -a <br><br />
File series fully applied, ends at patch /opt/src/patches/bar-assistant.js <br><br />
root@castle:/# mount -o remount,ro / <br> <br><br />
<br />
And the battery percentage has not decided to show yet.<br />
[[User:Dlbpre|Dlbpre]] 02:01, 16 August 2009 (UTC)<br />
<br />
<br />
:Ok, somehow the series isn't being overwritten, which leads me to believe that it's using the wrong patches directory. Can you run this command and give me the output?<br />
cat /opt/etc/quilt.quiltrc | grep PATCHES=<br />
<br />
-[[User:Hopspitfire|hopspitfire]] 02:44, 16 August 2009 (UTC)<br />
<br />
Nothing happens when I input that code. I did notice that you directed me to use "sudo -s"...instead of what i normally use "sudo su -". (forgive me if im an idiot and those two quotes are the same thing).<br><br />
<br />
[[User:Dlbpre|Dlbpre]]<br />
<br />
<br />
:OK, I figured out the problem. First, there are no dumb questions: 'sudo -s' makes you the root user while still keeping the shell and environment variables of your regular user, while 'sudo su -' makes you the root user and uses the root shell and environment variables.<br />
<br />
The easiest way is reinstalling quilt and then redoing quiltrc. Run these commands:<br />
mount -o remount,rw /<br />
rm /opt/src/patches/*<br />
ipkg-opt update<br />
ipkg-opt remove quilt perl libdb gdbm util-linux-ng e2fslibs ncursesw ncurses<br />
ipkg-opt install quilt-lite<br />
<br />
The next one is REALLY important, and sets the patches directory. Make sure to copy the whole command and paste it.<br />
sed -ire 's|^[\s#]*QUILT_PATCHES=.*|QUILT_PATCHES=/opt/src/patches|' /opt/etc/quilt.quiltrc<br />
<br />
Run this command to make sure it worked:<br />
cat /opt/etc/quilt.quiltrc | grep PATCHES=<br />
<br />
Your output should be: QUILT_PATCHES=/opt/src/patches<br />
<br />
If it isn't, then something went wrong.<br />
<br />
If everything went well, import and try pushing the patch again<br />
quilt import /opt/src/modifications/luna/show-actual-battery-percent.patch<br />
quilt push -a<br />
<br />
Let me know what happens. -[[User:Hopspitfire|hopspitfire]] 03:16, 16 August 2009 (UTC)<br />
<br />
<pre><nowiki><br />
dlbpre@castle:~$ sudo -s <br />
root@castle:/var/home/dlbpre# mount -o remount,rw / <br />
root@castle:/var/home/dlbpre# rm /opt/src/patches/*<br />
root@castle:/var/home/dlbpre# ipkg-opt update <br />
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/Packages.gz <br />
Inflating http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/Packages.gz <br />
Updated list of available packages in /opt/lib/ipkg/lists/cross<br />
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/native/unstable/Packages.gz<br />
Inflating http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/native/unstable/Packages.gz<br />
Updated list of available packages in /opt/lib/ipkg/lists/native<br />
Downloading http://ipkg.nslu2-linux.org/feeds/optware/pre/cross/unstable/Packages.gz<br />
Inflating http://ipkg.nslu2-linux.org/feeds/optware/pre/cross/unstable/Packages.gz<br />
Updated list of available packages in /opt/lib/ipkg/lists/kernel<br />
Successfully terminated. <br />
root@castle:/var/home/dlbpre# ipkg-opt remove quilt perl libdb gdbm util-linux-ng e2fslibs ncursesw ncurses <br />
Nothing to be done <br />
Successfully terminated. <br />
Collected errors: <br />
Package ncurses is depended upon by packages:<br />
psmisc <br />
These might cease to work if package ncurses is removed. <br />
<br />
You can force removal of this package with -force-depends. <br />
You can force removal of this package and its dependents <br />
with -force-removal-of-dependent-packages or -recursive <br />
or by setting option force_removal_of_dependent_packages in ipkg.conf.<br />
root@castle:/var/home/dlbpre# ipkg-opt install quilt-lite <br />
Package quilt-lite (0.48-5) installed in root is up to date.<br />
Nothing to be done<br />
Successfully terminated.<br />
root@castle:/var/home/dlbpre# sed -ire 's|^[\s#]*QUILT_PATCHES=.*|QUILT_PATCHES=<br />
/opt/src/patches|' /opt/etc/quilt.quiltrc<br />
root@castle:/var/home/dlbpre# cat /opt/etc/quilt.quiltrc | grep PATCHES=<br />
QUILT_PATCHES=/opt/src/patches<br />
root@castle:/var/home/dlbpre# quilt import /opt/src/modifications/luna/show-actual-battery-percent.patch<br />
Importing patch /opt/src/modifications/luna/show-actual-battery-percent.patch (stored as /opt/src/patches/show-actual-battery-percent.patch) <br />
root@castle:/var/home/dlbpre# quilt push -a<br />
Applying patch /opt/src/patches/show-actual-battery-percent.patch <br />
can't find file to patch at input line 11 <br />
Perhaps you used the wrong -p or --strip option? <br />
The text leading up to this was:<br />
--------------------------<br />
|show-actual-battery-percent<br />
|<br />
|Tested-On: 1.1<br />
|<br />
|//show actual battery percent in the system user interface.<br />
|//note: battery @ 100% will only charge on a new charge event or if power is <94%<br />
|Index: /usr/lib/luna/system/luna-systemui/app/controllers/bar-assistant.js<br />
|===================================================================<br />
|--- .orig/usr/lib/luna/system/luna-systemui/app/controllers/bar-assistant.js<br />
|+++ /usr/lib/luna/system/luna-systemui/app/controllers/bar-assistant.js<br />
-------------------------- <br />
No file to patch. Skipping patch.<br />
3 out of 3 hunks ignored<br />
Patch /opt/src/patches/show-actual-battery-percent.patch does not apply (with -f)<br />
<br />
</nowiki></pre><br />
<br />
there we go. [[User:Dlbpre|Dlbpre]]<br />
<br />
<br />
:Everything looks good, I forgot to add a command to the list ('quilt push' needs to be run in '/'). Run this and it should work:<br />
mount -o remount,rw /<br />
cd /<br />
quilt push -a<br />
<br />
Let me know what happens.-[[User:Hopspitfire|hopspitfire]] 03:42, 16 August 2009 (UTC)<br />
<br><br><br />
<br />
<br />
dlbpre@castle:~$ sudo -s<br />
root@castle:/var/home/dlbpre# cd / <br />
root@castle:/# mount -o remount,rw / <br />
root@castle:/# quilt push -a <br />
File series fully applied, ends at patch /opt/src/patches/bar-assistant.js <br />
root@castle:/# <br />
<br />
ran it and rebooted. Still no appearance. BTW is there a way I can donate money to you? You have nearly worked with me all night...for no reason but to just assist. God Bless and thank you. Let me know what to do next! :) [[User:Dlbpre|Dlbpre]]<br />
<br />
<br />
:Haha, we can't accept donations :) but I'm glad you're not giving up, and you're definitely welcome! <br />
:For some reason it keeps trying to use 'bar-assistant.js' as a patch, when it isn't. Can you run these commands and paste the output, the 1st command does a whole file and directory listing of /opt/src, and the second commands tells us what files that quilt will try and use as a patch:<br />
find /opt/src/<br />
cat /opt/src/patches/series<br />
<br />
-[[User:Hopspitfire|hopspitfire]] 04:03, 16 August 2009 (UTC)<br />
<br><br><br><br><br />
<br />
Here we are.<br><br><br />
<br />
dlbpre@castle:~$ find /opt/src/<br><br />
/opt/src/ <br><br />
/opt/src/patches <br><br />
/opt/src/patches/show-actual-battery-percent.patch <br><br />
/opt/src/patches/series <br><br />
/opt/src/modifications <br><br />
/opt/src/modifications/amazonstore <br><br />
/opt/src/modifications/amazonstore/amazon_evdo.patch <br><br />
/opt/src/modifications/applauncher <br><br />
/opt/src/modifications/applauncher/add-delete-pages-in-the-launcher.patch <br><br />
/opt/src/modifications/camera <br><br />
/opt/src/modifications/camera/capture_with_volume_keys.patch <br><br />
/opt/src/modifications/install <br><br />
/opt/src/modifications/clock <br><br />
/opt/src/modifications/clock/hidden-clock.patch <br><br />
/opt/src/modifications/messaging <br><br />
/opt/src/modifications/messaging/messaging-sounds.patch <br><br />
/opt/src/modifications/messaging/message-forwarding.patch <br><br />
/opt/src/modifications/.git <br><br />
/opt/src/modifications/.git/logs <br><br />
/opt/src/modifications/.git/logs/HEAD <br><br />
/opt/src/modifications/.git/logs/refs <br><br />
/opt/src/modifications/.git/logs/refs/heads <br><br />
/opt/src/modifications/.git/logs/refs/heads/master <br><br />
/opt/src/modifications/.git/logs/refs/remotes <br><br />
/opt/src/modifications/.git/logs/refs/remotes/origin <br><br />
/opt/src/modifications/.git/logs/refs/remotes/origin/HEAD <br><br />
/opt/src/modifications/.git/config <br><br />
/opt/src/modifications/.git/hooks <br><br />
/opt/src/modifications/.git/hooks/pre-rebase.sample <br><br />
/opt/src/modifications/.git/hooks/prepare-commit-msg.sample <br><br />
/opt/src/modifications/.git/hooks/pre-commit.sample <br><br />
/opt/src/modifications/.git/hooks/post-receive.sample <br><br />
/opt/src/modifications/.git/hooks/commit-msg.sample <br><br />
/opt/src/modifications/.git/hooks/post-commit.sample <br><br />
/opt/src/modifications/.git/hooks/pre-applypatch.sample <br><br />
/opt/src/modifications/.git/hooks/applypatch-msg.sample <br><br />
/opt/src/modifications/.git/hooks/update.sample <br><br />
/opt/src/modifications/.git/hooks/post-update.sample <br><br />
/opt/src/modifications/.git/objects <br><br />
/opt/src/modifications/.git/objects/pack <br><br />
/opt/src/modifications/.git/objects/pack/pack-d852f8e9c46d1d6fe4abb0714a5d469011a6db08.idx <br><br />
/opt/src/modifications/.git/objects/pack/pack-d852f8e9c46d1d6fe4abb0714a5d469011a6db08.pack <br><br />
/opt/src/modifications/.git/objects/info <br><br />
/opt/src/modifications/.git/description <br><br />
/opt/src/modifications/.git/packed-refs <br><br />
/opt/src/modifications/.git/FETCH_HEAD <br><br />
/opt/src/modifications/.git/branches <br><br />
/opt/src/modifications/.git/ORIG_HEAD <br><br />
/opt/src/modifications/.git/index <br><br />
/opt/src/modifications/.git/info <br><br />
/opt/src/modifications/.git/info/exclude <br><br />
/opt/src/modifications/.git/HEAD <br><br />
/opt/src/modifications/.git/refs <br><br />
/opt/src/modifications/.git/refs/heads <br><br />
/opt/src/modifications/.git/refs/heads/master <br><br />
/opt/src/modifications/.git/refs/remotes <br><br />
/opt/src/modifications/.git/refs/remotes/origin <br><br />
/opt/src/modifications/.git/refs/remotes/origin/HEAD <br><br />
/opt/src/modifications/.git/refs/tags <br><br />
/opt/src/modifications/tasks <br><br />
/opt/src/modifications/tasks/new-task-details.patch <br><br />
/opt/src/modifications/email <br><br />
/opt/src/modifications/email/enable-landscape-email.patch <br><br />
/opt/src/modifications/email/prompt-for-ipk-installation.patch <br><br />
/opt/src/modifications/phoneprefs <br><br />
/opt/src/modifications/phoneprefs/roam-control.patch <br><br />
/opt/src/modifications/phone <br><br />
/opt/src/modifications/phone/phone-show-call-duration.sh <br><br />
/opt/src/modifications/phone/phone-enable-roam-only.patch <br><br />
/opt/src/modifications/soundsandalerts <br><br />
/opt/src/modifications/soundsandalerts/message-tone-sounds-and-alerts.patch <br><br />
/opt/src/modifications/musicplayer <br><br />
/opt/src/modifications/musicplayer/bookmark.patch <br><br />
/opt/src/modifications/calendar <br><br />
/opt/src/modifications/calendar/default-to-month-view.patch <br><br />
/opt/src/modifications/calendar/default-to-week-view.patch <br><br />
/opt/src/modifications/screenlock <br><br />
/opt/src/modifications/screenlock/longer_standby_times.patch <br><br />
/opt/src/modifications/frameworks <br><br />
/opt/src/modifications/frameworks/add-onscreen-keyboard.patch <br><br />
/opt/src/modifications/luna <br><br />
/opt/src/modifications/luna/disable-charging-alert-sound.patch <br><br />
/opt/src/modifications/luna/quiet-powerd-messages.patch <br><br />
/opt/src/modifications/luna/show-actual-battery-percent.patch <br><br />
/opt/src/modifications/luna/powersave-cpu-scaling <br><br />
/opt/src/modifications/luna/enable-dev-mode-icon.patch <br><br />
/opt/src/modifications/luna/more_icons_per_row.patch <br><br />
/opt/src/modifications/luna/powersave-smartreflex <br><br />
/opt/src/modifications/README <br><br />
/opt/src/modifications/browser <br><br />
/opt/src/modifications/browser/enable-browser-downloads.patch <br><br />
dlbpre@castle:~$ cat /opt/src/patches/series <br><br />
show-actual-battery-percent.patch <br><br />
<br />
as directed. I didnt realize you worked with the site. Must be nice being a linux genious! :-D<br><br />
[[User:Dlbpre|Dlbpre]]<br />
<br />
:I'm not a linux genius by any means, but helping people makes me learn much more, and I really appreciate how patient you've been :)<br />
:It seems like the patch is loaded in the folder and ready. Try to reboot then do these commands:<br />
sudo -i<br />
mount -o remount,rw / <br />
cd /<br />
quilt pop -af<br />
quilt push -a<br />
<br />
Let me know how that works. -[[User:Hopspitfire|hopspitfire]] 05:21, 16 August 2009 (UTC)<br />
<br><br><br><br />
<br />
dlbpre@castle:~$ sudo -i<br />
Password:<br />
root@castle:/var/home/root# mount -o remount,rw /<br />
mount -o remount,rw /<br />
root@castle:/var/home/root# mount -o remount,rw /<br />
root@castle:/var/home/root# cd /<br />
root@castle:/# quilt pop -af<br />
Patch /opt/src/patches/bar-assistant.js appears to be empty, removing<br />
<br />
Removing patch /opt/src/patches/default-to-month-view.patch<br />
Restoring usr/palm/applications/com.palm.app.calendar/app/controllers/app-assistant.js<br />
<br />
Removing patch /opt/src/patches/capture_with_volume_keys.patch<br />
Restoring usr/palm/applications/com.palm.app.camera/app/controllers/capture-assistant.js<br />
<br />
Removing patch /opt/src/patches/show-actual-battery-percent.patch<br />
Restoring usr/lib/luna/system/luna-systemui/app/controllers/bar-assistant.js<br />
<br />
No patches applied<br />
root@castle:/# quilt pop -af<br />
No patch removed<br />
root@castle:/# quilt push -a<br />
Applying patch /opt/src/patches/show-actual-battery-percent.patch<br />
patching file usr/lib/luna/system/luna-systemui/app/controllers/bar-assistant.js<br />
<br />
Now at patch /opt/src/patches/show-actual-battery-percent.patch<br />
root@castle:/# <br><br><br />
<br />
thanks for the patience compliment. Thank you for being patient with my beginning skill level as well. :)<br><br><br />
<br />
dlbpre@castle:~$ sudo -i <br><br />
root@castle:/var/home/root# mount -o remount,rw / <br><br />
mount -o remount,rw / <br><br />
root@castle:/var/home/root# mount -o remount,rw / <br><br />
root@castle:/var/home/root# cd / <br><br />
root@castle:/# quilt pop -af <br><br />
Patch /opt/src/patches/bar-assistant.js appears to be empty, removing <br><br />
<br />
Removing patch /opt/src/patches/default-to-month-view.patch <br><br />
Restoring usr/palm/applications/com.palm.app.calendar/app/controllers/app-assistant.js <br><br />
<br />
Removing patch /opt/src/patches/capture_with_volume_keys.patch <br><br />
Restoring usr/palm/applications/com.palm.app.camera/app/controllers/capture-assistant.js <br><br />
<br />
Removing patch /opt/src/patches/show-actual-battery-percent.patch <br><br />
Restoring usr/lib/luna/system/luna-systemui/app/controllers/bar-assistant.js <br><br />
<br />
No patches applied <br><br />
root@castle:/# quilt pop -af <br><br />
No patch removed <br><br />
root@castle:/# quilt push -a <br><br />
Applying patch /opt/src/patches/show-actual-battery-percent.patch <br><br />
patching file usr/lib/luna/system/luna-systemui/app/controllers/bar-assistant.js <br><br />
<br />
Now at patch /opt/src/patches/show-actual-battery-percent.patch <br><br />
root@castle:/# <br> <br><br />
<br />
Perhaps I should have explained prior to contacting you, I had attempted to install the battery percent viewer from the quilt series (it was listed with the rest of the patches available to me). I copied and pasted it, then I pushed it. After I couldnt get that working, I followed the explanation on this website which lead me to your assistance. Would that happen to be relevant information?<br><br><br />
<br />
[[User:Dlbpre|Dlbpre]]<br />
<br />
<br />
<br><br><br><br />
<br />
My desire to resolve my programming issue as been resolved!! Thank you for all your help though. I was fishing around precentral.net (sry if that is ya'lls competitor) I found someone who was having trouble and saw a post that someone made regarding the coding. I tried there post and it looks like this:<br><br><br />
<br />
dlbpre@castle:~$ sudo su - <br><br />
root@castle:/var/home/root# cd / <br><br />
root@castle:/# mount -o remount,rw / <br><br />
root@castle:/# wget http://filebin.ca/prhvwq/pre_battery_percentage.diff <br><br />
Connecting to filebin.ca (208.68.18.109:80) <br><br />
pre_battery_percenta 100% |*******************************| 3754 --:--:-- ETA <br><br />
root@castle:/# patch -pO -i pre_battery_percentage.diff <br><br />
patch: **** strip count O is not a number <br><br />
root@castle:/# patch -p0 -i pre_battery_percentage.diff <br><br />
patching file /usr/lib/luna/system/luna-systemui/app/controllers/bar-assistant.js <br><br />
Hunk #1 succeeded at 1381 with fuzz 2 (offset 214 lines). <br><br />
Hunk #2 succeeded at 1405 with fuzz 1 (offset 214 lines). <br><br />
Hunk #3 FAILED at 1437. <br><br />
Hunk #4 succeeded at 1484 (offset 214 lines). <br><br />
Hunk #5 succeeded at 1516 (offset 215 lines). <br><br />
1 out of 5 hunks FAILED -- saving rejects to file /usr/lib/luna/system/luna-systemui/app/controllers/bar-assistant.js.rej <br><br />
patching file /usr/lib/luna/system/luna-systemui/stylesheets/systemui.css <br><br />
root@castle:/# <br> <br><br />
<br />
You can find the source at the link provided below (it is the 4th post on the page):<br><br />
http://forums.precentral.net/web-os-development/194029-battery-place-icon-working-1-1-0-color-3.html#1778094<br><br><br />
<br />
The reason I posted this information is because I yearn for you to understand what I did wrong. I am hoping you put it in terms I can understand but also your knowledge with linux will grow as well. Win-win situation!! :-D [[User:Dlbpre|Dlbpre]]<br />
<br />
:I'm glad you figured it out! -[[User:Hopspitfire|hopspitfire]] 04:11, 17 August 2009 (UTC)<br />
<br />
<br />
<br />
<br />
== Messaging Sound ==<br />
<br />
Are you still doing any work on the messaging sound patch or did you turn it over to JackieRipper?<br />
<br />
<br />
==Disable Missed Call Sound Not Working==<br />
<br />
Disable missed call sound not working. Do you know a workaround? -[[User:Mamouton|Mamouton]]<br />
<br />
:I'm not sure, I supposed new diffs need to be created for the 1.2 update (unless they implemented new functions, which will take longer). Have you already tried manually doing the edits from the diffs?</div>Hopspitfirehttp://wiki.webos-internals.org/index.php?title=Talk:Preware_Design&diff=5846Talk:Preware Design2009-09-18T05:44:33Z<p>Hopspitfire: /* Proposal to Install Apps in /media/internal */</p>
<hr />
<div>{{box | color = #cdf |<br />
This is a discussion page. Create a new topic with the '+' tab. Sign your comments using the signature button or by typing <code><nowiki>~~~~</nowiki></code>. If your suggestion reaches consensus, you may implement it on the application page.<br />
}}<br />
<br />
== Replacing wiki pages? ==<br />
<br />
Is this going to replace the application pages in this wiki? I think it should.<br />
—[[user:X1011|X1011]] 22:31, 25 July 2009 (UTC)<br />
<br />
This has not been decided yet, but in all odds it eventually will. --[[User:Templarian|Templarian]] 03:18, 3 August 2009 (UTC)<br />
<br />
== XML feeds ==<br />
<br />
* instead of <firmware>:<br />
<source lang='xml'><br />
<webOSVersion><br />
<min>1.0.3</min><br />
<max>1.1</max><br />
</webOSVersion><br />
</source><br />
* maintainer:<br />
<source lang='xml'><br />
<maintainer id="42"><br />
<name>John Doe</name><br />
<email>email@domain.com</email><br />
</maintainer><br />
</source><br />
* should a category have an id? everything else does.<br />
* in the review, you have the type in the message tag, but in the comment, you have it in the messages tag.<br />
* <comment> should be <text> or <body><br />
* in <comment>, what do you mean by 'split it somewhere'?<br />
* does <code>preware.org/feed/xml/type/</code> have a meaning? if not, we should use:<br />
<source lang='text'><br />
preware.org/feed/xml/application/23/<br />
preware.org/feed/xml/plugin/23/<br />
</source><br />
<br />
—[[user:X1011|X1011]] 09:27, 29 July 2009 (UTC)<br />
<br />
- Agreed with all suggestions in this section, and they are now reflected in the article. --[[User:Templarian|Templarian]] 02:33, 3 August 2009 (UTC)<br />
<br />
For "preware.org/feed/xml/application/23/" since it shares id's, couldn't it just be "/xml/23/". --[[user:Templarian|Templarian]]<br />
<br />
== GUI Addition: Version# and Changelog ==<br />
<br />
Idea: Add a small "Details" or "+" button on the app and plugins pages. It can go at the end of the description, or possibly to the right of the very large "Install/Delete" button. It may not be wanted though. I know we don't want to show version numbers on the app page, but I'd love to have some way to access the version number and changelog from within the Preware app, even if its semi-hidden. I read the results of Rick's papercraft gui study, and agree with a lot of the comments, but I still feel like this is something that would be helpful to have available somewhere in the app, even if it isn't immediately obvious how to get to it (since its not something that is necessarily required by the average user). --[[User:Zinge|Zinge]] 02:29, 3 August 2009 (UTC)<br />
<br />
Changes reflected in the Preware Application mockup image. --[[User:Templarian|Templarian]] 02:46, 3 August 2009 (UTC)<br />
<br />
Looks good, but we may want to change the "list" icon to something that look less like "go back to the app list". My suggestions are- are lowercase "i" or the "+" symbol. Any better ideas? --[[User:Zinge|Zinge]] 02:56, 3 August 2009 (UTC)<br />
<br />
lowercase i is the correct icon, I changed it to reflect that in the mockup. --[[User:Templarian|Templarian]] 03:11, 3 August 2009 (UTC)<br />
<br />
== button resizing ==<br />
<br />
For the first screenshot I think it would be best if we made it so that the buttons resize. No scrolling in any form even if there notifications below it. --[[user:Templarian|Templarian]]<br />
<br />
<br />
== License id ==<br />
<br />
Do you think we should put the versions next to all of them to be consistent? --[[User:Templarian|Templarian]] 02:33, 5 August 2009 (UTC)<br />
<br />
what is the purpose of having a license id? —[[user:X1011|X1011]] 04:51, 5 August 2009 (UTC)<br />
<br />
Since the Preware app is listed for Open Source projects it was mentioned it would be nice to have it listed on the information button (which may be moved to a drop down at the right of the top title). Really treating the info screen as the information normal users do not care about seeing immediately. The license id is just a standard id that will never change. --[[User:Templarian|Templarian]] 14:12, 5 August 2009 (UTC)<br />
<br />
are you saying the name of a license is likely to change? i doubt that. if you must have a license id, though, just make it a number like all the other ids. —[[user:X1011|X1011]] 04:35, 6 August 2009 (UTC)<br />
<br />
Yea, probably change that to a number sometime. --[[User:Templarian|Templarian]] 05:29, 6 August 2009 (UTC)<br />
<br />
== Proposal to Install Apps in /media/internal ==<br />
<br />
I'd like to propose that PreWare adds an AppPath in /etc/palm/luna.conf to allow developers the option to install apps on /media/internal/apps.<br />
<br />
Details and pros/cons here...<br />
http://www.webos-internals.org/wiki/Proposal_to_install_Homebrew_apps_on_/media/internal_%28USB_partition%29<br />
<br />
--[[User:Xorg|Xorg]] 01:23, 18 September 2009 (UTC)</div>Hopspitfirehttp://wiki.webos-internals.org/index.php?title=Talk:Tutorials_Linux_DDNS_Update_Client_ez-ipupdate&diff=5704Talk:Tutorials Linux DDNS Update Client ez-ipupdate2009-09-12T17:49:04Z<p>Hopspitfire: Sign your comments.</p>
<hr />
<div>==Zonedit==<br />
<br />
There seems to be an issue with zoneedit... the following error is given when running<br />
<br />
/opt/bin/ez-ipupdate -c /opt/etc/ipupdate.conf<br />
<br />
ez-ipupdate Version 3.0.11b7<br />
<br />
Copyright (C) 1998-2001 Angus Mackay.<br />
<br />
connected to www.zoneedit.com (64.85.73.41) on port 80.<br />
<br />
unknown return code: 301<br />
<br />
server response: Moved Permanently<br />
<br />
Thoughts on a fix? -[[User:Clintkoglin|Clintkoglin]]<br />
<br />
:Ditto, same error here. -[[User:A2k|A2k]]</div>Hopspitfirehttp://wiki.webos-internals.org/index.php?title=Talk:Tutorials_Linux_DDNS_Update_Client_ez-ipupdate&diff=5703Talk:Tutorials Linux DDNS Update Client ez-ipupdate2009-09-12T17:47:37Z<p>Hopspitfire: Sign your comments.</p>
<hr />
<div>There seems to be an issue with zoneedit... the following error is given when running<br />
<br />
/opt/bin/ez-ipupdate -c /opt/etc/ipupdate.conf<br />
<br />
ez-ipupdate Version 3.0.11b7<br />
<br />
Copyright (C) 1998-2001 Angus Mackay.<br />
<br />
connected to www.zoneedit.com (64.85.73.41) on port 80.<br />
<br />
unknown return code: 301<br />
<br />
server response: Moved Permanently<br />
<br />
<br />
Thoughts on a fix?<br />
<br />
<br />
:Ditto, same error here. -[[User:A2k|A2k]]</div>Hopspitfirehttp://wiki.webos-internals.org/index.php?title=Template:Page-main&diff=5465Template:Page-main2009-09-07T07:52:56Z<p>Hopspitfire: The top text needed to be centered. The top-bar's right text was in the center, it needed to be on the right (I also moved the image to the right).</p>
<hr />
<div><table width="100%" cellspacing="10" cellpadding="0"><br />
<tr><br />
<td colspan="3" style="padding:10px;background-color:#FBE6FB;border-top:1px solid #999;border-left:1px solid #999;border-right:1px solid #333;border-bottom:1px solid #333;"><br />
<table width="100%" style="background-color:transparent;"><tr><br />
<td><br />
<div style="float:left;padding-right:10px;">{{#icon:Icon-document.png|Development Tools|48|Portal:SDK}}</div><br />
<div style="padding:5px 0 6px 0;font-size:26px;">[[Portal:SDK|SDK Documentation]]</div><br />
<div style="padding-bottom:2px;">Please help by expanding the documentation.</div><br />
</td><br />
<td><br />
<div align=right style="float:right;padding-left:10px;">{{#icon:Tux_with_Pre_and_Screwdriver.png |Suppport|48|Propaganda}}</div><br />
<div align=right style="padding:5px 0 6px 0;font-size:26px;">[[Propaganda|Show Support]]</div><br />
<div align=right style="padding-bottom:2px;">From your site to PreCentral show your support.</div><br />
</td></tr></table><br />
</td><br />
</tr><br />
<tr><br />
<td colspan="3"><br />
<br />
<div align="center"> '''Welcome to the WebOS Internals wiki'''</div><br />
<br />
This site is for collecting information about the inner workings of webOS, which powers everybody (else)'s favorite smart phone, the Palm Pre. If you add information which you did not discover yourself, please try to give credit to the original researcher. Also, please do not add information that has not been confirmed. This is meant to be a collection of facts, and our site is growing quickly, so organization may sometimes be lacking.</td><br />
<tr><br />
<tr><br />
<td style="background-color:#FFFFE0;width:33%;border-top:1px solid #999;border-left:1px solid #999;border-right:1px solid #333;border-bottom:1px solid #333;">{{{cell-1-1}}}</td><br />
<td style="background-color:#F1F1F1;width:33%;border-top:1px solid #999;border-left:1px solid #999;border-right:1px solid #333;border-bottom:1px solid #333;">{{{cell-2-1}}}</td><br />
<td style="background-color:#ECF9FF;width:33%;border-top:1px solid #999;border-left:1px solid #999;border-right:1px solid #333;border-bottom:1px solid #333;">{{{cell-3-1}}}</td><br />
</tr><br />
<tr><br />
<td style="background-color:#FFFFE0;border-top:1px solid #999;border-left:1px solid #999;border-right:1px solid #333;border-bottom:1px solid #333;">{{{cell-1-2}}}</td><br />
<td style="background-color:#F1F1F1;border-top:1px solid #999;border-left:1px solid #999;border-right:1px solid #333;border-bottom:1px solid #333;">{{{cell-2-2}}}</td><br />
<td style="background-color:#ECF9FF;border-top:1px solid #999;border-left:1px solid #999;border-right:1px solid #333;border-bottom:1px solid #333;">{{{cell-3-2}}}</td><br />
</tr><br />
<tr><br />
<td style="background-color:#FFFFE0;border-top:1px solid #999;border-left:1px solid #999;border-right:1px solid #333;border-bottom:1px solid #333;">{{{cell-1-3}}}</td><br />
<td style="background-color:#F1F1F1;border-top:1px solid #999;border-left:1px solid #999;border-right:1px solid #333;border-bottom:1px solid #333;">{{{cell-2-3}}}</td><br />
<td style="background-color:#ECF9FF;border-top:1px solid #999;border-left:1px solid #999;border-right:1px solid #333;border-bottom:1px solid #333;">{{{cell-3-3}}}</td><br />
</tr><br />
<tr><br />
<td style="background-color:#FFFFE0;border-top:1px solid #999;border-left:1px solid #999;border-right:1px solid #333;border-bottom:1px solid #333;">{{{cell-1-4}}}</td><br />
<td style="background-color:#F1F1F1;border-top:1px solid #999;border-left:1px solid #999;border-right:1px solid #333;border-bottom:1px solid #333;">{{{cell-2-4}}}</td><br />
<td style="background-color:#ECF9FF;border-top:1px solid #999;border-left:1px solid #999;border-right:1px solid #333;border-bottom:1px solid #333;">{{{cell-3-4}}}</td><br />
</tr><br />
<tr><br />
<td colspan="3"><br />
<table width="100%" cellspacing="0" cellpadding="0"><br />
<tr><br />
<td>{{{leftnav}}}<td><br />
<td style="text-align:right;">{{{rightnav}}}</td><br />
</tr><br />
</table><br />
</td><br />
</tr><br />
<tr><br />
<td style="background-color:#FFFFE0;vertical-align:top;border-top:1px solid #999;border-left:1px solid #999;border-right:1px solid #333;border-bottom:1px solid #333;">{{{irc}}}</td><br />
<td style="background-color:#F1F1F1;vertical-align:top;border-top:1px solid #999;border-left:1px solid #999;border-right:1px solid #333;border-bottom:1px solid #333;"><br />
{{{coderepositories}}}</td><br />
<td style="background-color:#ECF9FF;vertical-align:top;border-top:1px solid #999;border-left:1px solid #999;border-right:1px solid #333;border-bottom:1px solid #333;">{{{resources}}}</td><br />
</tr><br />
<tr><br />
<td colspan="3"><br />
<br />
{{portal-two-columns<br />
|column1=<br />
==Featured Article==<br />
{{WebOS Internals:Featured_Article/Current}}<br />
<br />
[[WebOS Internals:Featured_Article|Past and future featured articles]]<br />
|column2=<br />
==Featured Project==<br />
{{WebOS Internals:Featured_Project/Current}}<br />
<br />
[[WebOS Internals:Featured_Project|Past and future featured projects]]<br />
}}<br />
<br />
== Disclaimer ==<br />
<br />
{{WebOS Internals:General disclaimer}}<br />
<br />
</td><br />
</tr><br />
</table></div>Hopspitfirehttp://wiki.webos-internals.org/index.php?title=Dbdump&diff=4847Dbdump2009-08-27T20:24:02Z<p>Hopspitfire: </p>
<hr />
<div>This is just a simple script that will find all .db3 or .db files and dump them to the /media/internal/dbdump directory as html so you can easily poke around to see if there's anything interesting.<br />
<br />
<pre><nowiki><br />
<br />
#!/bin/ash<br />
SQLITE3=/usr/bin/sqlite3<br />
FOLDER=/media/internal/dbdump<br />
INDEX=$FOLDER/index.html<br />
DB=1<br />
<br />
getTables() {<br />
$SQLITE3 $1 .tables<br />
}<br />
<br />
dumpTable() {<br />
db=$1<br />
tableName=$2<br />
fileName=$3<br />
$SQLITE3 $db <<EOF >> $fileName<br />
.mode html<br />
.header ON<br />
.nullvalue --NULL--<br />
select * from $tableName;<br />
.exit<br />
EOF<br />
}<br />
<br />
if [ -d $FOLDER ]<br />
then<br />
rm -rf $FOLDER.bak<br />
mv $FOLDER $FOLDER.bak<br />
fi<br />
<br />
mkdir $FOLDER<br />
<br />
files=`find / -name '*.db' -o -name '*.db3'`<br />
<br />
cat <<EOF > $INDEX<br />
<HTML><HEAD><TITLE>dbdump</TITLE></HEAD><BODY><br />
EOF<br />
<br />
for db in $files<br />
do<br />
echo "DB:$db"<br />
echo "<HR/>$db<UL>" >> $INDEX<br />
dbFolder=$FOLDER/db$DB<br />
dbIndex=$dbFolder/index.html<br />
mkdir $dbFolder<br />
echo "<HTML><HEAD><TITLE>dbdump - $db</TITLE></HEAD><BODY>Tables<UL>" > $dbIndex<br />
tables=`getTables $db`<br />
for table in $tables<br />
do<br />
echo " - $table"<br />
echo "<LI/><A href='db$DB/$table.html'>$table</A>" >> $INDEX<br />
echo "<LI/><A href='$table.html'>$table</A>" >> $dbIndex<br />
tablePage=$dbFolder/$table.html<br />
echo "<HTML><HEAD><TITLE>dbdump - $db/$table</TITLE></HEAD><BODY><TABLE border=1>" > $tablePage<br />
dumpTable $db $table $tablePage<br />
echo "</TABLE></BODY></HTML>" >> $tablePage<br />
done<br />
echo "</UL>" >> $INDEX<br />
echo "</UL>" >> $dbIndex<br />
echo "Generated: `date`" >> $dbIndex<br />
echo "</BODY></HTML>" >> $dbIndex<br />
DB=$(($DB+1))<br />
done<br />
<br />
echo "Generated: `date`" >> $INDEX<br />
echo "</BODY></HTML>" >> $INDEX<br />
<br />
<br />
</nowiki></pre></div>Hopspitfirehttp://wiki.webos-internals.org/index.php?title=Talk:Backing_Up_via_Rsync&diff=4829Talk:Backing Up via Rsync2009-08-27T01:16:26Z<p>Hopspitfire: /* Pre Rebooting Issue */</p>
<hr />
<div>==Rsync Daemon==<br />
<br />
Why turn on the rsync daemon at all? This could easily be accomplished simply by running <br />
<br />
'''rsync -HrlptgoDPvvS --force --delete --del --stats -e ssh root@IPADDRESS:/ /media/pre-backup/'''<br />
<br />
Also, since ''-P'' includes ''--progress'', there's no reason to call it a second time.<br />
<br />
-JackieRipper<br />
<br />
<br />
We don't have a root password set up on the Pre, it's using sudo therefore that's why ssh won't work. Rsyncd.conf gives the rsync daemon root privileges so it can mirror the device. I'm be open to suggestions, but I'm trying to make this fit in with the [[Next_steps | next steps]] guide and limit the number of steps.<br />
<br />
Thanks for pointing out the redundancy on --progress.<br />
<br />
-hopspitfire<br />
<br />
<br />
Ahhh yes. I keep forgetting that not everyone set up keys for root access.<br />
<br />
-JackieRipper<br />
<br />
==Pre Rebooting Issue==<br />
<br />
If you don't exclude some of the directories then the Pre reboots when the backup process touches them. [[User:hmagoo|-hmagoo]]<br />
<br />
:Can you specify which files/directories prompt the reboot? -[[User:Hopspitfire|hopspitfire]] 02:57, 20 August 2009 (UTC)<br />
<br />
::I could narrow it down to proc and/or sys, that's narrow enough for me to exclude both, any progress on restore testing? I'm not running an emulator. [[User:hmagoo|-hmagoo]]<br />
<br />
:I tested the restore process and it works. Can you run the backup process and send the output to a file (rsync ... > /media/internal/rsync.log) and post it? -[[User:Hopspitfire|hopspitfire]] 00:49, 24 August 2009 (UTC)<br />
<br />
::[http://sites.google.com/site/hmagoosite/rsync-outputs.tar.gz rsync-outputs.tar.gz] this was the console and log output from running a backup. I had already a backup in place in the destination but excluded /dev, /sys/ and /proc initially, ran it this time without those exclusions to test it out (again, as I saw this reboot the very first time I tried this method). rebooted right after this line in the console, similar in the log.<br />
rsync: read errors mapping "/sys/devices/platform/lcd-controller/ctrl_reg_dump" (in root): No data available (61)<br />
[[User:hmagoo|-hmagoo]]<br />
::I ran the backup again excluding /sys and everything completed, only errors I got in the console were:<br />
<br />
rsync: send_files failed to open "/proc/sys/kernel/sched_nr_migrate" (in root): Permission denied (13)<br />
<br />
rsync: send_files failed to open "/proc/sys/net/ipv4/route/flush" (in root): Permission denied (13)<br />
<br />
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1524) [generator=3.0.5]<br />
<br />
[[User:hmagoo|-hmagoo]]<br />
<br />
Thanks for attaching your log. /sys and /proc don't need to be included in the backup, but /dev does (to initialize devices on boot). After testing the backup and restore, the easiest way is just mkdir the /sys and /proc directories and exlude them in the backup. Does the pre still restart when you excluded those directories?? -[[User:Hopspitfire|hopspitfire]] 21:23, 26 August 2009 (UTC)<br />
<br />
Shouldn't /dev exist fine after a restore and before rsync backup restore? I guess if you made some strange volume changes, but still. --[[User:NetWhiz|NetWhiz]] 21:59, 26 August 2009 (UTC)<br />
<br />
I was using /dev as an example of a directory that _shouldn't_ be excluded in the backup process, so /dev will exist after a backup prior to a restore (otherwise the Pre won't boot because it can't initialize the mapper devices for storage). -[[User:Hopspitfire|hopspitfire]] 22:37, 26 August 2009 (UTC)<br />
<br />
You mean it SHOULD be excluded b/c you will not need to restore it. --[[User:NetWhiz|NetWhiz]] 22:54, 26 August 2009 (UTC)<br />
<br />
(failed=reboot).. failed with no excludes. successful with /dev/,/proc,/sys excluded. successful with /sys excluded. but with those three error messages.--[[User:Hmagoo|Hmagoo]] 23:52, 26 August 2009 (UTC)<br />
<br />
:@NetWhiz: /dev needs to be populated on the actual filesystem (before devfs/udev get loaded) for a *nix system to boot.<br />
<br />
:@Hmagoo: Thanks, I went ahead and fixed the lines in the article.<br />
<br />
:-[[User:Hopspitfire|hopspitfire]] 00:12, 27 August 2009 (UTC)<br />
<br />
I understand, BUT when you do a restore with WebOS Doctor it will already be there. Are we not talking about the same thing or are we just cross talking? --[[User:NetWhiz|NetWhiz]] 01:11, 27 August 2009 (UTC)<br />
<br />
:OH, I'm talking about a restore using rsync ;) (in this guide, after the intial webOS Doctor). I still don't know if we should be overwriting the entire system (with the rsync backup, including /dev). Any ideas on this? My reasoning for doing a full system overwrite is version compatibility. -[[User:Hopspitfire|hopspitfire]] 01:16, 27 August 2009 (UTC)</div>Hopspitfirehttp://wiki.webos-internals.org/index.php?title=Talk:Backing_Up_via_Rsync&diff=4827Talk:Backing Up via Rsync2009-08-27T00:12:03Z<p>Hopspitfire: reply</p>
<hr />
<div>==Rsync Daemon==<br />
<br />
Why turn on the rsync daemon at all? This could easily be accomplished simply by running <br />
<br />
'''rsync -HrlptgoDPvvS --force --delete --del --stats -e ssh root@IPADDRESS:/ /media/pre-backup/'''<br />
<br />
Also, since ''-P'' includes ''--progress'', there's no reason to call it a second time.<br />
<br />
-JackieRipper<br />
<br />
<br />
We don't have a root password set up on the Pre, it's using sudo therefore that's why ssh won't work. Rsyncd.conf gives the rsync daemon root privileges so it can mirror the device. I'm be open to suggestions, but I'm trying to make this fit in with the [[Next_steps | next steps]] guide and limit the number of steps.<br />
<br />
Thanks for pointing out the redundancy on --progress.<br />
<br />
-hopspitfire<br />
<br />
<br />
Ahhh yes. I keep forgetting that not everyone set up keys for root access.<br />
<br />
-JackieRipper<br />
<br />
==Pre Rebooting Issue==<br />
<br />
If you don't exclude some of the directories then the Pre reboots when the backup process touches them. [[User:hmagoo|-hmagoo]]<br />
<br />
:Can you specify which files/directories prompt the reboot? -[[User:Hopspitfire|hopspitfire]] 02:57, 20 August 2009 (UTC)<br />
<br />
::I could narrow it down to proc and/or sys, that's narrow enough for me to exclude both, any progress on restore testing? I'm not running an emulator. [[User:hmagoo|-hmagoo]]<br />
<br />
:I tested the restore process and it works. Can you run the backup process and send the output to a file (rsync ... > /media/internal/rsync.log) and post it? -[[User:Hopspitfire|hopspitfire]] 00:49, 24 August 2009 (UTC)<br />
<br />
::[http://sites.google.com/site/hmagoosite/rsync-outputs.tar.gz rsync-outputs.tar.gz] this was the console and log output from running a backup. I had already a backup in place in the destination but excluded /dev, /sys/ and /proc initially, ran it this time without those exclusions to test it out (again, as I saw this reboot the very first time I tried this method). rebooted right after this line in the console, similar in the log.<br />
rsync: read errors mapping "/sys/devices/platform/lcd-controller/ctrl_reg_dump" (in root): No data available (61)<br />
[[User:hmagoo|-hmagoo]]<br />
::I ran the backup again excluding /sys and everything completed, only errors I got in the console were:<br />
<br />
rsync: send_files failed to open "/proc/sys/kernel/sched_nr_migrate" (in root): Permission denied (13)<br />
<br />
rsync: send_files failed to open "/proc/sys/net/ipv4/route/flush" (in root): Permission denied (13)<br />
<br />
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1524) [generator=3.0.5]<br />
<br />
[[User:hmagoo|-hmagoo]]<br />
<br />
Thanks for attaching your log. /sys and /proc don't need to be included in the backup, but /dev does (to initialize devices on boot). After testing the backup and restore, the easiest way is just mkdir the /sys and /proc directories and exlude them in the backup. Does the pre still restart when you excluded those directories?? -[[User:Hopspitfire|hopspitfire]] 21:23, 26 August 2009 (UTC)<br />
<br />
Shouldn't /dev exist fine after a restore and before rsync backup restore? I guess if you made some strange volume changes, but still. --[[User:NetWhiz|NetWhiz]] 21:59, 26 August 2009 (UTC)<br />
<br />
I was using /dev as an example of a directory that _shouldn't_ be excluded in the backup process, so /dev will exist after a backup prior to a restore (otherwise the Pre won't boot because it can't initialize the mapper devices for storage). -[[User:Hopspitfire|hopspitfire]] 22:37, 26 August 2009 (UTC)<br />
<br />
You mean it SHOULD be excluded b/c you will not need to restore it. --[[User:NetWhiz|NetWhiz]] 22:54, 26 August 2009 (UTC)<br />
<br />
(failed=reboot).. failed with no excludes. successful with /dev/,/proc,/sys excluded. successful with /sys excluded. but with those three error messages.--[[User:Hmagoo|Hmagoo]] 23:52, 26 August 2009 (UTC)<br />
<br />
:@NetWhiz: /dev needs to be populated on the actual filesystem (before devfs/udev get loaded) for a *nix system to boot.<br />
<br />
:@Hmagoo: Thanks, I went ahead and fixed the lines in the article.<br />
<br />
:-[[User:Hopspitfire|hopspitfire]] 00:12, 27 August 2009 (UTC)</div>Hopspitfirehttp://wiki.webos-internals.org/index.php?title=Backing_Up_via_Rsync&diff=4826Backing Up via Rsync2009-08-27T00:10:32Z<p>Hopspitfire: /* On the host */</p>
<hr />
<div>=Synopsis=<br />
<br />
The rsync remote-update protocol allows rsync to transfer just the differences between two sets of files across the network link, using an efficient checksum-search algorithm. <br />
<br />
Some of the additional features of rsync are:<br />
<br />
* support for copying links, devices, owners, groups and permissions<br />
* exclude and exclude-from options similar to GNU tar<br />
* a CVS exclude mode for ignoring the same files that CVS would ignore<br />
* can use any transparent remote shell, including rsh or ssh<br />
* does not require root privileges<br />
* pipelining of file transfers to minimize latency costs<br />
* support for anonymous or authenticated rsync servers (ideal for mirroring)<br />
<br />
=Background & Purpose=<br />
<br />
Using rsync as a means to make full backups of the Pre, both for disaster recovery and convenience. I have been using Rsync as a means to backup all my Gentoo and FreeBSD servers, and even a 4TB volume on our NetApp. I was able to restore every system simply by using rsync to push the files to a new disk/array. Using a special string of commands, rsync backups are nearly as depth-oriented as 'dd', while still being much more convenient.<br />
<br />
=Requirements=<br />
<br />
*1 Unix-based computer (with access to the same WIFI or [[USBnet_networking_setup | usbnet]] subnet as the Pre)<br />
*On your Palm Pre, you need to have [[Portal:Accessing_Linux | access to linux]] and have completed the [[Next_steps|next steps]] after accessing linux.<br />
<br />
The Unix-based computer will be consistently referred to as the "host".<br />
<br />
The rsync binary is part of Palm's original package, so it is possible to make a wrap-around gui-based ipk for users who do not want access to linux.<br />
<br />
=Backup Procedure=<br />
<br />
==Notice==<br />
The backup method has been tested, but there are '''no guarantees''' explicitly or implicitly given for data replication and retention. These tools have worked exceptionally well for me, but they might not work for you.<br />
<br />
Out of respect for Sprint, I will only document how to use rsync over WIFI or [[USBnet_networking_setup | usbnet]]. '''I strongly disadvise against using rsync over EVDO (even through SSH). This process is bandwidth intensive and we don't want Sprint complaining to Palm.'''<br />
<br />
==Quick Overview==<br />
1. We will set up the rsync daemon on the Palm Pre and make it acccessible by the host.<br />
<br />
2. The host will be set up to download the Pre's files.<br />
<br />
3. The transfer will take place.<br />
<br />
4. The daemon on the Pre will be killed to prevent anyone else from gaining access.<br />
<br />
==Setting up the Pre==<br />
1. Access your Pre via WIFI or [[USBnet_networking_setup | usbnet]].<br />
<br />
2. Edit '''/etc/rsyncd.conf''' and make sure you fill in the host IP address (your computer)<br />
<br />
pid file = /var/run/rsyncd.pid<br />
uid = root<br />
gid = root<br />
hosts allow = '''FILL_YOUR_HOST_IP_HERE'''<br />
hosts deny = *<br />
use chroot = no<br />
<br />
[root]<br />
path = /<br />
<br />
<br />
3. Start the rsync daemon and allow the rsync daemon to communicate with the host. Make sure you fill in the host IP address (your computer):<br />
<source lang=bash><br />
export IPADDRESS='''enter the IP Address of your host'''<br />
rsync --daemon && /usr/sbin/iptables -I INPUT 1 -p TCP --dport 873 -s $IPADDRESS -j ACCEPT<br />
</source><br />
<br />
==Setting up the host==<br />
1. Make sure you are the root user.<br />
<source lang=bash><br />
sudo -i<br />
</source><br />
<br />
or<br />
<br />
<source lang=bash><br />
su -l<br />
</source><br />
<br />
2. On the host, you will need to create a directory where the Palm Pre will back up the files. My example will be '''/media/pre-backup'''<br />
<source lang=bash><br />
mkdir /media/pre-backup<br />
</source><br />
<br />
==Running the transfer==<br />
===On the host===<br />
<br />
1. If you want to exclude any directories you are already backing up (or simply don't want to include), add --exclude=/path/to/your/dir after "-stats" in the command (in Step 3). You will need to do this for every directory you wish to NOT include in the transfer.<br />
<br />
2. '''1st time:''' If this is the first time running the backup, make sure to create the /sys and /proc directories (we're excluding them in the backup, but the directory needs to be there for the filesystems to mount correctly). Replace /media/pre-backup with the backup directory.<br />
<br />
mkdir /media/pre-backup/sys /media/pre-backup/proc<br />
<br />
3. Fill your IP Address in the command below, along with your excludes (if you have any), and begin the transfer from the host computer. '''Make sure to set the correct backup directory (if you deviated from /media/pre-backup), otherwise you could overwrite data on your host machine.'''<br />
<source lang=bash><br />
export IPADDRESS='''enter the IP Address of your pre'''<br />
rsync -HrlptgoDPvvS --force --delete --del --stats --exclude=/sys --exclude=/proc rsync://root@$IPADDRESS/root/ /media/pre-backup/<br />
</source><br />
<br />
3a. Every time you run the transfer, it will retain the exact same file-structure of the Pre, only deleting files that don't exist and only sending files that have changed.<br />
<br />
==Disabling the rsync daemon on the Pre==<br />
<br />
1. You need to disable the rsync daemon on the Pre to prevent anyone from gaining access to your files. To kill the rsync daemon, you will need to find the Process ID first, then kill the process.<br />
<source lang=bash><br />
ps auxw | grep rsync <br />
root 11567 0.0 0.0 10480 624 ? Ss 09:18 0:00 rsync --daemon<br />
root 11576 0.0 0.0 6124 640 pts/1 S+ 09:18 0:00 grep rsync (IGNORE THIS ONE)<br />
</source><br />
<br />
Then kill the process:<br />
<source lang=bash><br />
kill 11567<br />
</source><br />
<br />
=Restore Procedure=<br />
==Quick Overview==<br />
1. Set up the host's rsync daemon<br />
<br />
2. Gain access to the Pre's Linux.<br />
<br />
3. Transfer the backed-up files to the pre and pray it works.<br />
<br />
==Setting up the host==<br />
1. Edit '''/etc/rsyncd.conf''' (or '''/usr/local/etc/rsyncd.conf''' for FreeBSD). Check your documentation. Be sure to fill in the Pre's IP Address, and set the correct directory for the Pre backup (my example will be '''/media/pre-backup''').<br />
<br />
pid file = /var/run/rsyncd.pid<br />
uid = root<br />
gid = root<br />
hosts allow = '''FILL_YOUR_PALM_PRE_IP_HERE'''<br />
hosts deny = *<br />
use chroot = no<br />
<br />
[root]<br />
path = /<br />
<br />
<br />
2. Start the rsync daemon (you can use an init script, I'm using the command below just for simplicity. Check your documentation)<br />
<source lang=bash><br />
rsync --daemon<br />
</source><br />
<br />
==Setting up the Pre and restoring==<br />
<br />
A. For the scope of this guide, the requirements above still apply for the Palm Pre: you need to have [[Portal:Accessing_Linux | access to linux]].<br />
<br />
1. Access the Pre via WIFI or usbnet.<br />
<br />
2. Turn off the GUI while we restore all the files.<br />
<source lang=bash><br />
/sbin/initctl stop LunaSysMgr<br />
</source><br />
<br />
3. Fill your IP Address in the command below, and start the transfer. This command will take everything from your Host system and overwrite '''EVERYTHING''' on the Pre.<br />
<source lang=bash><br />
export IPADDRESS='''enter the IP Address of your host'''<br />
cd /<br />
mount -o remount,rw /<br />
mount -o remount,rw /boot<br />
mount -o remount,rw /media/internal<br />
rsync -HrlptgoDPvvS --force --delete --del --stats rsync://root@$IPADDRESS/pre-backup/ /<br />
</source><br />
<br />
3a. If you have any "Out of Space" issues, try removing the ''--delete --del'' and replacing it with ''--delete-before''<br />
<br />
4. Reboot immediately and pray it works.<br />
<source lang=bash><br />
reboot<br />
</source><br />
<br />
=Development/Improvement Ideas=<br />
*'''I need more people to test the restore process and get back to me with suggestions.'''<br />
*It would be awesome if the Palm Pre supported NFS, otherwise we're stuck to setting up '''/etc/rsyncd.conf''' on the Pre (for backup) and the Host (for restore).<br />
*A gui wrapper is possible because the Palm Pre comes shipped with rsync. Also, there needs to be an easy Windows server program to make this mainstream, only thing to use at the moment that's Windows based is cygwin. Otherwise we're stuck with Unix.<br />
*It's possible to create a cron job to run the backup every evening over WIFI (especially if you dock you're phone overnight). The cron job would be run from the Host computer. It's also recommended to set up iptables for allowing port 873 only for the host on the interface eth0 or usb0.<br />
* Would be nice to be able to have it run at a low priority and not kill any ssh connections. Have tried renicing the rsync daemons but has had no affect.<br />
<br />
=Contributor(s)=<br />
*hopspitfire<br />
*NetWhiz</div>Hopspitfirehttp://wiki.webos-internals.org/index.php?title=Backing_Up_via_Rsync&diff=4825Backing Up via Rsync2009-08-27T00:10:13Z<p>Hopspitfire: /* Running the transfer */</p>
<hr />
<div>=Synopsis=<br />
<br />
The rsync remote-update protocol allows rsync to transfer just the differences between two sets of files across the network link, using an efficient checksum-search algorithm. <br />
<br />
Some of the additional features of rsync are:<br />
<br />
* support for copying links, devices, owners, groups and permissions<br />
* exclude and exclude-from options similar to GNU tar<br />
* a CVS exclude mode for ignoring the same files that CVS would ignore<br />
* can use any transparent remote shell, including rsh or ssh<br />
* does not require root privileges<br />
* pipelining of file transfers to minimize latency costs<br />
* support for anonymous or authenticated rsync servers (ideal for mirroring)<br />
<br />
=Background & Purpose=<br />
<br />
Using rsync as a means to make full backups of the Pre, both for disaster recovery and convenience. I have been using Rsync as a means to backup all my Gentoo and FreeBSD servers, and even a 4TB volume on our NetApp. I was able to restore every system simply by using rsync to push the files to a new disk/array. Using a special string of commands, rsync backups are nearly as depth-oriented as 'dd', while still being much more convenient.<br />
<br />
=Requirements=<br />
<br />
*1 Unix-based computer (with access to the same WIFI or [[USBnet_networking_setup | usbnet]] subnet as the Pre)<br />
*On your Palm Pre, you need to have [[Portal:Accessing_Linux | access to linux]] and have completed the [[Next_steps|next steps]] after accessing linux.<br />
<br />
The Unix-based computer will be consistently referred to as the "host".<br />
<br />
The rsync binary is part of Palm's original package, so it is possible to make a wrap-around gui-based ipk for users who do not want access to linux.<br />
<br />
=Backup Procedure=<br />
<br />
==Notice==<br />
The backup method has been tested, but there are '''no guarantees''' explicitly or implicitly given for data replication and retention. These tools have worked exceptionally well for me, but they might not work for you.<br />
<br />
Out of respect for Sprint, I will only document how to use rsync over WIFI or [[USBnet_networking_setup | usbnet]]. '''I strongly disadvise against using rsync over EVDO (even through SSH). This process is bandwidth intensive and we don't want Sprint complaining to Palm.'''<br />
<br />
==Quick Overview==<br />
1. We will set up the rsync daemon on the Palm Pre and make it acccessible by the host.<br />
<br />
2. The host will be set up to download the Pre's files.<br />
<br />
3. The transfer will take place.<br />
<br />
4. The daemon on the Pre will be killed to prevent anyone else from gaining access.<br />
<br />
==Setting up the Pre==<br />
1. Access your Pre via WIFI or [[USBnet_networking_setup | usbnet]].<br />
<br />
2. Edit '''/etc/rsyncd.conf''' and make sure you fill in the host IP address (your computer)<br />
<br />
pid file = /var/run/rsyncd.pid<br />
uid = root<br />
gid = root<br />
hosts allow = '''FILL_YOUR_HOST_IP_HERE'''<br />
hosts deny = *<br />
use chroot = no<br />
<br />
[root]<br />
path = /<br />
<br />
<br />
3. Start the rsync daemon and allow the rsync daemon to communicate with the host. Make sure you fill in the host IP address (your computer):<br />
<source lang=bash><br />
export IPADDRESS='''enter the IP Address of your host'''<br />
rsync --daemon && /usr/sbin/iptables -I INPUT 1 -p TCP --dport 873 -s $IPADDRESS -j ACCEPT<br />
</source><br />
<br />
==Setting up the host==<br />
1. Make sure you are the root user.<br />
<source lang=bash><br />
sudo -i<br />
</source><br />
<br />
or<br />
<br />
<source lang=bash><br />
su -l<br />
</source><br />
<br />
2. On the host, you will need to create a directory where the Palm Pre will back up the files. My example will be '''/media/pre-backup'''<br />
<source lang=bash><br />
mkdir /media/pre-backup<br />
</source><br />
<br />
==Running the transfer==<br />
===On the host===<br />
<br />
1. If you want to exclude any directories you are already backing up (or simply don't want to include), add --exclude=/path/to/your/dir after "-stats" in the command (in Step 4). You will need to do this for every directory you wish to NOT include in the transfer.<br />
<br />
2. '''1st time:''' If this is the first time running the backup, make sure to create the /sys and /proc directories (we're excluding them in the backup, but the directory needs to be there for the filesystems to mount correctly). Replace /media/pre-backup with the backup directory.<br />
<br />
mkdir /media/pre-backup/sys /media/pre-backup/proc<br />
<br />
3. Fill your IP Address in the command below, along with your excludes (if you have any), and begin the transfer from the host computer. '''Make sure to set the correct backup directory (if you deviated from /media/pre-backup), otherwise you could overwrite data on your host machine.'''<br />
<source lang=bash><br />
export IPADDRESS='''enter the IP Address of your pre'''<br />
rsync -HrlptgoDPvvS --force --delete --del --stats --exclude=/sys --exclude=/proc rsync://root@$IPADDRESS/root/ /media/pre-backup/<br />
</source><br />
<br />
3a. Every time you run the transfer, it will retain the exact same file-structure of the Pre, only deleting files that don't exist and only sending files that have changed.<br />
<br />
==Disabling the rsync daemon on the Pre==<br />
<br />
1. You need to disable the rsync daemon on the Pre to prevent anyone from gaining access to your files. To kill the rsync daemon, you will need to find the Process ID first, then kill the process.<br />
<source lang=bash><br />
ps auxw | grep rsync <br />
root 11567 0.0 0.0 10480 624 ? Ss 09:18 0:00 rsync --daemon<br />
root 11576 0.0 0.0 6124 640 pts/1 S+ 09:18 0:00 grep rsync (IGNORE THIS ONE)<br />
</source><br />
<br />
Then kill the process:<br />
<source lang=bash><br />
kill 11567<br />
</source><br />
<br />
=Restore Procedure=<br />
==Quick Overview==<br />
1. Set up the host's rsync daemon<br />
<br />
2. Gain access to the Pre's Linux.<br />
<br />
3. Transfer the backed-up files to the pre and pray it works.<br />
<br />
==Setting up the host==<br />
1. Edit '''/etc/rsyncd.conf''' (or '''/usr/local/etc/rsyncd.conf''' for FreeBSD). Check your documentation. Be sure to fill in the Pre's IP Address, and set the correct directory for the Pre backup (my example will be '''/media/pre-backup''').<br />
<br />
pid file = /var/run/rsyncd.pid<br />
uid = root<br />
gid = root<br />
hosts allow = '''FILL_YOUR_PALM_PRE_IP_HERE'''<br />
hosts deny = *<br />
use chroot = no<br />
<br />
[root]<br />
path = /<br />
<br />
<br />
2. Start the rsync daemon (you can use an init script, I'm using the command below just for simplicity. Check your documentation)<br />
<source lang=bash><br />
rsync --daemon<br />
</source><br />
<br />
==Setting up the Pre and restoring==<br />
<br />
A. For the scope of this guide, the requirements above still apply for the Palm Pre: you need to have [[Portal:Accessing_Linux | access to linux]].<br />
<br />
1. Access the Pre via WIFI or usbnet.<br />
<br />
2. Turn off the GUI while we restore all the files.<br />
<source lang=bash><br />
/sbin/initctl stop LunaSysMgr<br />
</source><br />
<br />
3. Fill your IP Address in the command below, and start the transfer. This command will take everything from your Host system and overwrite '''EVERYTHING''' on the Pre.<br />
<source lang=bash><br />
export IPADDRESS='''enter the IP Address of your host'''<br />
cd /<br />
mount -o remount,rw /<br />
mount -o remount,rw /boot<br />
mount -o remount,rw /media/internal<br />
rsync -HrlptgoDPvvS --force --delete --del --stats rsync://root@$IPADDRESS/pre-backup/ /<br />
</source><br />
<br />
3a. If you have any "Out of Space" issues, try removing the ''--delete --del'' and replacing it with ''--delete-before''<br />
<br />
4. Reboot immediately and pray it works.<br />
<source lang=bash><br />
reboot<br />
</source><br />
<br />
=Development/Improvement Ideas=<br />
*'''I need more people to test the restore process and get back to me with suggestions.'''<br />
*It would be awesome if the Palm Pre supported NFS, otherwise we're stuck to setting up '''/etc/rsyncd.conf''' on the Pre (for backup) and the Host (for restore).<br />
*A gui wrapper is possible because the Palm Pre comes shipped with rsync. Also, there needs to be an easy Windows server program to make this mainstream, only thing to use at the moment that's Windows based is cygwin. Otherwise we're stuck with Unix.<br />
*It's possible to create a cron job to run the backup every evening over WIFI (especially if you dock you're phone overnight). The cron job would be run from the Host computer. It's also recommended to set up iptables for allowing port 873 only for the host on the interface eth0 or usb0.<br />
* Would be nice to be able to have it run at a low priority and not kill any ssh connections. Have tried renicing the rsync daemons but has had no affect.<br />
<br />
=Contributor(s)=<br />
*hopspitfire<br />
*NetWhiz</div>Hopspitfirehttp://wiki.webos-internals.org/index.php?title=Talk:Backing_Up_via_Rsync&diff=4819Talk:Backing Up via Rsync2009-08-26T22:37:44Z<p>Hopspitfire: </p>
<hr />
<div>==Rsync Daemon==<br />
<br />
Why turn on the rsync daemon at all? This could easily be accomplished simply by running <br />
<br />
'''rsync -HrlptgoDPvvS --force --delete --del --stats -e ssh root@IPADDRESS:/ /media/pre-backup/'''<br />
<br />
Also, since ''-P'' includes ''--progress'', there's no reason to call it a second time.<br />
<br />
-JackieRipper<br />
<br />
<br />
We don't have a root password set up on the Pre, it's using sudo therefore that's why ssh won't work. Rsyncd.conf gives the rsync daemon root privileges so it can mirror the device. I'm be open to suggestions, but I'm trying to make this fit in with the [[Next_steps | next steps]] guide and limit the number of steps.<br />
<br />
Thanks for pointing out the redundancy on --progress.<br />
<br />
-hopspitfire<br />
<br />
<br />
Ahhh yes. I keep forgetting that not everyone set up keys for root access.<br />
<br />
-JackieRipper<br />
<br />
==Pre Rebooting Issue==<br />
<br />
If you don't exclude some of the directories then the Pre reboots when the backup process touches them. [[User:hmagoo|-hmagoo]]<br />
<br />
:Can you specify which files/directories prompt the reboot? -[[User:Hopspitfire|hopspitfire]] 02:57, 20 August 2009 (UTC)<br />
<br />
::I could narrow it down to proc and/or sys, that's narrow enough for me to exclude both, any progress on restore testing? I'm not running an emulator. [[User:hmagoo|-hmagoo]]<br />
<br />
:I tested the restore process and it works. Can you run the backup process and send the output to a file (rsync ... > /media/internal/rsync.log) and post it? -[[User:Hopspitfire|hopspitfire]] 00:49, 24 August 2009 (UTC)<br />
<br />
::[http://sites.google.com/site/hmagoosite/rsync-outputs.tar.gz rsync-outputs.tar.gz] this was the console and log output from running a backup. I had already a backup in place in the destination but excluded /dev, /sys/ and /proc initially, ran it this time without those exclusions to test it out (again, as I saw this reboot the very first time I tried this method). rebooted right after this line in the console, similar in the log.<br />
rsync: read errors mapping "/sys/devices/platform/lcd-controller/ctrl_reg_dump" (in root): No data available (61)<br />
[[User:hmagoo|-hmagoo]]<br />
::I ran the backup again excluding /sys and everything completed, only errors I got in the console were:<br />
<br />
rsync: send_files failed to open "/proc/sys/kernel/sched_nr_migrate" (in root): Permission denied (13)<br />
<br />
rsync: send_files failed to open "/proc/sys/net/ipv4/route/flush" (in root): Permission denied (13)<br />
<br />
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1524) [generator=3.0.5]<br />
<br />
[[User:hmagoo|-hmagoo]]<br />
<br />
Thanks for attaching your log. /sys and /proc don't need to be included in the backup, but /dev does (to initialize devices on boot). After testing the backup and restore, the easiest way is just mkdir the /sys and /proc directories and exlude them in the backup. Does the pre still restart when you excluded those directories?? -[[User:Hopspitfire|hopspitfire]] 21:23, 26 August 2009 (UTC)<br />
<br />
Shouldn't /dev exist fine after a restore and before rsync backup restore? I guess if you made some strange volume changes, but still. --[[User:NetWhiz|NetWhiz]] 21:59, 26 August 2009 (UTC)<br />
<br />
I was using /dev as an example of a directory that _shouldn't_ be excluded in the backup process, so /dev will exist after a backup prior to a restore (otherwise the Pre won't boot because it can't initialize the mapper devices for storage). -[[User:Hopspitfire|hopspitfire]] 22:37, 26 August 2009 (UTC)</div>Hopspitfirehttp://wiki.webos-internals.org/index.php?title=Backing_Up_via_Rsync&diff=4815Backing Up via Rsync2009-08-26T21:27:29Z<p>Hopspitfire: /* Development/Improvement Ideas */</p>
<hr />
<div>=Synopsis=<br />
<br />
The rsync remote-update protocol allows rsync to transfer just the differences between two sets of files across the network link, using an efficient checksum-search algorithm. <br />
<br />
Some of the additional features of rsync are:<br />
<br />
* support for copying links, devices, owners, groups and permissions<br />
* exclude and exclude-from options similar to GNU tar<br />
* a CVS exclude mode for ignoring the same files that CVS would ignore<br />
* can use any transparent remote shell, including rsh or ssh<br />
* does not require root privileges<br />
* pipelining of file transfers to minimize latency costs<br />
* support for anonymous or authenticated rsync servers (ideal for mirroring)<br />
<br />
=Background & Purpose=<br />
<br />
Using rsync as a means to make full backups of the Pre, both for disaster recovery and convenience. I have been using Rsync as a means to backup all my Gentoo and FreeBSD servers, and even a 4TB volume on our NetApp. I was able to restore every system simply by using rsync to push the files to a new disk/array. Using a special string of commands, rsync backups are nearly as depth-oriented as 'dd', while still being much more convenient.<br />
<br />
=Requirements=<br />
<br />
*1 Unix-based computer (with access to the same WIFI or [[USBnet_networking_setup | usbnet]] subnet as the Pre)<br />
*On your Palm Pre, you need to have [[Portal:Accessing_Linux | access to linux]] and have completed the [[Next_steps|next steps]] after accessing linux.<br />
<br />
The Unix-based computer will be consistently referred to as the "host".<br />
<br />
The rsync binary is part of Palm's original package, so it is possible to make a wrap-around gui-based ipk for users who do not want access to linux.<br />
<br />
=Backup Procedure=<br />
<br />
==Notice==<br />
The backup method has been tested, but there are '''no guarantees''' explicitly or implicitly given for data replication and retention. These tools have worked exceptionally well for me, but they might not work for you.<br />
<br />
Out of respect for Sprint, I will only document how to use rsync over WIFI or [[USBnet_networking_setup | usbnet]]. '''I strongly disadvise against using rsync over EVDO (even through SSH). This process is bandwidth intensive and we don't want Sprint complaining to Palm.'''<br />
<br />
==Quick Overview==<br />
1. We will set up the rsync daemon on the Palm Pre and make it acccessible by the host.<br />
<br />
2. The host will be set up to download the Pre's files.<br />
<br />
3. The transfer will take place.<br />
<br />
4. The daemon on the Pre will be killed to prevent anyone else from gaining access.<br />
<br />
==Setting up the Pre==<br />
1. Access your Pre via WIFI or [[USBnet_networking_setup | usbnet]].<br />
<br />
2. Edit '''/etc/rsyncd.conf''' and make sure you fill in the host IP address (your computer)<br />
<br />
pid file = /var/run/rsyncd.pid<br />
uid = root<br />
gid = root<br />
hosts allow = '''FILL_YOUR_HOST_IP_HERE'''<br />
hosts deny = *<br />
use chroot = no<br />
<br />
[root]<br />
path = /<br />
<br />
<br />
3. Start the rsync daemon and allow the rsync daemon to communicate with the host. Make sure you fill in the host IP address (your computer):<br />
<source lang=bash><br />
export IPADDRESS='''enter the IP Address of your host'''<br />
rsync --daemon && /usr/sbin/iptables -I INPUT 1 -p TCP --dport 873 -s $IPADDRESS -j ACCEPT<br />
</source><br />
<br />
==Setting up the host==<br />
1. Make sure you are the root user.<br />
<source lang=bash><br />
sudo -i<br />
</source><br />
<br />
or<br />
<br />
<source lang=bash><br />
su -l<br />
</source><br />
<br />
2. On the host, you will need to create a directory where the Palm Pre will back up the files. My example will be '''/media/pre-backup'''<br />
<source lang=bash><br />
mkdir /media/pre-backup<br />
</source><br />
<br />
==Running the transfer==<br />
===On the host===<br />
<br />
1. If you want to exclude any directories you are already backing up (or simply don't want to include), add --exclude=/path/to/your/dir after "-stats" in the command (in Step 4). You will need to do this for every directory you wish to NOT include in the transfer. Until the restore process is verified, I'm including the special filesystems /dev, /proc and /sys in the backup.<br />
<br />
2. '''1st time:''' If this is the first time running the backup, make sure to create the /sys and /proc directories (we're excluding them in the backup, but the directory needs to be there for the filesystems to mount correctly). Replace /media/pre-backup with the backup directory.<br />
<br />
mkdir /media/pre-backup/sys /media/pre-backup/proc<br />
<br />
3. Fill your IP Address in the command below, along with your excludes (if you have any), and begin the transfer from the host computer. '''Make sure to set the correct backup directory (if you deviated from /media/pre-backup), otherwise you could overwrite data on your host machine.'''<br />
<source lang=bash><br />
export IPADDRESS='''enter the IP Address of your pre'''<br />
rsync -HrlptgoDPvvS --force --delete --del --stats --exclude=/sys --exclude=/proc rsync://root@$IPADDRESS/root/ /media/pre-backup/<br />
</source><br />
<br />
3a. Every time you run the transfer, it will retain the exact same file-structure of the Pre, only deleting files that don't exist and only sending files that have changed.<br />
<br />
==Disabling the rsync daemon on the Pre==<br />
<br />
1. You need to disable the rsync daemon on the Pre to prevent anyone from gaining access to your files. To kill the rsync daemon, you will need to find the Process ID first, then kill the process.<br />
<source lang=bash><br />
ps auxw | grep rsync <br />
root 11567 0.0 0.0 10480 624 ? Ss 09:18 0:00 rsync --daemon<br />
root 11576 0.0 0.0 6124 640 pts/1 S+ 09:18 0:00 grep rsync (IGNORE THIS ONE)<br />
</source><br />
<br />
Then kill the process:<br />
<source lang=bash><br />
kill 11567<br />
</source><br />
<br />
=Restore Procedure=<br />
==Quick Overview==<br />
1. Set up the host's rsync daemon<br />
<br />
2. Gain access to the Pre's Linux.<br />
<br />
3. Transfer the backed-up files to the pre and pray it works.<br />
<br />
==Setting up the host==<br />
1. Edit '''/etc/rsyncd.conf''' (or '''/usr/local/etc/rsyncd.conf''' for FreeBSD). Check your documentation. Be sure to fill in the Pre's IP Address, and set the correct directory for the Pre backup (my example will be '''/media/pre-backup''').<br />
<br />
pid file = /var/run/rsyncd.pid<br />
uid = root<br />
gid = root<br />
hosts allow = '''FILL_YOUR_PALM_PRE_IP_HERE'''<br />
hosts deny = *<br />
use chroot = no<br />
<br />
[root]<br />
path = /<br />
<br />
<br />
2. Start the rsync daemon (you can use an init script, I'm using the command below just for simplicity. Check your documentation)<br />
<source lang=bash><br />
rsync --daemon<br />
</source><br />
<br />
==Setting up the Pre and restoring==<br />
<br />
A. For the scope of this guide, the requirements above still apply for the Palm Pre: you need to have [[Portal:Accessing_Linux | access to linux]].<br />
<br />
1. Access the Pre via WIFI or usbnet.<br />
<br />
2. Turn off the GUI while we restore all the files.<br />
<source lang=bash><br />
/sbin/initctl stop LunaSysMgr<br />
</source><br />
<br />
3. Fill your IP Address in the command below, and start the transfer. This command will take everything from your Host system and overwrite '''EVERYTHING''' on the Pre.<br />
<source lang=bash><br />
export IPADDRESS='''enter the IP Address of your host'''<br />
cd /<br />
mount -o remount,rw /<br />
mount -o remount,rw /boot<br />
mount -o remount,rw /media/internal<br />
rsync -HrlptgoDPvvS --force --delete --del --stats rsync://root@$IPADDRESS/pre-backup/ /<br />
</source><br />
<br />
3a. If you have any "Out of Space" issues, try removing the ''--delete --del'' and replacing it with ''--delete-before''<br />
<br />
4. Reboot immediately and pray it works.<br />
<source lang=bash><br />
reboot<br />
</source><br />
<br />
=Development/Improvement Ideas=<br />
*'''I need more people to test the restore process and get back to me with suggestions.'''<br />
*It would be awesome if the Palm Pre supported NFS, otherwise we're stuck to setting up '''/etc/rsyncd.conf''' on the Pre (for backup) and the Host (for restore).<br />
*A gui wrapper is possible because the Palm Pre comes shipped with rsync. Also, there needs to be an easy Windows server program to make this mainstream, only thing to use at the moment that's Windows based is cygwin. Otherwise we're stuck with Unix.<br />
*It's possible to create a cron job to run the backup every evening over WIFI (especially if you dock you're phone overnight). The cron job would be run from the Host computer. It's also recommended to set up iptables for allowing port 873 only for the host on the interface eth0 or usb0.<br />
* Would be nice to be able to have it run at a low priority and not kill any ssh connections. Have tried renicing the rsync daemons but has had no affect.<br />
<br />
=Contributor(s)=<br />
*hopspitfire<br />
*NetWhiz</div>Hopspitfirehttp://wiki.webos-internals.org/index.php?title=Talk:Backing_Up_via_Rsync&diff=4814Talk:Backing Up via Rsync2009-08-26T21:23:48Z<p>Hopspitfire: Fixed formatting, added response.</p>
<hr />
<div>==Rsync Daemon==<br />
<br />
Why turn on the rsync daemon at all? This could easily be accomplished simply by running <br />
<br />
'''rsync -HrlptgoDPvvS --force --delete --del --stats -e ssh root@IPADDRESS:/ /media/pre-backup/'''<br />
<br />
Also, since ''-P'' includes ''--progress'', there's no reason to call it a second time.<br />
<br />
-JackieRipper<br />
<br />
<br />
We don't have a root password set up on the Pre, it's using sudo therefore that's why ssh won't work. Rsyncd.conf gives the rsync daemon root privileges so it can mirror the device. I'm be open to suggestions, but I'm trying to make this fit in with the [[Next_steps | next steps]] guide and limit the number of steps.<br />
<br />
Thanks for pointing out the redundancy on --progress.<br />
<br />
-hopspitfire<br />
<br />
<br />
Ahhh yes. I keep forgetting that not everyone set up keys for root access.<br />
<br />
-JackieRipper<br />
<br />
==Pre Rebooting Issue==<br />
<br />
If you don't exclude some of the directories then the Pre reboots when the backup process touches them. [[User:hmagoo|-hmagoo]]<br />
<br />
:Can you specify which files/directories prompt the reboot? -[[User:Hopspitfire|hopspitfire]] 02:57, 20 August 2009 (UTC)<br />
<br />
::I could narrow it down to proc and/or sys, that's narrow enough for me to exclude both, any progress on restore testing? I'm not running an emulator. [[User:hmagoo|-hmagoo]]<br />
<br />
:I tested the restore process and it works. Can you run the backup process and send the output to a file (rsync ... > /media/internal/rsync.log) and post it? -[[User:Hopspitfire|hopspitfire]] 00:49, 24 August 2009 (UTC)<br />
<br />
::[http://sites.google.com/site/hmagoosite/rsync-outputs.tar.gz rsync-outputs.tar.gz] this was the console and log output from running a backup. I had already a backup in place in the destination but excluded /dev, /sys/ and /proc initially, ran it this time without those exclusions to test it out (again, as I saw this reboot the very first time I tried this method). rebooted right after this line in the console, similar in the log.<br />
rsync: read errors mapping "/sys/devices/platform/lcd-controller/ctrl_reg_dump" (in root): No data available (61)<br />
[[User:hmagoo|-hmagoo]]<br />
::I ran the backup again excluding /sys and everything completed, only errors I got in the console were:<br />
<br />
rsync: send_files failed to open "/proc/sys/kernel/sched_nr_migrate" (in root): Permission denied (13)<br />
<br />
rsync: send_files failed to open "/proc/sys/net/ipv4/route/flush" (in root): Permission denied (13)<br />
<br />
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1524) [generator=3.0.5]<br />
<br />
[[User:hmagoo|-hmagoo]]<br />
<br />
Thanks for attaching your log. /sys and /proc don't need to be included in the backup, but /dev does (to initialize devices on boot). After testing the backup and restore, the easiest way is just mkdir the /sys and /proc directories and exlude them in the backup. Does the pre still restart when you excluded those directories?? -[[User:Hopspitfire|hopspitfire]] 21:23, 26 August 2009 (UTC)</div>Hopspitfirehttp://wiki.webos-internals.org/index.php?title=Backing_Up_via_Rsync&diff=4813Backing Up via Rsync2009-08-26T21:22:57Z<p>Hopspitfire: /* On the host */ - adding excludes</p>
<hr />
<div>=Synopsis=<br />
<br />
The rsync remote-update protocol allows rsync to transfer just the differences between two sets of files across the network link, using an efficient checksum-search algorithm. <br />
<br />
Some of the additional features of rsync are:<br />
<br />
* support for copying links, devices, owners, groups and permissions<br />
* exclude and exclude-from options similar to GNU tar<br />
* a CVS exclude mode for ignoring the same files that CVS would ignore<br />
* can use any transparent remote shell, including rsh or ssh<br />
* does not require root privileges<br />
* pipelining of file transfers to minimize latency costs<br />
* support for anonymous or authenticated rsync servers (ideal for mirroring)<br />
<br />
=Background & Purpose=<br />
<br />
Using rsync as a means to make full backups of the Pre, both for disaster recovery and convenience. I have been using Rsync as a means to backup all my Gentoo and FreeBSD servers, and even a 4TB volume on our NetApp. I was able to restore every system simply by using rsync to push the files to a new disk/array. Using a special string of commands, rsync backups are nearly as depth-oriented as 'dd', while still being much more convenient.<br />
<br />
=Requirements=<br />
<br />
*1 Unix-based computer (with access to the same WIFI or [[USBnet_networking_setup | usbnet]] subnet as the Pre)<br />
*On your Palm Pre, you need to have [[Portal:Accessing_Linux | access to linux]] and have completed the [[Next_steps|next steps]] after accessing linux.<br />
<br />
The Unix-based computer will be consistently referred to as the "host".<br />
<br />
The rsync binary is part of Palm's original package, so it is possible to make a wrap-around gui-based ipk for users who do not want access to linux.<br />
<br />
=Backup Procedure=<br />
<br />
==Notice==<br />
The backup method has been tested, but there are '''no guarantees''' explicitly or implicitly given for data replication and retention. These tools have worked exceptionally well for me, but they might not work for you.<br />
<br />
Out of respect for Sprint, I will only document how to use rsync over WIFI or [[USBnet_networking_setup | usbnet]]. '''I strongly disadvise against using rsync over EVDO (even through SSH). This process is bandwidth intensive and we don't want Sprint complaining to Palm.'''<br />
<br />
==Quick Overview==<br />
1. We will set up the rsync daemon on the Palm Pre and make it acccessible by the host.<br />
<br />
2. The host will be set up to download the Pre's files.<br />
<br />
3. The transfer will take place.<br />
<br />
4. The daemon on the Pre will be killed to prevent anyone else from gaining access.<br />
<br />
==Setting up the Pre==<br />
1. Access your Pre via WIFI or [[USBnet_networking_setup | usbnet]].<br />
<br />
2. Edit '''/etc/rsyncd.conf''' and make sure you fill in the host IP address (your computer)<br />
<br />
pid file = /var/run/rsyncd.pid<br />
uid = root<br />
gid = root<br />
hosts allow = '''FILL_YOUR_HOST_IP_HERE'''<br />
hosts deny = *<br />
use chroot = no<br />
<br />
[root]<br />
path = /<br />
<br />
<br />
3. Start the rsync daemon and allow the rsync daemon to communicate with the host. Make sure you fill in the host IP address (your computer):<br />
<source lang=bash><br />
export IPADDRESS='''enter the IP Address of your host'''<br />
rsync --daemon && /usr/sbin/iptables -I INPUT 1 -p TCP --dport 873 -s $IPADDRESS -j ACCEPT<br />
</source><br />
<br />
==Setting up the host==<br />
1. Make sure you are the root user.<br />
<source lang=bash><br />
sudo -i<br />
</source><br />
<br />
or<br />
<br />
<source lang=bash><br />
su -l<br />
</source><br />
<br />
2. On the host, you will need to create a directory where the Palm Pre will back up the files. My example will be '''/media/pre-backup'''<br />
<source lang=bash><br />
mkdir /media/pre-backup<br />
</source><br />
<br />
==Running the transfer==<br />
===On the host===<br />
<br />
1. If you want to exclude any directories you are already backing up (or simply don't want to include), add --exclude=/path/to/your/dir after "-stats" in the command (in Step 4). You will need to do this for every directory you wish to NOT include in the transfer. Until the restore process is verified, I'm including the special filesystems /dev, /proc and /sys in the backup.<br />
<br />
2. '''1st time:''' If this is the first time running the backup, make sure to create the /sys and /proc directories (we're excluding them in the backup, but the directory needs to be there for the filesystems to mount correctly). Replace /media/pre-backup with the backup directory.<br />
<br />
mkdir /media/pre-backup/sys /media/pre-backup/proc<br />
<br />
3. Fill your IP Address in the command below, along with your excludes (if you have any), and begin the transfer from the host computer. '''Make sure to set the correct backup directory (if you deviated from /media/pre-backup), otherwise you could overwrite data on your host machine.'''<br />
<source lang=bash><br />
export IPADDRESS='''enter the IP Address of your pre'''<br />
rsync -HrlptgoDPvvS --force --delete --del --stats --exclude=/sys --exclude=/proc rsync://root@$IPADDRESS/root/ /media/pre-backup/<br />
</source><br />
<br />
3a. Every time you run the transfer, it will retain the exact same file-structure of the Pre, only deleting files that don't exist and only sending files that have changed.<br />
<br />
==Disabling the rsync daemon on the Pre==<br />
<br />
1. You need to disable the rsync daemon on the Pre to prevent anyone from gaining access to your files. To kill the rsync daemon, you will need to find the Process ID first, then kill the process.<br />
<source lang=bash><br />
ps auxw | grep rsync <br />
root 11567 0.0 0.0 10480 624 ? Ss 09:18 0:00 rsync --daemon<br />
root 11576 0.0 0.0 6124 640 pts/1 S+ 09:18 0:00 grep rsync (IGNORE THIS ONE)<br />
</source><br />
<br />
Then kill the process:<br />
<source lang=bash><br />
kill 11567<br />
</source><br />
<br />
=Restore Procedure=<br />
==Quick Overview==<br />
1. Set up the host's rsync daemon<br />
<br />
2. Gain access to the Pre's Linux.<br />
<br />
3. Transfer the backed-up files to the pre and pray it works.<br />
<br />
==Setting up the host==<br />
1. Edit '''/etc/rsyncd.conf''' (or '''/usr/local/etc/rsyncd.conf''' for FreeBSD). Check your documentation. Be sure to fill in the Pre's IP Address, and set the correct directory for the Pre backup (my example will be '''/media/pre-backup''').<br />
<br />
pid file = /var/run/rsyncd.pid<br />
uid = root<br />
gid = root<br />
hosts allow = '''FILL_YOUR_PALM_PRE_IP_HERE'''<br />
hosts deny = *<br />
use chroot = no<br />
<br />
[root]<br />
path = /<br />
<br />
<br />
2. Start the rsync daemon (you can use an init script, I'm using the command below just for simplicity. Check your documentation)<br />
<source lang=bash><br />
rsync --daemon<br />
</source><br />
<br />
==Setting up the Pre and restoring==<br />
<br />
A. For the scope of this guide, the requirements above still apply for the Palm Pre: you need to have [[Portal:Accessing_Linux | access to linux]].<br />
<br />
1. Access the Pre via WIFI or usbnet.<br />
<br />
2. Turn off the GUI while we restore all the files.<br />
<source lang=bash><br />
/sbin/initctl stop LunaSysMgr<br />
</source><br />
<br />
3. Fill your IP Address in the command below, and start the transfer. This command will take everything from your Host system and overwrite '''EVERYTHING''' on the Pre.<br />
<source lang=bash><br />
export IPADDRESS='''enter the IP Address of your host'''<br />
cd /<br />
mount -o remount,rw /<br />
mount -o remount,rw /boot<br />
mount -o remount,rw /media/internal<br />
rsync -HrlptgoDPvvS --force --delete --del --stats rsync://root@$IPADDRESS/pre-backup/ /<br />
</source><br />
<br />
3a. If you have any "Out of Space" issues, try removing the ''--delete --del'' and replacing it with ''--delete-before''<br />
<br />
4. Reboot immediately and pray it works.<br />
<source lang=bash><br />
reboot<br />
</source><br />
<br />
=Development/Improvement Ideas=<br />
*I need someone to test the restore process and get back to me with suggestions.<br />
*It would be awesome if the Palm Pre supported NFS, otherwise we're stuck to setting up '''/etc/rsyncd.conf''' on the Pre (for backup) and the Host (for restore).<br />
*A gui wrapper is possible because the Palm Pre comes shipped with rsync. Also, there needs to be an easy Windows server program to make this mainstream, only thing to use at the moment that's Windows based is cygwin. Otherwise we're stuck with Unix.<br />
*It's possible to create a cron job to run the backup every evening over WIFI (especially if you dock you're phone overnight). The cron job would be run from the Host computer. It's also recommended to set up iptables for allowing port 873 only for the host on the interface eth0 or usb0.<br />
* Would be nice to be able to have it run at a low priority and not kill any ssh connections. Have tried renicing the rsync daemons but has had no affect.<br />
<br />
=Contributor(s)=<br />
*hopspitfire<br />
*NetWhiz</div>Hopspitfirehttp://wiki.webos-internals.org/index.php?title=Talk:Backing_Up_via_Rsync&diff=4749Talk:Backing Up via Rsync2009-08-24T00:49:31Z<p>Hopspitfire: </p>
<hr />
<div>==Rsync Daemon==<br />
<br />
Why turn on the rsync daemon at all? This could easily be accomplished simply by running <br />
<br />
'''rsync -HrlptgoDPvvS --force --delete --del --stats -e ssh root@IPADDRESS:/ /media/pre-backup/'''<br />
<br />
Also, since ''-P'' includes ''--progress'', there's no reason to call it a second time.<br />
<br />
-JackieRipper<br />
<br />
<br />
We don't have a root password set up on the Pre, it's using sudo therefore that's why ssh won't work. Rsyncd.conf gives the rsync daemon root privileges so it can mirror the device. I'm be open to suggestions, but I'm trying to make this fit in with the [[Next_steps | next steps]] guide and limit the number of steps.<br />
<br />
Thanks for pointing out the redundancy on --progress.<br />
<br />
-hopspitfire<br />
<br />
<br />
Ahhh yes. I keep forgetting that not everyone set up keys for root access.<br />
<br />
-JackieRipper<br />
<br />
==Pre Rebooting Issue==<br />
<br />
If you don't exclude some of the directories then the Pre reboots when the backup process touches them. [[User:hmagoo|-hmagoo]]<br />
<br />
:Can you specify which files/directories prompt the reboot? -[[User:Hopspitfire|hopspitfire]] 02:57, 20 August 2009 (UTC)<br />
<br />
::I could narrow it down to proc and/or sys, that's narrow enough for me to exclude both, any progress on restore testing? I'm not running an emulator. [[User:hmagoo|-hmagoo]]<br />
<br />
:I tested the restore process and it works. Can you run the backup process and send the output to a file (rsync ... > /media/internal/rsync.log) and post it? -[[User:Hopspitfire|hopspitfire]] 00:49, 24 August 2009 (UTC)</div>Hopspitfirehttp://wiki.webos-internals.org/index.php?title=Talk:Backing_Up_via_Rsync&diff=4555Talk:Backing Up via Rsync2009-08-20T02:57:58Z<p>Hopspitfire: Spacing.</p>
<hr />
<div>==Rsync Daemon==<br />
<br />
Why turn on the rsync daemon at all? This could easily be accomplished simply by running <br />
<br />
'''rsync -HrlptgoDPvvS --force --delete --del --stats -e ssh root@IPADDRESS:/ /media/pre-backup/'''<br />
<br />
Also, since ''-P'' includes ''--progress'', there's no reason to call it a second time.<br />
<br />
-JackieRipper<br />
<br />
<br />
We don't have a root password set up on the Pre, it's using sudo therefore that's why ssh won't work. Rsyncd.conf gives the rsync daemon root privileges so it can mirror the device. I'm be open to suggestions, but I'm trying to make this fit in with the [[Next_steps | next steps]] guide and limit the number of steps.<br />
<br />
Thanks for pointing out the redundancy on --progress.<br />
<br />
-hopspitfire<br />
<br />
<br />
Ahhh yes. I keep forgetting that not everyone set up keys for root access.<br />
<br />
-JackieRipper<br />
<br />
==Pre Rebooting Issue==<br />
<br />
If you don't exclude some of the directories then the Pre reboots when the backup process touches them. -hmagoo<br />
<br />
:Can you specify which files/directories prompt the reboot? -[[User:Hopspitfire|hopspitfire]] 02:57, 20 August 2009 (UTC)</div>Hopspitfirehttp://wiki.webos-internals.org/index.php?title=Talk:Backing_Up_via_Rsync&diff=4554Talk:Backing Up via Rsync2009-08-20T02:57:21Z<p>Hopspitfire: Replied and sectioned discussions.</p>
<hr />
<div>==Rsync Daemon==<br />
<br />
Why turn on the rsync daemon at all? This could easily be accomplished simply by running <br />
<br />
'''rsync -HrlptgoDPvvS --force --delete --del --stats -e ssh root@IPADDRESS:/ /media/pre-backup/'''<br />
<br />
Also, since ''-P'' includes ''--progress'', there's no reason to call it a second time.<br />
<br />
-JackieRipper<br />
<br />
<br />
We don't have a root password set up on the Pre, it's using sudo therefore that's why ssh won't work. Rsyncd.conf gives the rsync daemon root privileges so it can mirror the device. I'm be open to suggestions, but I'm trying to make this fit in with the [[Next_steps | next steps]] guide and limit the number of steps.<br />
<br />
Thanks for pointing out the redundancy on --progress.<br />
<br />
-hopspitfire<br />
<br />
Ahhh yes. I keep forgetting that not everyone set up keys for root access.<br />
<br />
-JackieRipper<br />
<br />
==Pre Rebooting Issue==<br />
<br />
If you don't exclude some of the directories then the Pre reboots when the backup process touches them. -hmagoo<br />
<br />
:Can you specify which files/directories prompt the reboot? -[[User:Hopspitfire|hopspitfire]] 02:57, 20 August 2009 (UTC)</div>Hopspitfirehttp://wiki.webos-internals.org/index.php?title=Application_talk:Terminal&diff=4547Application talk:Terminal2009-08-19T21:00:32Z<p>Hopspitfire: /* Colors Sticking, and Permissions */</p>
<hr />
<div>== Bugs: Paste? ==<br />
- Can't seem to figure out how to paste something that was copied from another app/msg/web site. The old paste shortcut of "Gesture + V" doesn't work (because its being used for other things). I tried to "Insert" shortcut, but it didn't do anything.<br />
--[[User:Zinge|Zinge]] 08:58, 7 August 2009 (UTC)<br />
<br />
== Ansi bugs ==<br />
Scrolling in BX is fixed. Thanks! terminal is a killer app.<br />
<br />
Still have a bug when typing a message in IRC that's long enough to require horizontal scrolling. Instead of scrolling it does weird single-char newlines and status bar is lost.<br />
<br />
Also when using arrow keys to move around in vim (with TERM=linux and syntax/color on), what seems to be ansi color code artifacts are printed. Arrows do work, but it's unusable due to artifacts. --[[User:T3rmin|T3rmin]] 18:05, 14 August 2009 (UTC)<br />
<br />
== New Version Changelog? ==<br />
<br />
The newest version from the feed seems to be 0.1.6. Anybody know what changes have been made? --[[User:Zinge|Zinge]] 19:30, 1 August 2009 (UTC)<br />
<br />
== Font Size Feature Request ==<br />
Well done! I notice that there are two fonts, normal and small. Would it be possible to add an intermediate font size? The 40 col is to large for seeing much and the 80 col is far to small. Would it be possible to have a ~60col font? --[[user:Dreadchicken|Dreadchicken]]<br />
<br />
: Also, could you add a "large" font size? I don't like the small sizes for little one-line commands (wget, etc). I guess ultimately it'd be nice to have in that combo box a handful of sizes. Thank you so much for the mind-blowing awesomeness of this app, by the way. [[User:Michaelb|Michaelb]] 18:46, 17 August 2009 (UTC)<br />
<br />
== Broadcast messages when phone sleeps/wakes ==<br />
<br />
Has anyone figured out how to stop the broadcast messages generated on the Terminal when the phone sleeps and wakes? They clobber whatever's on the screen if you happen to turn off the phone while Terminal is open.<br />
<br />
Other than this, great app. I'm eternally grateful. :) --[[User:zorinlynx|zorinlynx]]<br />
<br />
I'm not sure if this will help, but there is a quilt patch in the gitorious modification for disabling some messages to the log. http://gitorious.org/webos-internals/modifications/blobs/master/luna/quiet-powerd-messages.patch --[[User:Plee3|plee3]] 21:05, 3 August 2009 (UTC)<br />
<br />
Thank you! This has resolved the issue. --[[User:Zorinlynx|Zorinlynx]] 21:24, 3 August 2009 (UTC)<br />
<br />
== Brackets ==<br />
Any way to enter < or > chars? Kinda tough to dump output to a file without.<br />
--[[User:Daemon|Daemon]]<br />
<br />
These characters have not been implemented yet, but as a work-around, you can use tee or tee -a.<br />
--[[User:JackieRipper|JackieRipper]]<br />
<br />
==Colors Sticking, and Permissions==<br />
Would it be possible to set the foreground color permanently, so that I don't havve to set it each time I log in?<br />
<br />
I've also noticed that when I open the application, sometimes it automatically logs me in as root. How can I disable this?<br />
<br />
Thanks for your awesome work!! -[[User:Hopspitfire|hopspitfire]] 05:47, 16 August 2009 (UTC)<br />
<br />
I think one solution for disabling root access is to go into <br />
/var/usr/palm/applications/org.webosinternals.terminal/app/controllers<br />
and edit '''session-assistant.js'''<br />
Search for the line that reads<br />
this.termplugin.start("root");<br />
and change 'root' to your username.<br />
[[User:Clebio|Clebio]] 20:57, 16 August 2009 (UTC)<br />
<br />
:That worked perfectly! Thank you.<br />
:I'm still having trouble with the colors sticking, now when I change a color in the preferences menu and go back to the terminal, the entire screen freezes (It responds to <orange><sym><r>, but won't show the boot logo as it's shutting down, and ssh responds normally). Is this a bug? -[[User:Hopspitfire|hopspitfire]] 04:13, 17 August 2009 (UTC)<br />
:: I get this too when I try to change preferences. [[User:Michaelb|Michaelb]] 18:51, 17 August 2009 (UTC)<br />
: The problem has been fixed after the new update (0.1.9), THANKS! -[[User:Hopspitfire|hopspitfire]] 21:00, 19 August 2009 (UTC)<br />
<br />
Terminal displays blank screen after install<br />
----<br />
<br />
It will display nothing that I type, I have tried rebooting the phone with no luck. I did see an message that looked like an error during the install:<br />
<br />
Configuring org.webosinternals.termplugin <br />
(offline root mode: not running org.webosinternals.termplugin.postinst)<br />
<br />
Could the offline root mode error above be causing this? I was not in Dev mode when I installed this, should I have been?</div>Hopspitfire