Reply
Thread Tools
int_ua's Avatar
Posts: 676 | Thanked: 1,067 times | Joined on Jul 2010 @ Kyiv, Ukraine
#291
Originally Posted by caveman View Post
boot from ext4 partition I used the following item file:
Code:
ITEM_NAME="Ubuntu 12.04"
ITEM_KERNEL="uImage"
ITEM_DEVICE="${EXT_CARD}p3"
ITEM_FSTYPE="ext4"
ITEM_CMDLINE="root=/dev/mmcblk0p3 rootwait console=tty0 omapfb.vram=0:2M,1:2M,2:2M mtdoops.mtddev=2 nosplash elevator=noop panic=20"
ITEM_REUSEATAGS="1"
Originally Posted by caveman View Post
I had to make a small manual adjustment in the uSD after the install.sh script completed. My first partition was of type 83 instead of 0C, although it did contain a vfat filesystem, so I had to fix it by hand.
Is ${EXT_CARD} a U-Boot variable? Should I add it to the script?
Do you know what's causing wrong partition type?
 
int_ua's Avatar
Posts: 676 | Thanked: 1,067 times | Joined on Jul 2010 @ Kyiv, Ukraine
#292
By the power vested in me by blah-blah-blah I now pronounce revision 125 being stable. Please report if I've missed something even if it was already said in the thread.

And the unstable branch: https://code.launchpad.net/~xintx-ua...aller-unstable
 

The Following 6 Users Say Thank You to int_ua For This Useful Post:
Posts: 191 | Thanked: 415 times | Joined on Jan 2012
#293
Originally Posted by int_ua View Post
Is ${EXT_CARD} a U-Boot variable? Should I add it to the script?
Do you know what's causing wrong partition type?
I believe these are variables in pali's u-boot. Not sure about u-boot-pr13.

Regarding the partition type, I have not investigated it yet, but I can confirm it does happen with version 125:

Code:
   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdc1          0+    135     136-    514321   83  Linux
/dev/sdc2          0       -       0          0    0  Empty
/dev/sdc3        136    1022     887    3354634   83  Linux
/dev/sdc4          0       -       0          0    0  Empty
And some of nemo firmware packages have changed urls:
Code:
Failed to download package bcm-bt-firmware-0.21rc3-1.2.Nemo.Adaptation.N900.noarch.rpm
Failed to download package nokia-usb-networking-2.0-1.2.Nemo.Adaptation.N900.noarch.rpm
Failed to download package pulseaudio-settings-n900-0.1.4-1.2.Nemo.Adaptation.N900.noarch.rpm
Failed to download package udev-rules-nokia-n900-0.11-1.2.Nemo.Adaptation.N900.noarch.rpm
I found them here:
Code:
http://repo.pub.meego.com/CE:/Adaptation:/N900/Mer_Core-next_CE_Adaptation_N9xx-common_armv7hl/noarch/
I am reinstalling with version 125 and will report later.
 

The Following 2 Users Say Thank You to caveman For This Useful Post:
Posts: 2,154 | Thanked: 8,464 times | Joined on May 2010
#294
Originally Posted by int_ua View Post
Is ${EXT_CARD} a U-Boot variable? Should I add it to the script?
Do you know what's causing wrong partition type?
${EXT_CARD} is variable available only in script u-boot-update-bootmenu for bootmenu item files.

You should use only bootmenu item files, not u-boot scripts. New version of my u-boot will be again incompatible (due to atags changes)... only bootmenu files and u-boot-update-bootmenu script will be compatible!
 

The Following User Says Thank You to pali For This Useful Post:
Posts: 191 | Thanked: 415 times | Joined on Jan 2012
#295
Originally Posted by int_ua View Post
pty errors must be fixed after dist-upgrade (bug link somewhere in the thread). Hint: there is a just-chroot.sh
Thanks for the tip. I used the chroot to dist-upgrade and install a few more packages. The pty errors are still here, though. Can these be kernel related?

Two side notes:
1. in my first attempted install, xorg package was missing; not sure if it was my fault, but I had to install it later in the chroot.
2. the kernel seems to be one issue for me. I have tried 3 kernels: custom_kernel, nemo, freemangordon's 2.6.37+. Only the latter mounts my root partition (using pali's u-boot-menu, same item file but for the kernel). uSD is kingstom 4Gb class 4. This kernel does some really nice card black magic ;-)
 

The Following User Says Thank You to caveman For This Useful Post:
Posts: 191 | Thanked: 415 times | Joined on Jan 2012
#296
My window of opportunity for today is closing. UNTESTED patches attached.
Attached Files
File Type: txt patch1.diff.txt (2.8 KB, 103 views)
 

The Following 3 Users Say Thank You to caveman For This Useful Post:
Posts: 63 | Thanked: 37 times | Joined on Jul 2010
#297
I still haven't got the time to try out meegos library for mesa gl.
Anyone else got it working?
 

The Following User Says Thank You to MastaG For This Useful Post:
Posts: 191 | Thanked: 415 times | Joined on Jan 2012
#298
Here goes the updated set of patches, with comments and with some testing.

Add xorg to the set of packages:
Code:
@@ -114,6 +114,7 @@
     iotop           "optional" off \
     localepurge     "optional" off \
     lxde            "optional" off \
+    xorg            "optional" off \
     iptables        "optional" off \
     apport          "optional" off \
     onboard         "optional" off \
Move this dialog just below the partition table writing part, so that we know the correct root partition:
Code:
@@ -137,40 +138,6 @@
 	done
 fi
 
-dialog --checklist "Select kernel boot parameters" 0 79 0 \
-    "root=/dev/mmcblk0p${target_partition_suffix_root}" ""   on  \
-    rootwait ""   on  \
-    "console=tty0" ""  on  \
-    "omapfb.vram=0:2M,1:2M,2:2M" ""  on  \
-    "mtdoops.mtddev=2" ""  on  \
-    nosplash    ""  on  \
-    "elevator=noop" ""  on  \
-    fixrtc      ""  off  \
-    debug   "" off \
-    "panic=20" "Reboot after 20 seconds after panic" on \
-    "init=/bin/sh" "Drop to sh on boot" off \
-    "vga=785" "Try to set 640x480x16 video mode" off \
-    noacpi "" off \
-    "bootmem_debug" "" off \
-    "debug_objects" "" off \
-    "ddebug_query" "" off \
-    "initcall_debug" "" off \
-    2>"${options_dir}/boot_parameters"
-sed -i 's/\"//g' "${options_dir}/boot_parameters"
-
-if [[ $selected_kernel_version == "nemo" ]]; then
-	nemo_pkglist=""
-	for package_name in $(wget --quiet -O - http://repo.pub.meego.com/CE:/Adaptation:/N900/CE_Adaptation_N9xx-common_armv7hl/armv7hl/ | grep "href=\"[^\"]*\.rpm" -o | sed 's/href=\"//g'; wget --quiet -O - http://repo.pub.meego.com/CE:/Adaptation:/N900/CE_Adaptation_N9xx-common_armv7hl/noarch/ | grep "href=\"[^\"]*\.rpm" -o | sed 's/href=\"//g')
-	do
-		state="on"
-		if [[ $package_name =~ "debug" || $package_name =~ "devel" || $package_name =~ "u-boot" || ( $package_name =~ "udev" && $package_name =~ "noarch" && $package_name != *"n900"* ) ]] ; then
-			state="off"
-		fi
-		nemo_pkglist="$nemo_pkglist $package_name \"\" $state"
-	done
-	dialog --checklist 'Choose Nemo packages:' 0 79 0 $nemo_pkglist 2>"${options_dir}/nemo_packages"
-	sed -i 's/\"//g' "${options_dir}/nemo_packages"
-fi
Switch from fdisk to sfdisk for partition manipulation, trying to simplify the code by avoiding partition manipulation by fdisk commands:
Code:
 # Writing
 dialog --backtitle "Select the microSD device, partition or file" --inputbox "$(lshw -class disk -short)" 0 0 "/dev/sd" 2>"${options_dir}/selected_target" || exit 1
@@ -217,26 +184,32 @@
       swap_size="500"
     fi
 
-    echo "n\np\n"${target_partition_suffix_root}"\n\n\n\n" > "${options_dir}/fdisk_command_stack.file"
-    echo "n\np\n"${target_partition_suffix_fat}"\n\n+"$fat_size"M\n" >> "${options_dir}/fdisk_command_stack.file"
-
+    # use sfdisk to create partitions
+    echo -n "" > "${options_dir}/fdisk_command_stack.file"
+    partition_counter=1
+    if [[ $fat_size > 0 ]]; then
+        echo "0,$fat_size,0c" >> "${options_dir}/fdisk_command_stack.file"
+        target_partition_suffix_fat=$partition_counter
+        partition_counter=$(( $partition_counter + 1 ))
+    fi
     if [[ $swap_size > 0 ]]; then
-        echo "n\np\n"${target_partition_suffix_swap}"\n\n+"$swap_size"M\n" >> "${options_dir}/fdisk_command_stack.file"
+        echo ",$swap_size,S" >> "${options_dir}/fdisk_command_stack.file"
+        target_partition_suffix_swap=$partition_counter
+        partition_counter=$(( $partition_counter + 1 ))
     fi
-
-    fdisk_command_stack="$(cat "${options_dir}/fdisk_command_stack.file" | sort | tr '\n' ' ' | sed 's/ //g')""w\n"
-    echo -e "$fdisk_command_stack" > "${options_dir}/fdisk_command_stack.file"
+    echo ",,L" >> "${options_dir}/fdisk_command_stack.file"
+    cat "${options_dir}/fdisk_command_stack.file" | sfdisk -uM "$dev" 
+    target_partition_suffix_root=$partition_counter
 
     sync
 
-    parted -s "$dev" mklabel "msdos" || exit 1
-    fdisk "$dev" < "${options_dir}/fdisk_command_stack.file" || exit 1
-
     mkfs.ext3 "${dev}${target_partition_suffix_root}" || exit 1
     if [[ $swap_size > 0 ]]; then
         mkswap "${dev}${target_partition_suffix_swap}" || exit 1
     fi
-    mkfs.vfat "${dev}${target_partition_suffix_fat}" || exit 1
+    if [[ $fat_size > 0 ]]; then
+        mkfs.vfat "${dev}${target_partition_suffix_fat}" || exit 1
+    fi
Try to download missing packages from alternate location:
Code:
@@ -261,7 +269,7 @@
 	ls "$service_dir"/kubuntu-mobile-n900-integration_*.deb >/dev/null 2>&1 || wget --quiet http://people.ubuntu.com/%7Eapachelogger/mobile/n900-integration/kubuntu-mobile-n900-integration_0.1_all.deb -O $service_dir/kubuntu-mobile-n900-integration_0.1_all.deb || exit 1
 else
 	for nemo_package in $(cat "${options_dir}/nemo_packages"); do
-		[[ -f "${service_dir}/${nemo_package}" ]] || wget --quiet -O "${service_dir}/${nemo_package}" "http://repo.pub.meego.com/CE:/Adaptation:/N900/CE_Adaptation_N9xx-common_armv7hl/armv7hl/${nemo_package}" || echo "Failed to download package ${nemo_package}"
+		[[ -f "${service_dir}/${nemo_package}" ]] || wget --quiet -O "${service_dir}/${nemo_package}" "http://repo.pub.meego.com/CE:/Adaptation:/N900/CE_Adaptation_N9xx-common_armv7hl/armv7hl/${nemo_package}" || wget --quiet -O "${service_dir}/${nemo_package}" "http://repo.pub.meego.com/CE:/Adaptation:/N900/Mer_Core-next_CE_Adaptation_N9xx-common_armv7hl/noarch/${nemo_package}" || echo "Failed to download package ${nemo_package}"
 		cp "${service_dir}/${nemo_package}" "$mountpoint_target/tmp/"
 	done
 fi
The most significant diff from stock version is that the root partition is no longer fixed at the third partition.
Attached Files
File Type: txt patch1.diff.txt (7.1 KB, 101 views)
 

The Following 5 Users Say Thank You to caveman For This Useful Post:
Posts: 191 | Thanked: 415 times | Joined on Jan 2012
#299
target:
kingstom uSD 8Gb class 4
sandisk uSD 4Gb class 4
unbranded uSD 32Gb class 6

install options:
* ubuntu-core lts,
* meego firmware,
* no dist-upgrade (always fails for me),
* 3Gb vfat partition + 0 swap,
* custom kernel,
* default kernel options.
Most other options stay at default values.

Packages:
* do not forget to install *xorg* and lxde packages or all you get is a console ;-)
* acpid fails to install (upstart fails): I suggest unchecking during the installation and installing it later
* I used only a few packages during the install, and installed more later when running on the device
I attached a tar file of options directory for reference.

I did a 3-step install:
1. run install.sh with essential packages (so it does not take too long)
2. when asked if I wanted a chroot shell, I used the chroot to download additional packages (apt-get -d install ...)
3. after booting in the device: apt-get -f install; apt-get dist-upgrade; finished installation of the additional packages (already downloaded); proceeded to the tweaks.

Summary of tweaks applied to the installed system:
1. fix wlan numbering: http://talk.maemo.org/showpost.php?p...&postcount=202
2. icons do not show on lxde: http://talk.maemo.org/showpost.php?p...&postcount=243
3. onboard shows a black screen: https://answers.launchpad.net/onboard/+question/195106
Code:
apt-get install python-gi-cairo
4. enabled swap on internel mmc:
Code:
echo "/dev/mmcblk1p3 swap swap defaults 0 0" >> /etc/fstab
5. added user to the following groups:
Code:
for i in audio netdev adm plugdev video dialout voice pulse; do adduser <user> $i; done
6. right mouse button emulation: http://talk.maemo.org/showpost.php?p...&postcount=299
included the following lines in /etc/X11/xorg.conf.d/90-input-n900.conf:
Code:
        Option "EmulateThirdButton" "1"
        Option "EmulateThirdButtonTimeout" "750"
        Option "EmulateThirdButtonThreshold" "30"
7. configure audio:
Code:
apt-get install pulseaudio alsa-utils
8. install droid fonts
9. init errors related to pty: https://bugs.launchpad.net/ubuntu/+s...rt/+bug/980917
10. rename login.png @ /usr/share/lxdm/... so I can see the bottom of the screen and select the session type
11. keyboard config: /etc/default/keyboard show pc105 -> change to nokiarx51

The attached experimental scripts apply most of the above tweaks. They should be run as root after the first system boot, since some of them uses files created at the first boot.

todo/open issues (please post if you have these working/figured out)
* look for a camera app for pics
* configure 3G dialup
* test voice calls (see http://talk.maemo.org/showpost.php?p...&postcount=298)
* investigate SMS messaging
* test battery script (see http://talk.maemo.org/showpost.php?p...ostcount=202): maybe turn it into a daemon?
* email client options
a. kmail-mobile: cool interface, but *very* heavyweight; took more than a minute to open and it shows 179M virt, 33M res, 17M shared
b. thunderbird: about 30s to open
c. claws-mail (http://talk.maemo.org/showpost.php?p...&postcount=326): just installed
* calendar options
a. thunderbird
b. dates

desktop environment
1. lxde: usable with a few tweaks, but very desktop-oriented; hard to use without the stylus, but rock-solid
tips: place lxpanel on the left, show only icons on task applet, increase icon size to 32, increase lxpanel widht to 34-36
openbox: edit config file to make it more friendly and maemo-like
Code:
<applications>
  <!-- match all windows, and remove their decorations -->
  <application class="*">
    <decor>no</decor>
    <maximized>yes</maximized>
  </application>
</applications>
<keybind key="C-BackSpace">
  <action name="NextWindow"><dialog>list</dialog><raise>yes</raise><desktop>yes</desktop></action>
</keybind>
<keybind key="C-m">
  <action name="ToggleFullscreen"/>
</keybind>
2: enlightenment with illume profile: very nice and usable
Code:
apt-get install e17
tip: settings/DPI/advanced: increase custom DPI scale to =~ 1.4
tip: add start and ibar
tip: install hal and battery applet works :-)

3. unity-2d:
Code:
apt-get install ubuntu-desktop unity-2d
session fails to start and now my e17 session segfaults at login :-(

4. chromium: install quick scrolling plugin (http://elektranox.org/n900/installat...iguration.html)

5. firefox: install grab and drag plugin (http://elektranox.org/n900/installat...iguration.html)

6. thunderbird: install touchscreen access collection (https://addons.mozilla.org/en-US/thu...7-bd88-1b9bf6/)
cons: takes about 25s to load
pros: solves email, RSS and calendar use-cases

7. xfce: looks cool, specially with the panel on the left; see http://talk.maemo.org/showpost.php?p...&postcount=332

booting with pali's u-boot version 2012.04-1
1. I placed the kernels in maemo's /boot
2. no matter the kernel, place its modules in the uSD under /lib/modules
3. point your item files to the place where the kernel is
4. point your kernel args to the root partition you want to boot
5. remember that mmcblk names are reversed outside maemo: to mount external uSD partition 1, use root=/dev/mmcblk0p1
* nemo
Code:
ITEM_NAME="NEMO"
ITEM_KERNEL="vmlinuz-2.6.37-10.7.Nemo.Adaptation.N900-adaptation-n900"
ITEM_MODULES="ext4"
ITEM_CMDLINE="root=/dev/mmcblk0p1 rootwait console=tty0 omapfb.vram=0:2M,1:2M,2:2M mtdoops.mtddev=2 nosplash elevator=noop panic=20"
* ubuntu
Code:
ITEM_NAME="Ubuntu 12.04 freemangordon kernel"
ITEM_KERNEL="uImage-nemo-2.6.37"
ITEM_MODULES="ext4"
ITEM_CMDLINE="root=/dev/mmcblk0p2 rootwait console=tty0 omapfb.vram=0:2M,1:2M,2:2M mtdoops.mtddev=2 nosplash elevator=noop panic=20"
ITEM_REUSEATAGS="1"
* KP
Code:
ITEM_NAME="Maemo 5 with kernel-power 2.6.28.10-power51 (Internal Nand)"
ITEM_KERNEL="2.6.28.10-power51"
ITEM_REUSEATAGS="1"
personal imcomplete package list
Code:
apt-get -y install \
	wicd-gtk wicd-curses \
	lxde lubuntu-desktop lxmusic mplayer \
	chromium-browser firefox \
	pulseaudio alsa-utils \
	python-gi-cairo onboard ttf-droid \
	xscreensaver imagemagick \
	e17 enna eterm \
	cpufrequtils \
        hal
Attached Images
 
Attached Files
File Type: zip tweaks.zip (2.5 KB, 174 views)
File Type: tar options.tar (20.0 KB, 123 views)

Last edited by caveman; 2013-01-15 at 17:28. Reason: misc updates to workaround & todo list & desktop environment tweaks
 

The Following 12 Users Say Thank You to caveman For This Useful Post:
Posts: 58 | Thanked: 197 times | Joined on Apr 2012
#300
Originally Posted by caveman View Post
...
* emulate right mouse button
Didn't try it but this might still work:

http://forums.webosnation.com/3173082-post471.html
 

The Following 4 Users Say Thank You to unknown.obvious For This Useful Post:
Reply

Thread Tools

 
Forum Jump


All times are GMT. The time now is 07:40.