Changes between Version 5 and Version 6 of SettingUpDevelopmentEnvironmentForN9


Ignore:
Timestamp:
Jan 29, 2012 4:21:51 PM (9 years ago)
Author:
zarvai@inf.u-szeged.hu
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SettingUpDevelopmentEnvironmentForN9

    v5 v6  
    261261== 2.1. Turn on developer mode ==
    262262
     263Notice: If you want to use NFS with retail N9, please read section [#a3.1.b.1Flashingpachedkerneltogetopenmode 3.1.b.1] first.
     264
    263265There is a tutorial for this at http://paazio.nanbudo.fi/tutorials/qt-quick/developer-mode-in-nokia-n9
    264266
     
    330332  $ browser-scripts/device-install-packages-n9.sh
    331333}}}
     334It will ask for root password of the device.
    332335
    333336= 3. How you get things running on the N9 =
     
    344347  * [http://repo.pub.meego.com/home:/rzr:/harmattan/MeeGo_1.2_Harmattan_Maemo.org_MeeGo_1.2_Harmattan_standard/armel/rsync_3.0.9-1.0%7erzr1_armel.deb
    345348
    346 Scp rsync installer to N9 as root:
     349Scp rsync installer to N9 as root (run@host):
    347350{{{
    348351  $ scp rsync_3.0.9-1.0~rzr1_armel.deb root@device:./
     
    353356}}}
    354357
    355 Create public key for ssh connection, if you don't have it already:
     358Create public key for ssh connection, if you don't have it already (run@host):
    356359{{{
    357360  $ ssh-keygen -t rsa
    358361}}}
    359 Copy public key to N9:
     362Copy public key to N9 (run@host):
    360363{{{
    361364  $ ssh user@device "mkdir .ssh"
     
    366369Download [https://sed.hu/projects/webkit/attachment/wiki/Build%20Qt5%20and%20WebKit2%20for%20N9%20%28Resworb%20Scripts%29/rsync-scripts.tar.gz?format=raw rsync-scripts.tar.gz] and extract it to ~/swork.
    367370
    368 Initialize directory tree for Qt and WebKit files:
     371Initialize directory tree for Qt and WebKit files (run@host):
    369372{{{
    370373  ~/swork/rsync-scripts$ init-rsync.sh
     
    382385== 3.1.b Mounting NFS on retail N9 ==
    383386
    384 
    385387The retail N9 has a very stricky security system, called AEGIS. You can read about this at: [http://harmattan-dev.nokia.com/docs/library/html/guide/html/Developer_Library_Developing_for_Harmattan_Harmattan_security_Security_guide.html Harmattan Security Guide]
    386388
    387389The only known way to disable AEGIS restrictions is flashing an alternate kernel onto N9.
     390
     391Notice: This could void the warranty! After flashing the device will show a warranty void message while booting.
    388392
    389393=== 3.1.b.1 Flashing pached kernel to get open mode ===
     
    489493
    490494{{{
    491 ssh user@192.168.2.15 "echo 'export QTDIR=/home/user/swork/qt5/qtbase' > nfsenv.sh; \
    492 echo 'export QT_IMPORT_PATH=/home/user/swork/qt5/qtbase/imports' >> nfsenv.sh; \
    493 echo 'export QML_IMPORT_PATH=/home/user/swork/qt5/qtbase/imports' >> nfsenv.sh; \
    494 echo 'export LD_LIBRARY_PATH=/home/user/swork/qt5/qtbase/lib:/home/user/swork/qtwebkit-webkit2-dev-builddir-armel-m6/Release/lib' >> nfsenv.sh; \
    495 echo 'export QT_PLUGIN_PATH=/home/user/swork/qt5/qtbase/plugins' >> nfsenv.sh; \
    496 echo 'export QT_QPA_PLATFORM_PLUGIN_PATH=/home/user/swork/qt5/qtbase/plugins/platforms' >> nfsenv.sh; \
    497 echo 'export QT_QPA_PLATFORM=xcb' >> nfsenv.sh; \
    498 echo 'export WEBKIT_TESTFONTS=/home/user/swork/testfonts' >> nfsenv.sh; \
    499 echo '# export TZ=/usr/share/zoneinfo/America/Los_Angeles' >> nfsenv.sh; \
    500 echo 'export PATH=/home/user/swork/qt5/qtbase/bin:$PATH' >> nfsenv.sh"
     495ssh user@192.168.2.15 "echo 'export QTDIR=/home/user/swork/qt5/qtbase' > n9env.sh; \
     496echo 'export QT_IMPORT_PATH=/home/user/swork/qt5/qtbase/imports' >> n9env.sh; \
     497echo 'export QML_IMPORT_PATH=/home/user/swork/qt5/qtbase/imports' >> n9env.sh; \
     498echo 'export LD_LIBRARY_PATH=/home/user/swork/qt5/qtbase/lib:/home/user/swork/qtwebkit-webkit2-dev-builddir-armel-m6/Release/lib' >> n9env.sh; \
     499echo 'export QT_PLUGIN_PATH=/home/user/swork/qt5/qtbase/plugins' >> n9env.sh; \
     500echo 'export QT_QPA_PLATFORM_PLUGIN_PATH=/home/user/swork/qt5/qtbase/plugins/platforms' >> n9env.sh; \
     501echo 'export QT_QPA_PLATFORM=xcb' >> n9env.sh; \
     502echo 'export WEBKIT_TESTFONTS=/home/user/swork/testfonts' >> n9env.sh; \
     503echo '# export TZ=/usr/share/zoneinfo/America/Los_Angeles' >> n9env.sh; \
     504echo 'export PATH=/home/user/swork/qt5/qtbase/bin:$PATH' >> n9env.sh"
    501505}}}
    502506
     
    504508Load environment variables (run@n9):
    505509{{{
    506 . nfsenv.sh
     510. n9env.sh
    507511}}}
    508512
     
    514518
    515519= 4. Flash back N9 to factory state =
    516 
    517 
     520If you
     521
     522Flashing
     523  - If your device cannot boot up at all, you need to use rd-mode switch steps.
     524  - If you re-flash your device just for clean-up, only flashing (Step 2) is required.
     525  - If you rewrite device with EMMC binary, than all your data will be lost.
     526
     527Youtube example:
     528  * http://www.youtube.com/watch?v=Vs2wyllNTCk&hd=1
     529
     530'''Step 1'''
     531Disconnect your N9 device from usb. To turn on rd-mode and disable lifeguard-reset run:
     532{{{
     533sudo flasher --set-rd-flags=no-lifeguard-reset --enable-rd-mode
     534}}}
     535Now connect usb cable and wait for finding the device.
     536
     537'''Step 2'''
     538Disconnect N9 from usb.
     539{{{
     540sudo flasher -F DFL61_HARMATTAN_20.2011.40-4_PR_LEGACY_001-OEM1-958_ARM.bin -F DFL61_HARMATTAN_20.2011.40-4.CENTRALEUROPE_EMMC_CENTRALEUROPE.bin -f -R
     541}}}
     542Now connect usb cable and wait for minimum 11% battery level, than flashing will be started.
     543
     544'''Step 3'''
     545After flashing is complet and N9 device is rebooted disconnect it from usb. Turn off rd-mode and disable lifeguard-reset:
     546{{{
     547sudo flasher --clear-rd-flags=no-lifeguard-reset --disable-rd-mode
     548}}}
     549Connect usb cable...
     550
     551'''More about R&D mode:'''
     552  - http://wiki.maemo.org/R%26D_mode
     553
     554'''Notes'''
     555
     556If your device has hardware error (corrupted flash storage), you will get similar results as these:
     557{{{
     558Battery level 72 %, continuing.
     559
     560image [state progress transfer flash speed]
     561---------------------------------------------------------------------
     562[x] cert-sw [finished 100 % 1 / 1 kB NA ]
     563[x] cmt-2nd [finished 100 % 95 / 95 kB NA ]
     564[x] cmt-algo [finished 100 % 789 / 789 kB NA ]
     565[_] cmt-mcusw [init 0 % 1024 / 6050 kB NA ]
     566[x] xloader [finished 100 % 23 / 23 kB NA ]
     567[x] secondary [finished 100 % 93 / 93 kB NA ]
     568[x] kernel [finished 100 % 2712 / 2712 kB 1271 kB/s]
     569[_] rootfs [init 0 % 12288 / 1102340 kB NA ]
     570ERROR: SU_GET_UPDATE_STATUS_REQ terminated with error code 1: Unknown error
     571
     572image [state progress transfer flash speed]
     573---------------------------------------------------------------------
     574[x] cert-sw [finished 100 % 1 / 1 kB NA ]
     575[x] cmt-2nd [finished 100 % 95 / 95 kB NA ]
     576[x] cmt-algo [finished 100 % 789 / 789 kB NA ]
     577[x] cmt-mcusw [finished 100 % 6050 / 6050 kB 3317 kB/s]
     578[x] xloader [finished 100 % 23 / 23 kB NA ]
     579[x] secondary [finished 100 % 93 / 93 kB NA ]
     580[x] kernel [finished 100 % 2712 / 2712 kB 1271 kB/s]
     581[f] rootfs [init 0 % 13312 / 1102340 kB NA ]
     582Fetching error list:
     583========================================
     584bb5_rdc_cert_read failed
     585bb5_rdc_cert_read failed
     586bb5_rdc_cert_read failed
     587bb5_rdc_cert_read failed
     588bb5_rdc_cert_read failed
     589bb5_rdc_cert_read failed
     590mmc: Could not find device path under /sys/class/mmc_host/mmc0
     591mmc: Failed to init mmc block device
     592scconf_parse_entries failed: (null)
     593Unable to parse layout
     594mmc: Could not remove mount directory /tmp/sudmmc9J3FtB/mnt: No such file or dir
     595ectory
     596mmc: Could not unlink (null): Bad address
     597[Pipe 3] Finishing in error state with status 1
     598}}}
     599
     600