|
|
| Line 1: |
Line 1: |
| = About me = | | <div style="font-size: 1em;"> |
| Sometime
| | <!-- ==== "Welcome to maemo.org Wiki" and article count ======== --> |
| | Welcome to the Maemo Wiki, currently featuring [[Special:Statistics|{{NUMBEROFARTICLES}}]] articles. Read [[Special:Newpages|new]] ones, |
| | browse the [[Special:Categories|categories]], follow the [http://wiki.maemo.org/index.php?title=Special%3ACategoryTree&target=content&mode=categories&dotree=Show+Tree category tree], jump to a [[Special:Random|random page]] or select your favorite topic from the list below. |
|
| |
|
| = My repos = | | <div class="sections"> |
| | <div class="column"> |
| | <div class="section"> |
| | <h2>Hot Topics</h2> |
| | <ul class="document">{{Hot Topics}} |
| | </ul></div> |
| | <div class="section"> |
| | <h2>Our Community</h2> |
| | <ul class="help">{{Community}} |
| | </ul><h4>Upcoming [[Events]]</h4> |
| | <ul class="document">{{Events}} |
| | <span style="font-size: 0.9em; margin-left: 3em;"><em>{{More topics|Community|community}}</em></span> |
| | </ul></div> |
| | </div> |
| | <div class="column"> |
| | <div class="section"> |
| | <!-->Audience specific topics<--> |
| | ==[[:Category:Beginners|Beginner]]== |
| | <ul class="help">{{Basics}} |
| | </ul><span style="font-size: 0.9em; margin-left: 3em;"><em>{{More topics|Beginners|beginner}}</em></span></div> |
| | <div class="section"> |
| | ==[[:Category:Power users|Power User]]== |
| | <ul class="help">{{Power users}} |
| | </ul><span style="font-size: 0.9em; margin-left: 3em;"><em>{{More topics|Power users|power user}}</em></span></div> |
| | <div class="section"> |
| | ==[[:Category:Development|Developer]]== |
| | <ul class="document">{{Development}} |
| | </ul><span style="font-size: 0.9em; margin-left: 3em;"><em>{{More topics|Development|developer}}</em></span></div> |
| | </div></div> |
| | </div> |
|
| |
|
| non-optified repo: deb https://repo.codemages.net/ nonopt/
| |
| optified repo: deb https://repo.codemages.net/ opt/
| |
|
| |
|
| What do the repos contain?
| | __NOEDITSECTION__ <!-- disables the [edit] links from being shown --> |
| * zsh - just don't set it as your default shell
| | __NOTOC__ <!-- disable the table of contents from ever being shown --> |
| * xmms2 with wavpack, mpg123, mpcdec, ogg, flac, etc... support - also updated to not start at max loud
| |
| * fcron - requires some manual work after the install(I'll try to give it an event.d script and do that stuff after the fact but not just yet)
| |
| * gcoreutils and gtar
| |
| * rsyslog
| |
| * curl
| |
| * djmount
| |
| * tinc
| |
| * xset and xrdb
| |
| | |
| create a fcron user
| |
| chown fcron:fcron /etc/fcron.*
| |
| chown -R fcron:fcron /var/spool/fcron
| |
|
| |
| Then edit /etc/event.d/rcS-late
| |
|
| |
| And after initctl emit MOUNTS_OK
| |
|
| |
| put:
| |
| /etc/init.d/fcron start
| |
| | |
| = Repartitioning =
| |
| Here is what I did to repartition:
| |
| http://talk.maemo.org/showpost.php?p=411490&postcount=51
| |
| | |
| Copied from the post by request:
| |
| | |
| | |
| | |
| #!/bin/bash
| |
|
| |
| echo "Not for running only REFERENCE!!!"
| |
| exit
| |
|
| |
| ### THIS ALL APPLIES TO ALL PR 1.0 PR 1.0.1 PR 1.1 ###
| |
|
| |
| # backup your user
| |
| mount /dev/mmcblk1p1 /media/mmc1
| |
| cp -a /home/user /media/mmc1/
| |
|
| |
| # partitioning
| |
| sfdisk -uM --no-reread /dev/mmcblk0 << FDSK
| |
| 0 2048 c
| |
| 2049 20544 83
| |
| 22593 768 82
| |
| 23361 7170 5
| |
| 23362 2048 83
| |
| 25410 5120 83
| |
|
| |
| FDSK
| |
|
| |
| # REBOOT
| |
|
| |
| # do this sometime
| |
| mkfs.ext2 /dev/mmcblk0p5
| |
| mkfs.ext2 /dev/mmcblk0p2
| |
| mkfs.ext2 /dev/mmcblk0p6
| |
| mkfs.vfat /dev/mmcblk0p1
| |
| mkswap /dev/mmcblk0p3
| |
|
| |
| # change /etc/event.d/rcS-late
| |
| # comment out generation of fstab
| |
| # the following sed command will add a comment character "#"
| |
| # at the start of lines 10-20
| |
| sed "10,20s:\(.*\):#\1:" /etc/event.d/rcS-late > /etc/event.d/rcS-late.new
| |
| cp /etc/event.d/rcS-late.new /etc/event.d/rcS-late
| |
|
| |
| # add mount /home/user/MyDocs
| |
| # this sed command inserts /bin/mount /home/user/MyDocs || echo 'Failed to mount' on line 23
| |
| sed "23i/bin/mount /home/user/MyDocs || echo 'Failed to mount /home/user/MyDocs partition.'" /etc/event.d/rcS-late > /etc/event.d/rcS-late.new
| |
| cp /etc/event.d/rcS-late.new /etc/event.d/rcS-late
| |
| rm /etc/event.d/rcS-late.new
| |
| # change /etc/init.d/rcS
| |
| # this sed command starts on line 197 and if it finds: load_extra_module
| |
| # it will replace it with: load_extra_module newline and a mount for usr and opt
| |
| sed "197s:load_extra_modules:load_extra_modules\nmount /usr || echo 'Failed to mount /usr'\nmount /opt || echo 'Failed to mount /opt':" /etc/init.d/rcS > /etc/init.d/rcS.new
| |
| cp /etc/init.d/rcS.new /etc/init.d/rcS
| |
| rm /etc/init.d/rcS.new
| |
| # fstab
| |
| cat << FSTAB > /etc/fstab
| |
| rootfs / rootfs defaults,errors=remount-ro,noatime 0 0
| |
| /dev/mmcblk0p6 /usr ext2 rw,noatime,nodiratime,errors=continue 0 0
| |
| /dev/mmcblk0p5 /opt ext2 rw,noatime,nodiratime,errors=continue 0 0
| |
| /dev/mmcblk0p3 none swap sw 0 0
| |
| /dev/mmcblk0p2 /home ext2 rw,noatime,nodiratime,errors=continue 0 0
| |
| /dev/mmcblk0p1 /home/user/MyDocs vfat noauto,nodev,noexec,nosuid,noatime,nodiratime,utf8,uid=29999,shortname=mixed,dmask=000,fmask=0133,rodir 0 0
| |
|
| |
| FSTAB
| |
| mkdir /usra
| |
| mount /dev/mmcblk0p6 /usra
| |
| cp -a /usr/* /usra/
| |
| mount /home
| |
| mount /home/user/MyDocs
| |
| mount /dev/mmcblk1p1 /media/mmc1
| |
| cp -a /media/mmc1/user /home/
| |
|
| |
| mkdir /tmproot
| |
| mount -o bind / /tmproot
| |
| Output of df -h
| |
| Filesystem Size Used Available Use% Mounted on
| |
| rootfs 227.8M 142.0M 81.6M 64% /
| |
| /dev/mmcblk0p6 4.9G 293.1M 4.4G 6% /usr
| |
| /dev/mmcblk0p5 2.0G 198.1M 1.7G 10% /opt
| |
| /dev/mmcblk0p2 19.7G 1.2G 17.5G 6% /home
| |
| /dev/mmcblk0p1 2.0G 287.4M 1.7G 14% /home/user/MyDocs
| |
| | |
| = Setting profile from the terminal =
| |
| The reason for fcron in my case was that I wanted the ability to have it set a specific profile at a specific time. This is the script that does this:
| |
| cat /home/user/setprofile.sh
| |
| #!/bin/sh
| |
| profile=$1
| |
|
| |
| dbus-send \
| |
| --print-reply \
| |
| --type=method_call \
| |
| --dest=com.nokia.profiled \
| |
| /com/nokia/profiled com.nokia.profiled.set_profile \
| |
| string:$profile > /dev/null
| |
| echo "$(date +%Y-%m-%dT%H:%M) Set profile to $profile" > /tmp/setprofile.sh.log
| |
| | |
| = My remove list =
| |
| Stuff I removed by default
| |
| | |
| adobe-flashplayer
| |
| amazon-installer
| |
| ap-installer
| |
| as-config-applet-0
| |
| as-daemon-0
| |
| camel-as-provider-0
| |
| camelisync
| |
| ezitext-czech
| |
| ezitext-danish
| |
| ezitext-dutch
| |
| ezitext-english-gb
| |
| ezitext-english-us
| |
| ezitext-essential-plugins
| |
| ezitext-finnish
| |
| ezitext-french-ca
| |
| ezitext-french-fr
| |
| ezitext-german
| |
| ezitext-greek
| |
| ezitext-italian
| |
| ezitext-norwegian
| |
| ezitext-polish
| |
| ezitext-portuguese-pt
| |
| ezitext-russian
| |
| ezitext-spanish-es
| |
| ezitext-spanish-us
| |
| ezitext-swedish
| |
| facebook-installer
| |
| foreca-installer
| |
| google-search-widget
| |
| hildon-welcome
| |
| hildon-welcome-default-logo
| |
| libas-common-utils-0
| |
| libas-protocol-0
| |
| libas-storage-0
| |
| libezitext
| |
| libtinymail-1.0-0
| |
| libtinymail-camel-1.0-0
| |
| libtinymail-gnomevfs-1.0-0
| |
| libtinymail-maemo-1.0-0
| |
| libtinymailui-1.0-0
| |
| libtinymailui-gtk-1.0-0
| |
| modest
| |
| modest-as-plugin-0
| |
| modest-l10n-cscz
| |
| modest-l10n-dadk
| |
| modest-l10n-dede
| |
| modest-l10n-engb
| |
| modest-l10n-enus
| |
| modest-l10n-eses
| |
| modest-l10n-esmx
| |
| modest-l10n-fifi
| |
| modest-l10n-frca
| |
| modest-l10n-frfr
| |
| modest-l10n-itit
| |
| modest-l10n-mr0
| |
| modest-l10n-nlnl
| |
| modest-l10n-nono
| |
| modest-l10n-plpl
| |
| modest-l10n-ptpt
| |
| modest-l10n-ruru
| |
| modest-l10n-svse
| |
| modest-nokiamessaging-plugin-l10n-cscz
| |
| modest-nokiamessaging-plugin-l10n-dadk
| |
| modest-nokiamessaging-plugin-l10n-dede
| |
| modest-nokiamessaging-plugin-l10n-engb
| |
| modest-nokiamessaging-plugin-l10n-enus
| |
| modest-nokiamessaging-plugin-l10n-eses
| |
| modest-nokiamessaging-plugin-l10n-esmx
| |
| modest-nokiamessaging-plugin-l10n-fifi
| |
| modest-nokiamessaging-plugin-l10n-frca
| |
| modest-nokiamessaging-plugin-l10n-frfr
| |
| modest-nokiamessaging-plugin-l10n-itit
| |
| modest-nokiamessaging-plugin-l10n-mr0
| |
| modest-nokiamessaging-plugin-l10n-nlnl
| |
| modest-nokiamessaging-plugin-l10n-nono
| |
| modest-nokiamessaging-plugin-l10n-plpl
| |
| modest-nokiamessaging-plugin-l10n-ptpt
| |
| modest-nokiamessaging-plugin-l10n-ruru
| |
| modest-nokiamessaging-plugin-l10n-svse
| |
| modest-providers-data
| |
| nokiamessaging
| |
| osso-startup-wizard
| |
| osso-tutorial-l10n-cscz
| |
| osso-tutorial-l10n-dadk
| |
| osso-tutorial-l10n-dede
| |
| osso-tutorial-l10n-engb
| |
| osso-tutorial-l10n-enus
| |
| osso-tutorial-l10n-eses
| |
| osso-tutorial-l10n-esmx
| |
| osso-tutorial-l10n-fifi
| |
| osso-tutorial-l10n-frca
| |
| osso-tutorial-l10n-frfr
| |
| osso-tutorial-l10n-itit
| |
| osso-tutorial-l10n-mr0
| |
| osso-tutorial-l10n-nlnl
| |
| osso-tutorial-l10n-nono
| |
| osso-tutorial-l10n-plpl
| |
| osso-tutorial-l10n-ptpt
| |
| osso-tutorial-l10n-ruru
| |
| osso-tutorial-l10n-svse
| |
| ovi-promotion-widget
| |
| rtcom-accounts-plugin-gtalk
| |
| rtcom-accounts-plugin-nokiachat
| |
| sharing-rtcom
| |
| sharing-service-flickr
| |
| sharing-service-ovi
| |
| skyhost-bin
| |
| skyhost-vengine
| |
| status-area-applet-activesync-0
| |
| telepathy-spirit
| |
| tutorial-home-applet
| |
| dtg-installer
| |
| osso-accounts-plugin-skype
| |
| rtcom-abook-skype-plugin
| |
| hildon-desktop-application-shortcuts-mr0
| |
| | |
| You can check what any of these are with: apt-cache show name
| |
| | |
| | |
| = Bootmenu =
| |
| | |
| The following is my setup for /bootmenu.sh
| |
| | |
| It is still a work in progress and requires FBCON to be actually usable.
| |
| | |
| umask 022
| |
| PATH=/sbin:/bin:/usr/sbin:/usr/bin
| |
| MODULES="twl4030-vibra
| |
| dspbridge
| |
| iommu2
| |
| omap3-iommu
| |
| omap34xxcam-mod
| |
| omap_previewer_hack
| |
| board-rx51-camera
| |
| et8ek8
| |
| ad5820
| |
| adp1653
| |
| vs6555
| |
| uinput"
| |
|
| |
| if [ -L /var/run ]
| |
| then
| |
| rm -f /var/run
| |
| mkdir /var/run
| |
| fi
| |
|
| |
| mount -n -t proc proc /proc
| |
| mount -n -t sysfs sysfs /sys
| |
| mount -n -t tmpfs -o size=1M,noatime tmpfs /tmp
| |
| mount -n -t tmpfs -o size=256k,mode=0755,nosuid,noatime tmpfs /var/run
| |
|
| |
|
| |
| mount_devpts() {
| |
| TTYGRP=5
| |
| TTYMODE=620
| |
|
| |
| if [ ! -d /dev/pts ]
| |
| then
| |
| mkdir /dev/pts
| |
| fi
| |
|
| |
| if [ ! -c /dev/ptmx ]
| |
| then
| |
| mknod /dev/ptmx c 5 2
| |
| chmod 666 /dev/ptmx
| |
| fi
| |
|
| |
| mount -n -t devpts -ogid=$TTYGRP,mode=$TTYMODE devpts /dev/pts
| |
| rm -rf /var/tmp/*
| |
| }
| |
|
| |
| # I hate this hack. -- Md
| |
| make_extra_nodes () {
| |
| if [ "$(echo /lib/udev/devices/*)" != "/lib/udev/devices/*" ]; then
| |
| cp -a /lib/udev/devices/* /dev/
| |
| fi
| |
| grep '^[^#]' /etc/udev/links.conf | \
| |
| while read type name arg1; do
| |
| [ "$type" -a "$name" -a ! -e "/dev/$name" -a ! -L "/dev/$name" ] ||continue
| |
| case "$type" in
| |
| L)
| |
| ln -s $arg1 /dev/$name
| |
| ;;
| |
| D)
| |
| mkdir -p /dev/$name
| |
| ;;
| |
| M)
| |
| mknod /dev/$name $arg1 && chmod 600 /dev/$name
| |
| ;;
| |
| *)
| |
| echo "unparseable line ($type $name $arg1)"
| |
| ;;
| |
| esac
| |
| done
| |
| }
| |
|
| |
| load_extra_modules () {
| |
| echo -n "Loading extra modules..."
| |
| for i in $MODULES; do
| |
| echo "Loading $i"
| |
| modprobe -q $i ||:
| |
| done
| |
| echo "done."
| |
| }
| |
|
| |
| # Mount home and paging partitions if they are available
| |
| mount_mmc(){
| |
| device=$1
| |
| swap=$device"p1"
| |
| home=$device"p2"
| |
| test=$device"p3"
| |
|
| |
| if [ -e $test ]
| |
| then
| |
| echo "Mounting partition $swap for paging"
| |
| # swap disabled as a workaround for Xorg bug, per NB#111807.
| |
| swapon $swap
| |
| modprobe ext3
| |
| echo "Mounting partition $home as home directory"
| |
| mount -t ext3 -o noatime,commit=1,data=writeback $home /home
| |
| else
| |
| echo "No paging partition available as $swap"
| |
| echo "No home partition available as $home"
| |
| fi
| |
| }
| |
|
| |
| prepare_start_udev()
| |
| {
| |
| . /etc/udev/udev.conf
| |
|
| |
| if [ -z "$tmpfs_size" ]; then
| |
| tmpfs_size="1M"
| |
| fi
| |
|
| |
| ACTION=add
| |
| echo -n "Mounting a tmpfs over /dev..."
| |
| mount -n -o size=$tmpfs_size,mode=0755,noatime -t tmpfs none /dev
| |
| echo "done."
| |
| mkdir -p /dev/.udev/db /dev/.udev/queue
| |
| echo "" > /sys/kernel/uevent_helper
| |
| echo -n "Creating extra device nodes... "
| |
| make_extra_nodes
| |
| echo "done."
| |
| }
| |
|
| |
| start_udev()
| |
| {
| |
| prepare_start_udev
| |
| /sbin/udevd --daemon
| |
| }
| |
|
| |
| make_nodes()
| |
| {
| |
| echo -n "Creating device nodes... "
| |
|
| |
| if [ -x /sbin/udevtrigger ]; then
| |
| /sbin/udevtrigger
| |
| else
| |
| /sbin/udevadm trigger
| |
| #wait for all events
| |
| /sbin/udevadm settle
| |
| fi
| |
| echo "done."
| |
| }
| |
|
| |
| start_udev
| |
| make_nodes
| |
| load_extra_modules
| |
| export BOOTSTATE=LOCAL
| |
| touch /tmp/$BOOTSTATE
| |
| echo $BOOTSTATE > /tmp/STATE
| |
| source /etc/resource_limits.conf
| |
| echo "About to exec dsme in state '$BOOTSTATE'."
| |
| /sbin/dsme -p /usr/lib/dsme/libstartup.so &
| |
| e2fsck -vvv -f /dev/mmcblk0p1
| |
| e2fsck -vvv -f /dev/mmcblk0p2
| |
| e2fsck -vvv -f /dev/mmcblk0p5
| |
| e2fsck -vvv -f /dev/mmcblk0p6
| |
| mount /usr/local || echo 'Failed to mount /usr/local'
| |
| mount /opt || echo 'Failed to mount /opt'
| |
|
| |
| mount_devpts
| |
| mount -n -o size=64M,nosuid,nodev,noatime -t tmpfs tmpfs /dev/shm
| |
|
| |
| /sbin/hwclock -s || true
| |
|
| |
|
| |
| hostname -F /etc/hostname
| |
| ifup lo &
| |
| ifup usb0 &
| |
|
| |
| echo 0 > /proc/sys/net/ipv4/conf/default/accept_redirects
| |
| echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter
| |
| echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter
| |
| echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
| |
| echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
| |
| echo "49152 65535" > /proc/sys/net/ipv4/ip_local_port_range
| |
| echo 6000 > /sys/class/bluetooth/hci0/idle_timeout
| |
|
| |
| # adjust other kernel parameters to minimize memory consumption
| |
| # and optimize IO pressure
| |
| echo 8 > /proc/sys/kernel/pty/max
| |
| echo 1024 > /proc/sys/kernel/threads-max
| |
| echo 8192 > /proc/sys/fs/file-max
| |
| echo 100 > /proc/sys/vm/swappiness
| |
| echo 5 > /proc/sys/vm/page-cluster
| |
| echo 500 > /proc/sys/vm/dirty_expire_centisecs
| |
| echo 65536 > /proc/sys/net/core/rmem_default
| |
| echo 16384 > /proc/sys/net/core/wmem_default
| |
|
| |
| # Disable sysrq to avoid accidental console-carbage resets.
| |
| echo 0 > /proc/sys/kernel/sysrq
| |
|
| |
| echo "/what/me/worry" > /proc/sys/kernel/core_pattern
| |
| echo 1 > /proc/sys/kernel/panic
| |
| echo 1 > /proc/sys/kernel/panic_on_oops
| |
|
| |
| export BOOTSTATE=LOCAL
| |
| touch /tmp/$BOOTSTATE
| |
| echo $BOOTSTATE > /tmp/STATE
| |
| source /etc/resource_limits.conf
| |
| echo "About to exec dsme in state '$BOOTSTATE'."
| |
| /sbin/dsme -p /usr/lib/dsme/libstartup.so &
| |
| if [ ! -d /var/run/sshd ] ; then
| |
| mkdir /var/run/sshd
| |
| chmod 755 /var/run/sshd
| |
| /usr/sbin/sshd -D &
| |
| fi
| |
|
| |
| exec /bin/sh
| |