[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

arm to armel and the missing ingredients

After making it to the other side of that river without a serial port upgrade on my slugs, I can comment
on a few of the items not mentioned in the Debian Wiki Howto [1]. First, the basis which were covered at
various points but I'll mention them here to emphasize them.

1. A kernel that can handle the two architectures. This point was a bit of a chore since the slugs are
    not computationally strong and therefore take a very long time to build a kernel package
    on one [2]. A flash backup of that kernel needs to be made and kept externally as a safety net.

2. A serial connection of some sort. For those people who have added on a distinct serial port, this 
    point is superfluous. However with a stock slug, it is not a minor point. I pretty much indicated the
    approach in a separate thread however didn't quite finish the thought. Here it is. The technique that
    worked for me is to install the packages ttyd and telnetd onto the slug and the packages termnet and
    termnetd onto a standard computer with a serial port [3]. Using a USB to serial adapter, make a telnet
    connection to the slug via termnet after dropping down into the single user runlevel using telinit. Getting
    the single user step to work involves modifying the /etc/inittab and /etc/init.d/killprocs files. In inittab, comment
    out the single user action, i.e. forcing a root login, and in killprocs, (re)startup ttyd, inetd, portmap, and syslogd
    after killprocs has killed everything. I'm not absolutely sure those last two are needed, but I did them and I survived.
    (It would be nice to have a slightly more elegant way to get into single user mode.)

3. After doing the install steps in the howto, also install a way to access the slug, e.g. dropbear or openssh-server.
    Without them, your slug will be isolated. Also install lvm if there are lvm partitions on your disk. Think hard about
    what other packages are needed before dropping down into single user. The last package to install before
    doing that crucial step is an armel kernel (remember to have a backup of your eabi compatible kernel saved). 
    Note, you may need to do a few mknods to get the kernel to install. I suspect that the eabi compatible kernel will
    boot up in the armel install if necessary. I just felt a bit safer with the official kernel.

4. After making the leap and dropping down into single user mode, a few other processes may need to be killed. Use
    "lsof | grep dirname" and lots of discretion in killing them. (I moved/copied the /v/run directory to /tmp for those
    processes I didn't want to kill since I had a special /var situation.) A note here above the directory moves and
    copies in the howto, try to appreciate the wisdom of the mount -o bind step. Do not move your bin and lib
    directories about in "non-bind" mode. If necessary, mount the disk on a separate machine as in item 5, and
    move them there.

5. A way to access the slug partitions independently with respect to the slug. I suspect this step has been used by
    most since it is a standard slug rescue step. However, if a person contemplating the conversion has not, then get
    familiar with it before doing any of the above. Your nervous system will appreciate the security that such knowledge

6. Some familiarity with upslug2 if a reflashing of the slug from an external machine is necessary.

I believe those are the crucial points that hit me during the conversion. Documenting them may be superfluous at
this point since I may have been the last to make the move to armel on the slug. Thinking of the difficulties that I
had, I suspect that I wasn't. Good luck to those attempting the conversion.


[1] http://wiki.debian.org/ArmEabiHowto
[2] I eventually succeeded in building a kernel on a slug that works, i.e. boots up, and am willing to upload
     it somewhere to save others the pain of having to build one. Note, because of the naming I used, the 
     initrd and flashing will need to be done manually, and the name will need to be changed, a suffix added,
     in order to do those two steps.
[3] Getting the stty settings right might be frustrating. I can post what ended up working for me, e.g. stty -g,  if anyone
     wants them.  However, since different hardware is involved, they may not work perfectly for others.

Reply to: