and moar
authorSteven McDonald <steven@steven-mcdonald.id.au>
Fri, 25 Nov 2011 11:11:59 +0000 (22:11 +1100)
committerSteven McDonald <steven@steven-mcdonald.id.au>
Fri, 25 Nov 2011 11:11:59 +0000 (22:11 +1100)
tutorials/debian_on_samsung_galaxy.shtml

index 8cf176c72be542ae80d279b39deb0bee09d2c09c..1354189889134e373882e834a094e9be7a6cc3d4 100644 (file)
@@ -40,7 +40,23 @@ Assumptions made:
 <li>
 You have an Android smartphone with access to a root shell via SSH. I run
 <a href="http://www.cyanogenmod.com/">CyanogenMod 7.1</a> on my Galaxy S
 <li>
 You have an Android smartphone with access to a root shell via SSH. I run
 <a href="http://www.cyanogenmod.com/">CyanogenMod 7.1</a> on my Galaxy S
-II, but any Android system with root SSH access will do.
+II, but any Android system with root SSH access will do, provided it has
+the following utilities:
+  <ul>
+  <li><tt>cat</tt></li>
+  <li><tt>chroot</tt></li>
+  <li><tt>dd</tt></li>
+  <li><tt>ln</tt></li>
+  <li><tt>mkdir</tt></li>
+  <li><tt>mke2fs</tt></li>
+  <li><tt>mount</tt></li>
+  <li><tt>tar</tt></li>
+  <li><tt>wget</tt> (used by <tt>cdebootstrap</tt>)</li>
+  </ul>
+If you don't have these utilities available to you, you will either need
+to find a way of installing them, or else find alternative ways of
+performing some of the steps in this how-to. Doing either is outside the
+scope of this how-to.
 </li>
 <li>
 You have a reasonably fast and high-capacity Internet connection
 </li>
 <li>
 You have a reasonably fast and high-capacity Internet connection
@@ -77,10 +93,11 @@ So, to install <tt>cdebootstrap</tt>:
 <ul>
 <li>
 Download the <a href="http://packages.debian.org/sid/cdebootstrap-static">cdebootstrap-static</a>
 <ul>
 <li>
 Download the <a href="http://packages.debian.org/sid/cdebootstrap-static">cdebootstrap-static</a>
-package for your architecture. Both armel and armhf packages should work
-on recent Android phones; if you have an older phone, you may need to
-stick with armel. I'll be using armhf in this tutorial, but you are free
-to choose whichever architecture suits you best.
+package for your architecture. Both <tt>armel</tt> and <tt>armhf</tt>
+packages should work on recent Android phones; if you have an older
+phone, you may need to stick with <tt>armel</tt>. I'll be using
+<tt>armhf</tt> in this tutorial, but you are free to choose whichever
+architecture suits you best.
 </li>
 <li>
 Now, copy the files needed for <tt>cdebootstrap</tt> to work across to
 </li>
 <li>
 Now, copy the files needed for <tt>cdebootstrap</tt> to work across to
@@ -164,11 +181,11 @@ Now comes the fun bit, where we actually set up a Debian system. Still on
 your phone, run <tt>cdebootstrap</tt> to set up a file system tree in
 <tt>/debian</tt>. You may want to tweak the options below; I'm using
 <tt>ftp.debian-ports.org</tt> as my mirror because (at the time of
 your phone, run <tt>cdebootstrap</tt> to set up a file system tree in
 <tt>/debian</tt>. You may want to tweak the options below; I'm using
 <tt>ftp.debian-ports.org</tt> as my mirror because (at the time of
-writing) the armhf architecture is not yet fully integrated into the
-official archive. If you're using armel, or if you happen to live in the
-future, you can use your normal Debian mirror for this. Obviously, feel
-free to replace <tt>unstable</tt> with whichever suite you want to
-install.
+writing) the <tt>armhf</tt> architecture is not yet fully integrated into
+the official archive. If you're using <tt>armel</tt>, or if you happen to
+live in the future, you can use your normal Debian mirror for this.
+Obviously, feel free to replace <tt>unstable</tt> with whichever suite
+you want to install.
 </p>
 
 <code>
 </p>
 
 <code>
@@ -225,6 +242,25 @@ other remaining circular dependencies that could be fixed in a similar
 way.
 </p>
 
 way.
 </p>
 
+<p>
+Once you have resolved a few circular dependencies and want to try again,
+it is a good idea to run:
+</p>
+
+<code>
+# dpkg --configure -a
+</code>
+
+<p>
+before telling <tt>dpkg</tt> to try installing packages again, as the
+shell glob <tt>*.deb</tt> will simply present the packages in
+alphabetical order, which is usually not a sensible order in terms of
+satisyfing dependencies. <tt>dpkg --configure -a</tt> will make sure that
+packages which are already installed (and thus don't depend on any which
+aren't installed yet) get configured before those which aren't already
+installed (and might depend on installed packages being configured).
+</p>
+
 <h2>Installing a standard Debian package set</h2>
 
 <p>
 <h2>Installing a standard Debian package set</h2>
 
 <p>