ReferencePlatforms/mobile-imaging-linux: Difference between revisions
| (10 intermediate revisions by 2 users not shown) | |||
| Line 5: | Line 5: | ||
The following assumes a user account called 'maemo' | The following assumes a user account called 'maemo' | ||
At present, we think this computer can only be used for flashing N810s. We may or may not have to create a Fedora 12 version of this | |||
==Setup OS== | |||
su - | |||
apt-get update | |||
apt-get upgrade | |||
apt-get install sudo build-essential python2.5 python2.5-dev linux-headers-`uname -r` openssh-server parted openssl git-core uuid-dev | |||
apt-get build-dep mtd-utils | |||
visudo | |||
#add the line | |||
%sudo ALL=(ALL) NOPASSWD: ALL | |||
gpasswd -a maemo sudo | |||
To get the built in ethernet to work, I downloaded the newest e1000e driver | To get the built in ethernet to work, I downloaded the newest e1000e driver | ||
| Line 13: | Line 28: | ||
su -c 'make install' | su -c 'make install' | ||
reboot | reboot | ||
The version of mercurial in debian 5 is ancient. We need to install it from source | |||
wget http://mercurial.selenic.com/release/mercurial-1.5.2.tar.gz | |||
tar zxf mercurial-1.5.2.tar.gz | |||
cd mercurial-1.5.2 | |||
python setup.py build | |||
sudo python setup.py install | |||
I would prefer the onboard chip to be eth0 and forget the usb ethernet adapter. I opened /etc/udev/rules.d/70-persistent-net.rules and deleted the line for the USB device and changed the PCI device to be NAME="eth1" | I would prefer the onboard chip to be eth0 and forget the usb ethernet adapter. I opened /etc/udev/rules.d/70-persistent-net.rules and deleted the line for the USB device and changed the PCI device to be NAME="eth1" | ||
| Line 24: | Line 46: | ||
iface eth0 inet dhcp | iface eth0 inet dhcp | ||
Disable console logging: | |||
* create /etc/init.d/disable-console-errors.sh | |||
#! /bin/sh | |||
### BEGIN INIT INFO | |||
# Provides: sudo | |||
# Required-Start: $local_fs $remote_fs | |||
# Required-Stop: | |||
# Default-Start: S | |||
# Default-Stop: | |||
### END INIT INFO | |||
case "$1" in | |||
start) | |||
echo '2^V^I2^V^I1^V^I2' > /proc/sys/kernel/printk | |||
;; | |||
stop|reload|restart|force-reload) | |||
;; | |||
*) | |||
echo "Usage: $N {start|stop|restart|force-reload}" >&2 | |||
exit 1 | |||
;; | |||
esac | |||
exit 0 | |||
* ^V^I is a tab | |||
chmod a+x /etc/init.d/disable-console-errors.sh | |||
update-rc.d disable-console-errors.sh defaults 99 | |||
/etc/init.d/disable-console-errors.sh start | |||
==Setup Mozilla Environment== | ==Setup Mozilla Environment== | ||
| Line 63: | Line 109: | ||
Newer kernels do not work properly when flashing the N810 firmware (flasher-3.0*). It is very important that you do not upgrade the kernel on the imaging machine. | Newer kernels do not work properly when flashing the N810 firmware (flasher-3.0*). It is very important that you do not upgrade the kernel on the imaging machine. | ||
If the machine complains about | |||
== | request_module: runaway loop modprobe binfmt-464c | ||
Then there is a Maemo SD card inserted into the computer. Remove all sd cards and readers and reboot | |||
==Setup mtd utils== | |||
git clone git://git.infradead.org/mtd-utils.git | |||
cd mtd-utils/ubi-tools | |||
make | |||
cp ubinize ~/n900-imaging | |||
cd ../mkfs.ubifs | |||
make | |||
cp mkfs.ubifs ~/n900-imaging | |||
== | ==Set up Fremantle only Scratchbox== | ||
Download the scratchbox and sdk setup scripts: | |||
http://repository.maemo.org/stable/5.0/maemo-scratchbox-install_5.0.sh | |||
http://repository.maemo.org/stable/5.0/maemo-sdk-install_5.0.sh | |||
Then run: | |||
and | su - # become root | ||
mkdir /scratchbox | |||
SBDIR=/scratchbox | |||
echo 0 | sudo tee /proc/sys/vm/vdso_enabled #MUST BE RUN on each boot or | |||
# be made permanent by echoing 'vm.vdso_enabled = 0' | |||
# to /etc/sysctl.conf and running sysctl -p as root | |||
echo 0 | sudo tee /selinux/enforce | |||
sh /home/maemo/scratchbox/maemo-scratchbox-install_5.0.sh -s $SBDIR -u maemo | |||
sudo gpasswd -a $USER sbox | |||
maemo-sdk-install_5.0.sh -s $SBDIR | |||
#Accept License | |||
#Select Option 4, Runtime+Dev+Dbg | |||
#Select Continue | |||
$SBDIR/login | |||
sb-conf select FREMANTLE_ARMEL | |||
exit | |||
sudo ${SBDIR}/sbin/sbox_ctl start | |||
#SB can be launched by | |||
${SBDIR}/login | |||
Install required packages | |||
fakeroot apt-get install python python-dev autoconf2.13 libidl-dev libpcre3-dev | |||
== | =fedora 12 image creator for n900s= | ||
Install fedora 12 then run: | |||
su -c 'yum groupinstall "Development Tools"' | |||
su -c 'yum install uuid-devel lzo-devel mercurial' | |||
hg clone http://hg.mozilla.org/build/tools | hg clone http://hg.mozilla.org/build/tools | ||
ln -s tools/buildfarm/mobile/n900-imaging | ln -s tools/buildfarm/mobile/n900-imaging | ||
git clone git://git.infradead.org/mtd-utils.git | |||
su - | |||
cd | cd /home/jhford/ | ||
cd mtd-utils/ubi-tools | |||
make | |||
make | cp ubinize ~/n900-imaging | ||
cp ~/ | cd ../mkfs.ubifs | ||
make | |||
cp mkfs.ubifs ~/n900-imaging | |||
Latest revision as of 02:41, 2 June 2010
Install OS
I installed Debian 5 stable. The ethernet driver in debian package does not work for the intel gb card. I used a usb nic that is compatible out of the box.
I ran through the default options, setting timezone as appropriate. I selected Guided Partitioning -> Use Entire Disk -> All File in One Partition. When asked which software I wished to install, I selected only 'Standard system utilites'
The following assumes a user account called 'maemo'
At present, we think this computer can only be used for flashing N810s. We may or may not have to create a Fedora 12 version of this
Setup OS
su - apt-get update apt-get upgrade apt-get install sudo build-essential python2.5 python2.5-dev linux-headers-`uname -r` openssh-server parted openssl git-core uuid-dev apt-get build-dep mtd-utils visudo #add the line %sudo ALL=(ALL) NOPASSWD: ALL gpasswd -a maemo sudo
To get the built in ethernet to work, I downloaded the newest e1000e driver
wget http://downloadmirror.intel.com/15817/eng/e1000e-1.1.19.tar.gz tar zxf e1000e-1.1.19.tar.gz cd e1000e-1.1.19/src make su -c 'make install' reboot
The version of mercurial in debian 5 is ancient. We need to install it from source
wget http://mercurial.selenic.com/release/mercurial-1.5.2.tar.gz tar zxf mercurial-1.5.2.tar.gz cd mercurial-1.5.2 python setup.py build sudo python setup.py install
I would prefer the onboard chip to be eth0 and forget the usb ethernet adapter. I opened /etc/udev/rules.d/70-persistent-net.rules and deleted the line for the USB device and changed the PCI device to be NAME="eth1"
Configure the network card (reference). I used
cat >> /etc/network/interfaces << E auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp
Disable console logging:
- create /etc/init.d/disable-console-errors.sh
#! /bin/sh
### BEGIN INIT INFO
# Provides: sudo
# Required-Start: $local_fs $remote_fs
# Required-Stop:
# Default-Start: S
# Default-Stop:
### END INIT INFO
case "$1" in
start)
echo '2^V^I2^V^I1^V^I2' > /proc/sys/kernel/printk
;;
stop|reload|restart|force-reload)
;;
*)
echo "Usage: $N {start|stop|restart|force-reload}" >&2
exit 1
;;
esac
exit 0
- ^V^I is a tab
chmod a+x /etc/init.d/disable-console-errors.sh update-rc.d disable-console-errors.sh defaults 99 /etc/init.d/disable-console-errors.sh start
Setup Mozilla Environment
hg clone http://hg.mozilla.org/build/tools ln -s tools/buildfarm/mobile/n810-imaging ln -s tools/buildfarm/mobile/n900-imaging cd n810-imaging mkdir empty echo 'USE AN SD CARD' > empty/INFO mkfs.jffs2 -r empty -o empty.jffs2 -e 128 rm -rf empty wget http://samba.anu.edu.au/ftp/rsync/src/rsync-2.6.9.tar.gz tar zxf rsync-2.6.9.tar.gz cd rsync-2.6.9 ./configure --disable-debug --prefix=/home/maemo make -j4 make install sudo cp ~/bin/rsync /usr/bin/rsync2 #obtain appropriate nokia flasher and RX-44 stock image #you only need one of the flasher* programs, the one for your system. #the static one is useful if you have libraries missing openssl sha1 RX-44_DIABLO_5.2008.43-7_PR_COMBINED_MR0_ARM.bin flasher-3.0* flasher-2.0.macosx #SHA1(RX-44_DIABLO_5.2008.43-7_PR_COMBINED_MR0_ARM.bin)= 5464ae20a17afdbd59633f3d36a2e63281fcd106 #SHA1(flasher-3.0)= e4e3b0b791dca7bc91c710fc3702f4d72f904e7a #SHA1(flasher-3.0-static)= d28b5597649a3ae40579d50f651c5d73afee19f9 #SHA1(flasher-3.0.amd64)= c56f71b69acd8ed0c19757451e14ba4a59645c5f #SHA1(flasher-2.0.macosx)= 484bb141dad18ea68f7618c4f07f549311caf9b5
IMPORTANT Newer kernels do not work properly when flashing the N810 firmware (flasher-3.0*). It is very important that you do not upgrade the kernel on the imaging machine.
If the machine complains about
request_module: runaway loop modprobe binfmt-464c
Then there is a Maemo SD card inserted into the computer. Remove all sd cards and readers and reboot
Setup mtd utils
git clone git://git.infradead.org/mtd-utils.git cd mtd-utils/ubi-tools make cp ubinize ~/n900-imaging cd ../mkfs.ubifs make cp mkfs.ubifs ~/n900-imaging
Set up Fremantle only Scratchbox
Download the scratchbox and sdk setup scripts:
http://repository.maemo.org/stable/5.0/maemo-scratchbox-install_5.0.sh http://repository.maemo.org/stable/5.0/maemo-sdk-install_5.0.sh
Then run:
su - # become root
mkdir /scratchbox
SBDIR=/scratchbox
echo 0 | sudo tee /proc/sys/vm/vdso_enabled #MUST BE RUN on each boot or
# be made permanent by echoing 'vm.vdso_enabled = 0'
# to /etc/sysctl.conf and running sysctl -p as root
echo 0 | sudo tee /selinux/enforce
sh /home/maemo/scratchbox/maemo-scratchbox-install_5.0.sh -s $SBDIR -u maemo
sudo gpasswd -a $USER sbox
maemo-sdk-install_5.0.sh -s $SBDIR
#Accept License
#Select Option 4, Runtime+Dev+Dbg
#Select Continue
$SBDIR/login
sb-conf select FREMANTLE_ARMEL
exit
sudo ${SBDIR}/sbin/sbox_ctl start
#SB can be launched by
${SBDIR}/login
Install required packages
fakeroot apt-get install python python-dev autoconf2.13 libidl-dev libpcre3-dev
fedora 12 image creator for n900s
Install fedora 12 then run:
su -c 'yum groupinstall "Development Tools"' su -c 'yum install uuid-devel lzo-devel mercurial' hg clone http://hg.mozilla.org/build/tools ln -s tools/buildfarm/mobile/n900-imaging git clone git://git.infradead.org/mtd-utils.git su - cd /home/jhford/ cd mtd-utils/ubi-tools make cp ubinize ~/n900-imaging cd ../mkfs.ubifs make cp mkfs.ubifs ~/n900-imaging