Differences

This shows you the differences between the selected revision and the current version of the page.

howto:chroot_gentoo 2007/03/11 18:43 howto:chroot_gentoo 2017/09/06 17:55 current
Line 3: Line 3:
===== Files needed ===== ===== Files needed =====
-  * [[http://download.dsmg600.info/bzip2-1.0.3.tar.bz2|bzip2]] +  * [[http://dns323.kood.org/downloads/bzip2-1.0.3.tar.bz2|bzip2]] 
-  * [[http://download.dsmg600.info/tar-1.15.92.tar.bz2|tar]] +  * [[http://dns323.kood.org/downloads/tar-1.15.92.tar.bz2|tar]] 
-  * [[http://download.dsmg600.info/chroot-5.97.tar.bz2|chroot]] +  * [[http://dns323.kood.org/downloads/chroot-5.97.tar.bz2|chroot]] 
-  * [[ftp://ftp.linux.ee/pub/gentoo/distfiles/experimental/ppc/embedded/stages/stage3-ppc-uclibc-2005.0.tar.bz2|stage3-ppc-uclibc-2005.0]] (recommended for gentoo chroot) or [[ftp://ftp.linux.ee/pub/gentoo/distfiles/experimental/ppc/embedded/stages/stage3-ppc-uclibc-2006.1.tar.bz2|stage3-ppc-uclibc-2006.1]] (recommended for gentoo boot). +  * [[http://ftp.eenet.ee/gentoo/experimental/ppc/embedded/stages/stage3-ppc-uclibc-2005.0.tar.bz2|stage3-ppc-uclibc-2005.0]] (recommended for gentoo chroot) or [[http://ftp.eenet.ee/gentoo/experimental/ppc/embedded/stages/stage3-ppc-uclibc-2006.1.tar.bz2|stage3-ppc-uclibc-2006.1]] (recommended for gentoo boot). Don't use 2008.0 stage because it is compiled against 2.6 kernel headers
-  * [[ftp://ftp.linux.ee/pub/gentoo/distfiles/snapshots/portage-latest.tar.bz2|portage]]+  * [[http://ftp.eenet.ee/gentoo/snapshots/portage-latest.tar.bz2|portage tree]]
===== Installing steps ===== ===== Installing steps =====
Line 14: Line 14:
  - ''mkdir /mnt/HD_a2/gentoo''   - ''mkdir /mnt/HD_a2/gentoo''
  - ''cd /mnt/HD_a2/gentoo''   - ''cd /mnt/HD_a2/gentoo''
-  - ''/mnt/HD_a2/bzcat stage3-ppc-uclibc-2005.0.tar.bz2 | /mnt/HD_a2/tar -xvpf -''+  - ''/mnt/HD_a2/bzcat /mnt/HD_a2/stage3-ppc-uclibc-2006.1.tar.bz2 | /mnt/HD_a2/tar -xvpf -''
  - ''cd /mnt/HD_a2/gentoo/usr''   - ''cd /mnt/HD_a2/gentoo/usr''
-  - ''/mnt/HD_a2/bzcat portage-latest.tar.bz2 | /mnt/HD_a2/tar -xvf -''+  - ''/mnt/HD_a2/bzcat /mnt/HD_a2/portage-latest.tar.bz2 | /mnt/HD_a2/tar -xvf -''
  - ''mount -o bind /dev /mnt/HD_a2/gentoo/dev''   - ''mount -o bind /dev /mnt/HD_a2/gentoo/dev''
  - ''mount -t proc none /mnt/HD_a2/gentoo/proc''   - ''mount -t proc none /mnt/HD_a2/gentoo/proc''
  - ''cp /etc/resolv.conf /mnt/HD_a2/gentoo/etc/''   - ''cp /etc/resolv.conf /mnt/HD_a2/gentoo/etc/''
  - ''/mnt/HD_a2/chroot /mnt/HD_a2/gentoo /bin/bash''   - ''/mnt/HD_a2/chroot /mnt/HD_a2/gentoo /bin/bash''
 +  - Update [[howto:chroot_gentoo#etc_make.conf|/etc/make.conf]]
 +  - Update [[howto:chroot_gentoo#etc_conf.d_net|/etc/conf.d/net]]
  - ''env-update && source /etc/profile''   - ''env-update && source /etc/profile''
  - ''rc-update add net.eth0 default''   - ''rc-update add net.eth0 default''
  - ''rc-update add dropbear default''   - ''rc-update add dropbear default''
  - ''passwd root''   - ''passwd root''
-**If you did choose to use 2005.0 stage then you must update e2fsprogs!** +  - **If you did choose to use 2005.0 stage then you must update e2fsprogs!** ''emerge e2fsprogs'' 
-  - ''emerge e2fsprogs''+  - **If you are going to hddboot, always make sure that devfsd is installed!** ''emerge -pv devfsd'' 
 +  - **It is also recommended that you update sys-apps/baselayout package. Its needed by net configuration to change mac address.** However, by default, baselayout pulls in and builds module-init-tools with support only for 2.6 kernels. So, to allow the updated module-init-tools to be built with support for both 2.4 and 2.6 kernels: ''echo %%"sys-apps/module-init-tools      old-linux" >> %%/etc/portage/package.use'' 
 +  - ''emerge sys-apps/baselayout'' 
==== /etc/make.conf ==== ==== /etc/make.conf ====
<code> <code>
Line 34: Line 39:
LDFLAGS="-Wl,-z,relro" LDFLAGS="-Wl,-z,relro"
USE="-*" USE="-*"
-RSYNC_EXCLUDEFROM="/etc/portage/rsync_excludes"+PORTAGE_RSYNC_EXTRA_OPTS="—exclude-from=/etc/portage/rsync_excludes"
SYNC="rsync://rsync1.ee.gentoo.org/gentoo-portage" SYNC="rsync://rsync1.ee.gentoo.org/gentoo-portage"
GENTOO_MIRRORS="http://ftp.linux.ee/pub/gentoo/distfiles ftp://ftp.linux.ee/pub/gentoo/distfiles" GENTOO_MIRRORS="http://ftp.linux.ee/pub/gentoo/distfiles ftp://ftp.linux.ee/pub/gentoo/distfiles"
Line 51: Line 56:
net is needed only if you are going to boot gentoo using loader.o or flashed custom kernel. net is needed only if you are going to boot gentoo using loader.o or flashed custom kernel.
<code> <code>
-iface_eth0=( "192.168.1.2 broadcast 192.168.1.255 netmask 255.255.255.0" ) +config_eth0=( "yourNASip netmask 255.255.255.0 broadcast yourBroadcastAddress" ) 
-routes_eth0=( "default via 192.168.1.1" ) +routes_eth0=( "default gw yourGatewayAddress" ) 
-dns_servers_eth0=( "192.168.1.1" )+mac_eth0="yourMACaddress" 
 +dns_servers_eth0=( "yourDNSserverAddress" ) 
 +</code> 
 + 
 +Example : 
 +<code> 
 +config_eth0=( "192.168.0.20 netmask 255.255.255.0 broadcast 192.168.0.255" ) 
 +routes_eth0=( "default gw 192.168.0.254" ) 
 +mac_eth0="00:15:E9:6D:22:11" 
 +dns_servers_eth0=( "212.20.30.40" )
</code> </code>
==== /etc/conf.d/wireless ==== ==== /etc/conf.d/wireless ====
wireless is needed only if you are going to boot gentoo using loader.o or flashed custom kernel.\\ wireless is needed only if you are going to boot gentoo using loader.o or flashed custom kernel.\\
-Get new (1.1.0 BETA4) rt2500.o from [[http://download.dsmg600.info/people/sala/rt2500.o|here]].+Get new (1.1.0 BETA4) rt2500.o from [[http://download.dsmg600.info/people/sala/rt2500.o|here]]. For more info look [[http://forum.dsmg600.info/p26074-Today-17%3A03%3A31.html#p26074|here]].
<code> <code>
Line 119: Line 133:
  - ''USE=unicode emerge links''   - ''USE=unicode emerge links''
 +==== Additional software ====
 +  * [[http://dns323.kood.org/forum/t788-ntpclient-gentoo-hdd-boot-chroot.html|NTPclient]]
 +  * [[http://dns323.kood.org/forum/t955-chkbutton-replacement.html|DSMG600 button and leds]]
===== chrooting ==== ===== chrooting ====
Line 126: Line 143:
  - ''mount -t proc none /mnt/HD_a2/gentoo/proc''   - ''mount -t proc none /mnt/HD_a2/gentoo/proc''
  - ''/mnt/HD_a2/chroot /mnt/HD_a2/gentoo /bin/bash''   - ''/mnt/HD_a2/chroot /mnt/HD_a2/gentoo /bin/bash''
 +
 +==== Chrooted DropBear ====
 +
 +will fail by default due to the default kernel not supporting uni98 ptys.
 +
 +Correct build:
 +<code>
 +EXTRA_ECONF=--disable-openpty emerge dropbear
 + </code>
 +
 +First time installation:
 +<code>
 +ln -s /dev/urandom /dev/random
 +mkdir /etc/dropbear/
 +/usr/bin/dropbearkey -t dss -f /etc/dropbear/dropbear_dss_host_key
 +/usr/bin/dropbearkey -t rsa -f /etc/dropbear/dropbear_rsa_host_key
 +</code>
 +
 +Auto-start from fun_plug (assuming a working busybox):
 +<code>
 +ln -s /mnt/HD_a2/bin/busybox /bin/chroot
 +ln -s /mnt/HD_a2/bin/busybox /bin/makedevs
 +cd /dev
 +/bin/makedevs ptyp c 2 0 0 9
 +/bin/makedevs ttyp c 3 0 0 9
 +ln -s urandom random
 +
 +mount -o bind /dev /mnt/HD_a2/gentoo/dev
 +mount -t proc none /mnt/HD_a2/gentoo/proc
 +cp /etc/resolv.conf /mnt/HD_a2/gentoo/etc/
 +
 +/bin/chroot /mnt/HD_a2/gentoo /usr/sbin/dropbear
 +</code>
 +
 +===== Successful Gentoo boot log =====
 +<code>
 +*
 +
 +U-Boot 0.2.0 (May 11 2005 - 18:56:16)
 +
 +CPU:  MPC8245 V1.2 at 170.503 MHz:
 +Board: Sandpoint 8245
 +DRAM:  32 MB
 +FLASH: FUJI_DL323BE
 +In:    serial
 +Out:  serial
 +Err:  serial
 +Hit any key to stop autoboot:  0
 +=> bootm FFF10000
 +## Booting image at fff10000 ...
 +  Image Name:  Linux-2.4.21-pre4
 +  Image Type:  PowerPC Linux Kernel Image (gzip compressed)
 +  Data Size:    884424 Bytes = 863.7 kB
 +  Load Address: 00000000
 +  Entry Point:  00000000
 + Verifying Checksum ... OK
 +  Uncompressing Kernel Image ... OK
 +Total memory 33554432 MB.
 +Memory BAT mapping: BAT2=32Mb, BAT3=0Mb, residual: 0Mb
 +Total memory is 33554432.
 +CPU = 82xx
 +Linux version 2.4.21-pre4 (root@serv) (gcc version 2.95.4 20010319 (prerelease)) #480 Mon Feb 19 17:19:05 EET 2007
 +OpenPIC_Addr in mpc10x_bridge_init function is fc040000
 +Motorola SPS Sandpoint Test Platform
 +Port by MontaVista Software, Inc. (source@mvista.com)
 +On node 0 totalpages: 8192
 +zone(0): 8192 pages.
 +zone(1): 0 pages.
 +zone(2): 0 pages.
 +Kernel command line: root=/dev/sda3 console=ttyS0,9600
 +OpenPIC Version 1.2 (1 CPUs and 123 IRQ sources) at fc040000
 +Calibrating delay loop... 133.12 BogoMIPS
 +Memory: 30176k available (1564k kernel code, 584k data, 56k init, 0k highmem)
 +Dentry cache hash table entries: 4096 (order: 3, 32768 bytes)
 +Inode cache hash table entries: 2048 (order: 2, 16384 bytes)
 +Mount cache hash table entries: 512 (order: 0, 4096 bytes)
 +Buffer-cache hash table entries: 1024 (order: 0, 4096 bytes)
 +Page-cache hash table entries: 8192 (order: 3, 32768 bytes)
 +POSIX conformance testing by UNIFIX
 +PCI: Probing PCI hardware
 +PCI fixup irq: (PCI device 1814:0201) got 0
 +PCI fixup irq: (PCI device 1033:0035) got 1
 +PCI fixup irq: (PCI device 1033:0035) got -1
 +PCI fixup irq: (PCI device 1033:00e0) got 2
 +PCI fixup irq: (PCI device 13f0:1023) got 3
 +PCI fixup irq: (PCI device 1191:0008) got 4
 +Linux NET4.0 for Linux 2.4
 +Based upon Swansea University Computer Society NET3.039
 +Initializing RT netlink socket
 +Starting kswapd
 +Journalled Block Device driver loaded
 +devfs: v1.12c (20020818) Richard Gooch (rgooch@atnf.csiro.au)
 +devfs: boot_options: 0x1
 +udf: registering filesystem
 +pty: 256 Unix98 ptys configured
 +Serial driver version 5.05c (2001-07-08) with MANY_PORTS SERIAL_PCI enabled
 +ttyS00 at 0xfc004500 (IOMEM)(irq = 121) is a ST16650
 +ttyS01 at 0xfc004600 (IOMEM)(irq = 122) is a ST16650
 +loop: loaded (max 8 devices)
 +ipg : v0.36 10/31/01  Written by Craig Rich, www.sundanceti.com
 +IC PLUS IP1000 1000/100/10 based NIC found.
 +Ethernet device registered as: eth0
 +IPG module loaded.
 +SCSI subsystem driver Revision: 1.00
 +atp86x_detect:
 +  ACARD ATP-865 PCI ATA133 2-Channels Host Adapter: 0    IO:FEBFFEF8, IRQ:4.
 +        ID:  0  FUJITSU MHT2060AT                UDMA5 (100)
 +scsi0 : ACARD ATP86X PCI ATA133 Adapter Driver Ver: 0.78  Date: 2004/01/15
 +
 +  Vendor: FUJITSU  Model: MHT2060AT        Rev:   
 +  Type:  Direct-Access                      ANSI SCSI revision: 02
 +Attached scsi disk sda at scsi0, channel 0, id 0, lun 0
 +SCSI device sda: 117210239 512-byte hdwr sectors (30006 MB)
 +Partition check:
 + p1 p2 p3 p4
 +USI AMD/FUJITSU flash: probing 8-bit flash bus
 + Amd/Fujitsu Extended Query Table at 0x0040
 +number of CFI chips: 1
 +cfi_cmdset_0002: Disabling fast programming due to code brokenness.
 +Creating 5 MTD partitions on "USI Intel flash":
 +0x00000000-0x00010000 : "Linux mtd1"
 +0x00010000-0x00020000 : "Linux mtd2"
 +0x00020000-0x00300000 : "Linux Ramdisk"
 +0x00300000-0x00310000 : "U-BOOT BOOT LOADER"
 +0x00310000-0x00400000 : "Linux Kernel"
 +usb.c: registered new driver hub
 +NET4: Linux TCP/IP 1.0 for NET4.0
 +IP Protocols: ICMP, UDP, TCP
 +IP: routing cache hash table of 512 buckets, 4Kbytes
 +TCP: Hash tables configured (established 2048 bind 2048)
 +NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
 +kjournald starting.  Commit interval 5 seconds
 +EXT3-fs: mounted filesystem with ordered data mode.
 +VFS: Mounted root (ext3 filesystem) readonly.
 +Mounted devfs on /dev
 +Freeing unused kernel memory: 56k init
 +INIT: version 2.86 booting
 +
 +Gentoo Linux; http://www.gentoo.org/
 + Copyright 1999-2005 Gentoo Foundation; Distributed under the GPLv2
 +
 + * Mounting proc at /proc ...                                            [ ok ]
 + * Kernel automatically mounted devfs at /dev ...                        [ ok ]
 + * Starting devfsd ...Started device management daemon v1.3.25 for /dev
 +                                                    [ ok ]
 + * Activating (possible) swap ...Adding Swap: 506480k swap-space (priority -1)
 +                                        [ ok ]
 + * Skipping root filesystem check (fstab's passno == 0) ...              [ ok ]
 + * Remounting root filesystem read/write ...                              [ ok ]
 + * Setting hostname to dsmg600 ...                                        [ ok ]
 + * Calculating module dependencies ...                                    [ ok ]
 + * Checking all filesystems ...                                          [ ok ]
 + * Mounting local filesystems ...                                        [ ok ]
 + * Activating (possibly) more swap ...                                    [ ok ]
 + * Setting system clock to hardware clock [Local Time] ...
 + * Cannot access the Hardware Clock via any known method.
 +Use the --debug option to see the details of our search for an access method.
 +Cannot access the Hardware Clock via any known method.
 +Use the --debug option to see the details of our search for an access method.
 + * Failed to set system clock to hardware clock
 +                                                                          [ !! ]
 + * Failed to start /etc/init.d/clock
 + * Setting DNS domainname to penthouse.lan ...                            [ ok ]
 + * Configuring kernel parameters ...                                      [ ok ]
 + * Updating environment ...                                              [ ok ]
 + * Cleaning /var/lock, /var/run ...                                      [ ok ]
 + * Cleaning /tmp directory ...                                            [ ok ]
 + * Starting lo
 + *  Bringing up lo ...                                                  [ ok ]
 + * Initializing random number generator ...                              [ ok ]
 +INIT: Entering runlevel: 3
 + * Starting eth0
 + *  Bringing up eth0
 + *    192.168.1.10
 +                                                                          [ ok ]
 +                                                                          [ ok ]
 + *  Adding routes
 + *    default gw 192.168.1.1 ...                                        [ ok ]
 + * Starting dropbear ...                                                  [ ok ]
 + * Mounting network filesystems ...                                      [ ok ]
 + * Setting clock via the NTP client 'ntpdate' ...                        [ ok ]
 + * Starting local ...                                                    [ ok ]
 +INIT: no more processes left in this runlevel</code>
 +
 +===== Troubleshooting =====
 +  * If you can't get to the login then press ctrl+c right after /dev and sda3 is mounted.
 +  * If your root file system is read-only then use ''mount -t ext3 -o rw,remount /dev/sda3 /'' to get write access.
 +  * Current e2fsprogs 1.40.4 fails to build with following error: ''../../lib/libuuid.so: undefined reference to `___tls_get_addr' '' See http://bugs.gentoo.org/show_bug.cgi?id=204102 for more details. Workaround is to use version 1.40.3 by running ''echo '>=sys-fs/e2fsprogs-1.40.4' >> /etc/portage/package.mask'' before emerging.
 +==== Installing an older package ====
 +Current version gentoo packages may not work on DSM-G600.
 +If you gets Masked packages because of unsupported EAPI or package only support kernel 2.6,
 +try to install an older package by browsing to /usr/portage///category/application// or going to the CSV tree :
 +[[http://sources.gentoo.org/viewcvs.py/gentoo-x86/]]
 +and searching older version of the package.
 +Once the version found, install it with this command :
 +<code>
 +emerge -av =category/package-version
 +</code>
===== Links ===== ===== Links =====
-  * [[http://forum.dsmg600.info/t18-Gentoo-howto.html|Forum thread]]+  * [[http://dns323.kood.org/forum/t18-Gentoo-howto.html|Forum thread]]
  * [[http://www.gentoo.org/doc/en/handbook/handbook-ppc.xml?full=1|Gentoo handbook]]   * [[http://www.gentoo.org/doc/en/handbook/handbook-ppc.xml?full=1|Gentoo handbook]]

Personal Tools