Active Topics

 


Reply
Thread Tools
Posts: 839 | Thanked: 3,386 times | Joined on Mar 2009
#71
My building computer was been shut down since May. Now I have new 3TB hard disk and will continue this. I have plenty of easy packages left, but then there are hard ones (as Xorg).
----
Testing packages from squeezy/wheezy. (Don't just update&&upgrade, it really can't work.)

I'm not yet sure what is safe starting point. This was mine
libstdc++6 = 4.7.2-0+cssu0
libc6 = 2.15.90-maemo1
2.6.28.10-power52

(squeeze repo has libc6_2.10.90, stdc++ from http://maemo.merlin1991.at/cssu/deve...rmel/packages/)

Beware, these are very dangerous things, and the whole point is to get phone bricked (and examine when it bricks).
(This is mainly for showing techniques for hacking your package-database)

a) first wget+dpkg : multiarch-support
add two rows
Code:
 /lib/arm-linux-gnueabi/
 /usr/lib/arm-linux-gnueabi/
to the file /etc/ld.so.conf
and run ldconfig

b) wget+dpkg: liblzma5
c) wget+dpkg: libselinux1 (squeezy)
d) tar. this is more complex (FIXME)
Code:
wget http://www.cs.helsinki.fi/u/rantalai/maemo5/wheezy/repo/tar_1.26+dfsg-0.1_armel.deb
ar x tar_1.26+dfsg-0.1_armel.deb
tar xf data.tar.gz -C /
modify file: /var/lib/dpkg/status
find "Package: busybox" remove it conflicts tar

create new entry
Code:
Package: tar
Status: install ok installed
Priority: required
Section: utils
Installed-Size: 56
Architecture: all
Source: tar
Version: 1.26
Description: tar
e) wget+dpkg: dpkg

Now enable both repositories
Two rows
Code:
deb http://www.cs.helsinki.fi/u/rantalai/maemo5/wheezy/repo/ ./
deb http://cc.oulu.fi/~rantalai/maemo5/squeeze/repo/ ./
to the file: /etc/apt/sources.list

Then you can use apt-get install, and try what can be installed/upgraded. And remember they are not optified! Try to install one package at a time. This is one list of packages (seems they are not bricking):
f)
debian-archive-keyring
libtasn1-3
libgnutls26 (comes from squeezy)
libidn11 (comes from squeezy)
libdb4.8 (comes from squeezy)
libsasl2-2 (comes from squeezy)
libldap-2.4-2 (comes from squeezy)

g) libkrb5-3 This is also complicated (FIXME)
modify file: /var/lib/dpkg/status
find "Package: libcurl3" remove it versioned depends for libkrb53

Code:
wget http://www.cs.helsinki.fi/u/rantalai/maemo5/wheezy/repo/libkrb5support0_1.10.1+dfsg-5_armel.deb
ar libkrb5support0_1.10.1+dfsg-5_armel.deb
tar xf control.tar.gz
modify control, drop 'conflicts libkrb53'
tar czf control.tar.gz control md5sums   postinst        postrm          shlibs          symbols
ar -r libkrb5support0_1.10.1_maemo.deb debian-binary control.tar.gz data.tar.gz
dpkg -i libkrb5support0_1.10.1_maemo.deb
Do same for libk5crypto3

For libkrb5-3, add rows to control:
Provides: libkrb53
Replaces: libkrb53

And then finally install libkrb5-3.deb

h)
libgssapi-krb5-2 (comes from squeezy)
libcurl3-gnutls
zlib1g
libmagic1 (squeezy)
file (squeezy)

i)
Remove hildon-application-manager (FIXME, how about just compiling against new apt?)
install apt and apt-transport-https (they depends each other)
(apt.postinst warning about run-parts --regex, because of busybox, but not critical. FIXME)
 

The Following 9 Users Say Thank You to AapoRantalainen For This Useful Post:
Posts: 3,328 | Thanked: 4,476 times | Joined on May 2011 @ Poland
#72
Can you prepare a rootstrap so that the people can help with building some stuff?
__________________
If you want to support my work, you can donate by PayPal or Flattr

Projects no longer actively developed: here
 

The Following 3 Users Say Thank You to marmistrz For This Useful Post:
Posts: 839 | Thanked: 3,386 times | Joined on Mar 2009
#73
Originally Posted by marmistrz View Post
Can you prepare a rootstrap so that the people can help with building some stuff?
I don't know how to properly do it. I can give some instructions:
A) install gcc-4.7 toolchain (http://wiki.maemo.org/CSSU-thumb_too....7.2-linaro%29 )
B) enable my wheezy repo (maybe squeeze also, until I got all of them also for wheezy)
C) if old binaries from sb is preventing to use new arm-binaries, hack them outside of scratchbox. e.g sudo mv /scratchbox/tools/bin/scons /scratchbox/tools/bin/scons_orig
sudo mv /scratchbox/devkits/git/bin/git /scratchbox/devkits/git/bin/git_orig
 

The Following 5 Users Say Thank You to AapoRantalainen For This Useful Post:
Posts: 839 | Thanked: 3,386 times | Joined on Mar 2009
#74
Now squeezy is left behind and only packages on wheezy is used on device.

After these steps You can run HAM (hildon-application-manager) recompiled against wheezy's packages.



Start with just flashed phone (RX-51_2009SE_20.2010.36-2_PR_COMBINED_MR0_ARM.bin)
*Install openssh-server via HAM

And then work over ssh

Code:
apt-get install wget rootsh
#upgrade to the PR1.3.1
apt-get install mp-fremantle-generic-pr
#upgrade these from extras (and uninstall mp-fremantle-generic-pr)
apt-get install libcurl3 libgcc1 libsdl-mixer1.2 libstdc++6 dtg-installer


#Add repositories
#wheezy/repo is for recompiled packages from debian-wheey
#wheezy/waemo is maemo packages compiled against wheezy.

echo "\
deb http://www.cs.helsinki.fi/u/rantalai/maemo5/wheezy/repo/ ./  
deb http://www.cs.helsinki.fi/u/rantalai/maemo5/wheezy/waemo/ ./ \
" > /etc/apt/sources.list
apt-get update



apt-get install libc6         #important to install earlier than busybox

apt-get install multiarch-support  #this is needed for wheezy packages
#run also manually this:
echo "/lib/arm-linux-gnueabi/
/usr/lib/arm-linux-gnueabi/ \
" >> /etc/ld.so.conf



#We need true tar. 
# Change busybox to the version without tar and install tar.
#Hack: Installing tar with apt/dpkg needs tar in path
wget http://www.cs.helsinki.fi/u/rantalai/maemo5/wheezy/tar
chmod a+x tar
cp tar /usr/bin/
apt-get install busybox-symlinks-busybox busybox tar
rm /usr/bin/tar


#new dpkg
apt-get install liblzma5
apt-get install libselinux1
apt-get install dpkg



apt-get install libffi5
apt-get install libglib2.0-0  #important to install earlier than glib-networking
apt-get install glib-networking-common
apt-get install libtasn1-3
apt-get install libxml2 zlib1g
apt-get install libgpg-error0
apt-get install libgcrypt11
apt-get install libp11-kit0
apt-get install libidn11
apt-get install libexpat1
apt-get install libdb5.1
apt-get install libsasl2-2
apt-get install glib-networking glib-networking-services libgnutls26 libsoup2.4-1 
apt-get install librtmp0
apt-get install libssh2-1
apt-get install libkeyutils1
apt-get install libldap-2.4-2
apt-get install ttf-dejavu-core
apt-get install ucf  #comes from maemo (version on wheezy needs too much)
apt-get install libssl1.0.0



#fontconfig needs hacking
#old fontconfig is splitted on two new packages: fontconfig-config and fontconfig 
#some files on new fontconfig-config are same than old fontconfig
# most simple way is just install them two times, where only first time gives error
# (another way could be dpkg -i --force-overwrite /var/cache/apt/archives/fontconfig-config_2.9.0-7.1_all.deb )
apt-get install libfontconfig1 fontconfig-config fontconfig 
apt-get install libfontconfig1 fontconfig-config fontconfig 


apt-get install libkrb5-3 libcurl3 libgssapi-krb5-2 libk5crypto3 libkrb5support0
apt-get install libcurl3-gnutls


apt-get install libstdc++6  #important to be earlier than apt


#apt needs hacking
#somewhere when installing apt it calls mktep with some weird parameters
#and because it is from busybox, it cause error

#download mktemp (from coreutils-gnu) and put it in PATH
wget http://www.cs.helsinki.fi/u/rantalai/maemo5/wheezy/mktemp
chmod a+x mktemp
cp mktemp /usr/bin/ 
#They must be in one bunch
apt-get install apt apt-transport-https libapt-pkg4.12 hildon-application-manager debian-archive-keyring
#FIXME: apt gives warning "run-parts: unrecognized option '--regex'"
rm /usr/bin/mktemp
Optionally to reboot to test that phone is not bricked.

HAM can be started from commandline (from menu it has problems) and it seems to work (it can refresh lists and install packages)
Code:
hildon-application-manager.launch
---
I have also installed these new packages without bricking (no other side effects yet tested).
base-files
libexif12
libfontenc1
libfreetype6
libgcc1
libgdbm3
wget
libltdl7
liboil0.3
libiw30
libjpeg62
libss2
libsysfs2
libspeexdsp1
ncurses-base
perl-base
liblocale-gettext-perl
libopenobex1
libpixman-1-0
libpopt0
libsofia-sip-ua0
libsofia-sip-ua-glib3
libxfont1
libxv1
libxdamage1
libxcomposite1
libxau6
base-passwd
desktop-file-utils
libenca0
libcomerr2
libelfg0
openssl
libkmod2
libtinfo5
libncurses5
libatk1.0-data
libatk1.0-0
 

The Following 22 Users Say Thank You to AapoRantalainen For This Useful Post:
pichlo's Avatar
Posts: 6,447 | Thanked: 20,981 times | Joined on Sep 2012 @ UK
#75
Holly cow! Aapo, this is amazing! I will give it a shot on my spare N900 as soon as I find a spare evening. (That might take a while though )

All my previous attempts resulted in a bricked phone as soon as I installed libc6. Presumably because I had busybox on already.

Last edited by pichlo; 2013-09-11 at 20:37.
 

The Following 5 Users Say Thank You to pichlo For This Useful Post:
Posts: 3,328 | Thanked: 4,476 times | Joined on May 2011 @ Poland
#76
Originally Posted by AapoRantalainen View Post
Now squeezy is left behind and only packages on wheezy is used on device.

After these steps You can run HAM (hildon-application-manager) recompiled against wheezy's packages.



Start with just flashed phone (RX-51_2009SE_20.2010.36-2_PR_COMBINED_MR0_ARM.bin)
*Install openssh-server via HAM

/**/
Is it all needed in scratchbox?

And about scratchbox tools, a workaround for Harmattan and Fremantle SDK was adding that to environment:

Code:
unset SBOX_REDIRECT_FROM_DIRS
export PATH="/bin:$PATH"
And about rootstraps: http://www.scratchbox.org/documentat...html#rootstrap
__________________
If you want to support my work, you can donate by PayPal or Flattr

Projects no longer actively developed: here

Last edited by marmistrz; 2013-09-12 at 16:46.
 

The Following 3 Users Say Thank You to marmistrz For This Useful Post:
Posts: 3,328 | Thanked: 4,476 times | Joined on May 2011 @ Poland
#77
Do you build it all with thumb?
And where's your pubkey
On scratchbox I get
Code:
[sbox-fremantle-thumb: ~] > apt-get install busybox-symlinks-busybox busybox tar
Reading package lists... Done
Building dependency tree... Done
Suggested packages:
  ncompress xz-utils
The following packages will be REMOVED:
  coreutils debianutils findutils grep gzip mktemp sed
  sysvinit-utils
The following NEW packages will be installed:
  busybox
The following packages will be upgraded:
  busybox-symlinks-busybox tar
WARNING: The following essential packages will be removed.
This should NOT be done unless you know exactly what you are doing!
  coreutils debianutils mktemp (due to debianutils) findutils grep
  gzip sed sysvinit-utils
2 upgraded, 1 newly installed, 8 to remove and 23 not upgraded.
Need to get 1202kB of archives.
After unpacking 10.7MB disk space will be freed.
You are about to do something potentially harmful.
To continue type in the phrase 'Yes, do as I say!'
 ?]
Is it ok?
__________________
If you want to support my work, you can donate by PayPal or Flattr

Projects no longer actively developed: here

Last edited by marmistrz; 2013-09-25 at 18:20.
 

The Following User Says Thank You to marmistrz For This Useful Post:
Posts: 839 | Thanked: 3,386 times | Joined on Mar 2009
#78
Originally Posted by marmistrz View Post
Do you build it all with thumb?
I'm compiling without thumb. I'm using gcc-4.7 which could do thumb.


Originally Posted by marmistrz View Post
And where's your pubkey
I'm not yet signing packages.

Originally Posted by marmistrz View Post
On scratchbox I get
Code:
[sbox-fremantle-thumb: ~] > apt-get install busybox-symlinks-busybox busybox tar
Is it ok?
You should not install busybox on scratchbox. You don't need it on sdk, as there are full coreutils.
 

The Following 2 Users Say Thank You to AapoRantalainen For This Useful Post:
Posts: 3,328 | Thanked: 4,476 times | Joined on May 2011 @ Poland
#79
Originally Posted by AapoRantalainen View Post
I'm compiling without thumb. I'm using gcc-4.7 which could do thumb.
I'm not yet signing packages.

You should not install busybox on scratchbox. You don't need it on sdk, as there are full coreutils.
Thanks. Can I just apt-get upgrade on scratchbox?
/edit: I tried, but after a couple of forces, and upgrading dpkg, I'm still getting things like that:

Code:
dpkg: regarding .../base-files_7.1_armel.deb containing base-files:
 package uses Breaks; not supported in this dpkg
dpkg: error processing /var/cache/apt/archives/base-files_7.1_armel.deb (--unpack):
 unsupported dependency problem - not installing base-files
Errors were encountered while processing:
 /var/cache/apt/archives/base-files_7.1_armel.deb
E: Sub-process /scratchbox/devkits/debian-etch/bin/dpkg returned an error code (1)
/edit2
1. Make sure if the ld.so step from the on device done.
Code:
echo "/lib/arm-linux-gnueabi/
/usr/lib/arm-linux-gnueabi/ \
" >> /etc/ld.so.conf
2.
Code:
 cd /usr/lib/libfakeroot/
ln -s libfakeroot-tcp.so libfakeroot-tcp.so.0
3.
Code:
unset SBOX_REDIRECT_FROM_DIRS
export PATH="/bin:/usr/bin/:$PATH"
to environment
4. edit /etc/resolv.conf
My further steps (in case someone needs it)
Code:
fakeroot apt-get install libc6
fakeroot apt-get install dpkg
fakeroot apt-get upgrade
fakeroot apt-get dist-upgrade
__________________
If you want to support my work, you can donate by PayPal or Flattr

Projects no longer actively developed: here

Last edited by marmistrz; 2013-10-16 at 15:25.
 

The Following User Says Thank You to marmistrz For This Useful Post:
Posts: 863 | Thanked: 213 times | Joined on Feb 2012 @ Goa
#80
so whatever this project is, is it gonna change whole OS of nokia n900?
 
Reply


 
Forum Jump


All times are GMT. The time now is 17:27.