Site Tools


Hotfix release available: 2024-02-06a "Kaos". upgrade now! [55.1] (what's this?)
New release available: 2024-02-06 "Kaos". upgrade now! [55] (what's this?)
gentoo

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
gentoo [2011/07/28 00:56] – created gillesgentoo [2016/02/20 12:42] (current) – [Thumb vs. ARM] janus
Line 1: Line 1:
-Gentoo+====== Gentoo Installation ====== 
  
 If you consider yourself exclusively a computer user, this guide is not for you... If you consider yourself exclusively a computer user, this guide is not for you...
Line 5: Line 6:
 Because hacking the AC100 is still in progress, especially regarding kernels, partitioning and booting, this is not yet a step by step guide for installing Gentoo. Because hacking the AC100 is still in progress, especially regarding kernels, partitioning and booting, this is not yet a step by step guide for installing Gentoo.
  
-Portage overlay: emerge laymanlayman -a gentosh-ac100+Portage overlay:  
 +  emerge layman 
 +  layman -a gentosh-ac100 
 See http://gitorious.org/gentosh-ac100/pages/Home for details See http://gitorious.org/gentosh-ac100/pages/Home for details
  
-The overlay has ebuilds for +The overlay has ebuilds for managing the boot image evolution LED notification plugin possibly more after this list is not maintained anymore 
-managing the boot image +  emerge evolution-ac100-leds 
-evolution LED notification plugin +  emerge eselect-ac100boot
-possibly more after this list is not maintained anymore +
-emerge evolution-ac100-leds +
-emerge eselect-ac100boot+
  
-Kernel boot+===== Kernel boot =====
  
 The easiest solution is to compile a custom kernel and initrd. There have been improvements, but this particular description is now outdated. The rootfs is stored on an sd card. The author currently uses the original kernel image, in combination with a modified initrd: The easiest solution is to compile a custom kernel and initrd. There have been improvements, but this particular description is now outdated. The rootfs is stored on an sd card. The author currently uses the original kernel image, in combination with a modified initrd:
Line 26: Line 27:
  
  
-Repartitioning+===== Repartitioning =====
  
 The best solution involves repartitioning. This way, the rootfs can be big and there can be access to the boot image. For a script that automates the kernel install process, see http://gitorious.org/gentosh-ac100/pages/Home The best solution involves repartitioning. This way, the rootfs can be big and there can be access to the boot image. For a script that automates the kernel install process, see http://gitorious.org/gentosh-ac100/pages/Home
  
  
-Root filesystem+===== Root filesystem =====
  
-Untar a stage3 tarball and portage snapshot from a gentoo mirror +Untar a stage3 tarball and portage snapshot from a gentoo mirror from the adb shell: 
-From the adb shell: + 
-mount -t auto /dev/mmcblk1p1 /storage +  mount -t auto /dev/mmcblk1p1 /storage 
-mkdir /storage/data +  mkdir /storage/data 
-cp /data/RT2870STA.dat /storage/data/copy the wifi firmware +  # copy the wifi firmware 
-cp /system/lib/hw/rtnet*.ko /storage/root/ # if you want to insert the network module from inside the chroot +  cp /data/RT2870STA.dat /storage/data/ 
-mount -o bind the /dev /storage/dev +  if you want to insert the network module from inside the chroot 
-chroot /storage /usr/bin/env -i TERM=xterm /bin/bash -l+  cp /system/lib/hw/rtnet*.ko /storage/root/ 
 +  mount -o bind the /dev /storage/dev 
 +  chroot /storage /usr/bin/env -i TERM=xterm /bin/bash -l
  
 In the chroot: In the chroot:
-mount the devpts, proc and sysfs filesystem manually+  * mount the devpts, proc and sysfs filesystem manually
  
  
-Using adb to upload packages+===== Using adb to upload packages =====
  
-As the device does not have access to the net, you wil need to use adb to copy the files into /storage/usr/portage/distfiles/ +As the device does not have access to the net, you wil need to use adb to copy the files into  
-ac100# emerge --pretend --fetchonly mypackage | sed -r '/^(ht|f)tp:\/\//{s/ +/\n/g;p};d' >/emerge-urls +  * /storage/usr/portage/distfiles/ 
-host$ mkdir downloads + 
-host$ adb pull /storage/emerge-urls . + 
-host$ xargs wget -nc -nd -P downloads <emerge-urls +  ac100# emerge --pretend --fetchonly mypackage 
-host$ adb push downloads/* /storage/usr/portage/distfiles/ +  | sed -r '/^(ht|f)tp:\/\//{s/ +/\n/g;p};d'  \ 
-ac100# emerge mypackage+  >/emerge-urls 
 +  host$ mkdir downloads 
 +  host$ adb pull /storage/emerge-urls . 
 +  host$ xargs wget -nc -nd -P downloads <emerge-urls 
 +  host$ adb push downloads/* /storage/usr/portage/distfiles/ 
 +  ac100# emerge mypackage
  
 You might want to use -va for big builds, to check if everything was downloaded properly. (Download size should be 0) You might want to use -va for big builds, to check if everything was downloaded properly. (Download size should be 0)
  
  
-Workarounds+===== Workarounds =====
  
-Thumb vs. ARM+==== Thumb vs. ARM ====
  
 The Thumb instruction set is somewhat more limited, but more memory-efficient than the ARM set. Some packages do not compile when the Thumb instruction set is used. GLib may fail to build because of inline asm that is not supported in Thumb. GConf may also fail. The Thumb instruction set is somewhat more limited, but more memory-efficient than the ARM set. Some packages do not compile when the Thumb instruction set is used. GLib may fail to build because of inline asm that is not supported in Thumb. GConf may also fail.
  
-Use CFLAGS="-Os -pipe -mcpu=cortex-a9 -mfpu=vfpv3-d16 -mthumb-interwork -mfloat-abi=softfp" emerge -1 glib gconf to emerge these packages (leave -mthumb out from CFLAGS)+  Use CFLAGS="-Os -pipe -mcpu=cortex-a9 -mfpu=vfpv3-d16 -mthumb-interwork -mfloat-abi=softfp" 
 +  emerge -1 glib gconf to emerge these packages (leave -mthumb out from CFLAGS)
  
-Wifi improperly detected+==== Wifi improperly detected ====
  
 HAL did not properly detect that ra0 is a wifi interface. Insert the attached file 10-ralink.fdi into /etc/hal/fdi/information/10-hacks/ to change ra0 into a wifi interface. HAL did not properly detect that ra0 is a wifi interface. Insert the attached file 10-ralink.fdi into /etc/hal/fdi/information/10-hacks/ to change ra0 into a wifi interface.
 The ralink driver in wpa supplicant did not seem to work properly. wext is known to work. The ralink driver in wpa supplicant did not seem to work properly. wext is known to work.
  
-Permission problems+==== Permission problems ==== 
 The android kernel provides security for apps by granting 'permissions'. Apps run with different user ids and their groups define their permissions. Your user will need to be in (numeric) groups: The android kernel provides security for apps by granting 'permissions'. Apps run with different user ids and their groups define their permissions. Your user will need to be in (numeric) groups:
 1001 .. 1010 (inclusive), 3001 .. 3002 (inclusive) 1001 .. 1010 (inclusive), 3001 .. 3002 (inclusive)
Line 78: Line 88:
 This will enable network access and possibly more. Sound still requires root (TODO). This will enable network access and possibly more. Sound still requires root (TODO).
  
-Screen blanking+==== Screen blanking ==== 
 The backlight can be turned off when gnome-screensaver is active. The backlight can be turned off when gnome-screensaver is active.
 Make sure you have SSH or ADB shell access in case of an error. Make sure you have SSH or ADB shell access in case of an error.
  
-Copy attached file gnome-screensaver-dialog.wrapper to /usr/libexec +  * Copy attached file gnome-screensaver-dialog.wrapper to /usr/libexec 
-Copy attached file blankscreend to /usr/local/bin +  Copy attached file blankscreend to /usr/local/bin 
-Install ec-test program in /usr/local/bin +  Install ec-test program in /usr/local/bin 
-chmod 755 /usr/libexec/gnome-screensaver-dialog.wrapper /usr/local/bin/blankscreend + 
-mv /usr/libexec/gnome-screensaver-dialog /usr/libexec/gnome-screensaver-dialog.real +  chmod 755 /usr/libexec/gnome-screensaver-dialog.wrapper /usr/local/bin/blankscreend 
-ln -s gnome-screensaver-dialog.wrapper /usr/libexec/gnome-screensaver-dialog+  mv /usr/libexec/gnome-screensaver-dialog /usr/libexec/gnome-screensaver-dialog.real 
 +  ln -s gnome-screensaver-dialog.wrapper /usr/libexec/gnome-screensaver-dialog
  
 Add blankscreend to your gnome startup. Verify that it starts when you log in. Add blankscreend to your gnome startup. Verify that it starts when you log in.
  
-Battery status+==== Battery status ==== 
 Make sure you start nvrm_daemon before starting hal Make sure you start nvrm_daemon before starting hal
  
gentoo.1311807380.txt.gz · Last modified: 2011/07/28 00:56 by gilles