[Atrix 4G Android Development] kholk:
Welcome to the Eternity Project's Gentoo on Motorola Olympus Thread!

What we have today?

That's Gentoo! Fully compiled on Motorola Olympus board, no cross-compilations, with Thumb-2 code interworking.

All optimizations for Tegra 2, AP20H, are enabled by default in make.conf and all binaries have been compiled with 'em.

Why in ALPHA state?!?

As someone of you know, I've had GenTop. Yeah, that's true. And you'll be thinking that I was yelling, but anyway that doesn't matter: I've lost the files, so I'm restarting the development from the zero point.

So, now?

My previous GenTop wasn't really optimized. No interworking. Code was >5GB and performance was bad (really, really better than Motorola Webtop, but bad for my standards).

Now we've got a recompiled one, with code optimizations that doesn't only include Thumb Interworking, but even something else that I'll write soon (when the GenTop will be in BETA state, 'cause changes will happen).

Packages

On it, there's the AWN (Avant Window Navigator) on Gnome: the same combination that Moto is using. I think it's really good. Not really lightweight, but well, in/after BETA state I'll deploy multiple flavours of EternityProject GenTop with either LXDE, KDE, full GNOME or everything else mass-useful you'll ask.

As for anything else, the v0.0.1 contains only the base Xserver, with Tegra drivers and GNOME/AWN as WM. Support for printers, mouse, keyboard and other USB devices is implemented and it should "blindly" work 'cause these things are done by the kernel.

Testing/Development

The testing and the development are being done on an Engineering Olympus, with EternityProject Kernel. Actually on FroYo (OLYFR).

Does/doesn't work

Don't blame at me if something doesn't work correctly: that's an ALPHA release.

I'm releasing it 'cause I see some movement on compiling Gentoo for ATRIX and for being possible to use EternityProject GenTop as a proof of concept, or to recall all the developers here to work together on a huge single project for giving to the community soon a fully working and well optimized, blazing fast Gentoo system.

Concept script:

This should be used for HOTSWAPPING the OSH partition with the GenTop partition that on my SDCard is on the partition 1. This will allow X to be still running, but you're actually swapping to the GenTop's partition for executing all you need to execute, so you'll be running GenTop's programs on Ubuntu's XServer.

This is supposed to be ran on the Terminal Emulator on Mobile View

while Motorola WebTop is up and running

.

#!/bin/sh
umount -l /osh/proc
umount -l /osh/dev
umount -l /osh
mount -t auto /dev/block/mmcblk1p1 /osh # <- EDIT ME!
mount -o bind /proc /osh/proc
mount -o bind /dev /osh/dev

Concept script 2:

echo ('####################################################')
echo ('## Eternity Project GenTop - Unleash your Gentoo! ##')
echo ('####################################################')
echo ('## DISCLAIMER: I am not responsible if the world ##')
echo ('## explodes or you're gonna create a nuclear bomb ##')
echo ('## with GenTop or with all my work. ##')
echo ('## I'm also not responsible for war, world hunger ##')
echo ('## and everything else.... :°) ##')
echo ('## ##')
echo ('## Using that implies you've got some knowledge ##')
echo ('## on what you're doing. ##')
echo ('## ##')
echo ('## Script inspired by BackTop Loader. ##')
echo ('## ##')
echo ('## The EternityProject Developer, ##')
echo ('## -kholk ##')
echo ('####################################################')

# Disabling xhost security policy
xhost +

# Secure mount of GenTop partition
sudo umount -l /dev/block/mmcblk1p1
sudo mount -o remount,rw rootfs /
mkdir /mnt/gentoo
sudo mount /dev/block/mmcblk1p1 /mnt/gentoo

# Copying DBUS Session parameters
sudo cp -R /var/run/dbus/* /mnt/gentoo/var/run/dbus/

# Mounting necessary partitions and going in GenTop
sudo mount -o bind /dev /mnt/gentoo/dev
# TRICK: Nautilus is needed
nautilus &
echo "Waiting for nautilus to start..."
sleep 5
sudo chroot /mnt/gentoo /bin/bash
mount -t sysfs sysfs /sys
mount -t proc proc /proc

# Setting Environment variables
export DISPLAY=:0
export ORBIT_SOCKETDIR="/tmp/orbit-root"
echo "Sourcing dbus environment variable..."
source /dbus_attach.sh
echo "Sourced. Thanks nautilus. Now DIE."
killall nautilus

# Set up Networking
echo "Setting up networking"
sysctl -w net.ipv4.ip_forward=1
echo "Setting /etc/resolv.conf to OpenDNS"
echo "nameserver 208.67.222.222" > /etc/resolv.conf
echo "nameserver 208.27.220.220" >> /etc/resolv.conf
echo "127.0.0.1 localhost" > /etc/hosts
echo " "

# Starting GenTop GNOME
echo "Starting GenTop...."
sudo -u adas -i gnome-session

Also, I think this conversation is interesting and should clear some users' doubts:

<oister|work> kholk: how does webtop work... does it run in a virtualized environment?
<+kholk> that needs to be explained
<+kholk> so.
<+kholk> referring to Motorola WebTop.
<+kholk> WebTop starts an instance of XServer on the system
<+kholk> it's loading the Tegra HW3D driver as Xorg driver
<+kholk> the driver is spawning the XServer on the device's HDMI output and when the device is connected on HDMI, a Motorola daemon/program loads the window manager
<+kholk> (GNOME base, Avant Window Navigator)
<+kholk> the XServer is loaded at Android bootup
<+kholk> that's how WebTop works.
<+kholk> GenTop will work exactly as WebTop is, but for now it has a different behavior
<oister|work> so its basically a separate Xserver and X desktop
<+kholk> as we need to know exactly what Moto's daemon/program is doing, we are unable to start the WM on GenTop
<+kholk> or, well, we are, but we aren't able to take exclusive access on the HDMI
<+kholk> because the Moto daemon works with motoscreensaver and Motorola Entertainment Center other than WebTop
<+kholk> oister, not basically, it is.
<+kholk> for now GenTop's Window Manager (GNOME) works on top of the Motorola WebTop's XServer
<+kholk> so, original OSH is still needed, but it gets unloaded when GenTop will be loaded.
<+kholk> the next step is knowing what the Moto daemon/program is doing and replacing completely WebTop with GenTop.
* MossyMobile (~MossyMobi@184.151.63.221) has joined #moto-atrix
<+kholk> as for now, the method of environment replacing should work like GenTop is the only system started
<+kholk> in any case, unless nVidia releases a new good driver, GenTop has got on it the Motorola WebTop's XServer, so there isn't so much difference between GenTop only and environment hotswapping
<oister|work> interesting
<+kholk> we're in any case for now locked on the Motorola WebTop's XServer
<oister|work> so all the rest of the env is the same
<+kholk> because the nVidia Tegra 2 v12Alpha1 driver doesn't work
<oister|work> same kernel, binaries, etc
<+kholk> exactly
<+kholk> nope wait
<+kholk> :°D
<+kholk> not the binaries.
<+kholk> it's all replaced.
<+kholk> the environment won't know anymore where's the X binary
<+kholk> it's executed and it's only into device's RAM
<+kholk> all the rest, required vital binaries are "replaced" (temporairily)
<+kholk> with GenTop's ones.
<+kholk> same for libraries.
<+kholk> once you reboot your device, you'll return to the original Motorola WebTop.
<+kholk> for running GenTop you'll have to start the GenTop script everytime.
<+kholk> at least for now.
<+kholk> in the future I plan to replace Moto WebTop completely.
<+kholk> the only two processes that will be still running from Moto WebTop are:
<+kholk> 1. XServer
<+kholk> 2. DBus daemon
<+kholk> 3. Orbit daemon
<+kholk> (the required daemons for X)
<+kholk> everything else is stopped
<+kholk> :)
<+kholk> I would like to know what's your thoughts on this and on the whole GenTop
<+kholk> what are*
<+kholk> I care about it
<+kholk> :)
<+kholk> oister|work, I think this conversation is useful for people on XDA's GenTop thread, can I post it on there?
<oister|work> sure
<+kholk> thanks :)
<oister|work> i'd like to try it out... im on cm right now so not sure how i'd load it
<+kholk> GenTop requires WebTop to be running, for now
<+kholk> so you cannot load it if WebTop doesn't work
<+kholk> I don't know if it already works on CM7
<+kholk> if it doesn't, you can't :P
<oister|work> yeah, it doesn't

P.S.: Thanks oister for authorizing me to publish this conversation!

Help I need:

GenTop runs. It works. The previous concept script is given because there's a problem with the coldstarting of GenTop:

The XServer can be started and it will pass the loading of tegra_drv.so for Tegra 3DHW acceleration, so we're using the GPU and the XServer's output will be redirected over HDMI, like it is supposed to be. Now the problem is that Motorola Webtop uses some particular script (compatible with GenTop) that shows the glowing Motorola logo and then spawns the WindowManager on the Xserver on HDMI: GenTop doesn't and I don't know how to make it to work.

My previous GenTop was running on HDMI hack and on FroYo that was different so I didn't need it. It was also really dirty and I was starting it by hand.

So, if anyone wants to help, this is the only remaining problem that separates us from having a fully functional GenTop.

Downloads

EternityProject GenTop - tarball archive - PRE-BETA V0.0.6: Download

Oldies:

EternityProject GenTop - bzipped tarball archive - ALPHA PREVIEW v0.0.1: Download

P.S.: Sorry if the tarball extracts an useless directory tree.... didn't notice prior being at 70% of upload! Anyway, that shouldn't give you any problem..... :)

Developers working on EternityProject GenTop:

- Only me at the moment :P

I want to participate to the development!

Only for skilled developers... PM me and we can work together.

The Eternity Project Developer

-kholk