[Yum] yum and armv4l (netwinder)

R P Herrold herrold at owlriver.com
Mon Oct 27 08:17:36 UTC 2003


I have been dinking with the netwinder port of Red Hat Linux,
based on RHL9.  One of the capabilites of the unit ( per the
excellent documentation at http://www.netwinder.org/ ) is to
boot across the LAN.  I spent the day working to see if I
could get yum to solve an install for another architecture, 
to test this out.

I got close.  Very very close -- Curiously, it does not
actually do the download at the point it says it has done
'Getting' the rpms.  (Shades of my yum RFE #93 on a 'retrieve'
option)  

The porting was mechanical, and looks as though it could be
generalized rather easily.  A better solution would probably 
be to graft in a '--targetarch= option', but this may be too 
much of a corner case to be worth the effort.  

If the retrieve had completed, it would be simple enough to
have rpm (in this very narrow case) --nodeps install a
complete transaction set in a changed -root .

For anyone wanting to play along, I have placed rpms at:  
  ftp://ftp.owlriver.com/pub/local/ORC/yum_armv4l/ 

If others have a more elegant solution, or a way past the stop 
point encountered, I would appreciate hearing from them.  

-- Russ Herrold


[herrold at ftp bin]$ sudo ./ORCnetwinder-boot
headers already exists and is writable, overwriting
Digesting rpms 100 % complete: zlib-1.1.4-8.armv4l.rpm
   Total: 226
   Used: 226
   Src: 0

Writing header.info file
D: opening  db environment 
	/tftpboot/netwinder/root/var/lib/rpm/Packages joinenv
D: opening  db index       
	/tftpboot/netwinder/root/var/lib/rpm/Packages create mode=0x42
D: locked   db index       
	/tftpboot/netwinder/root/var/lib/rpm/Packages
D: closed   db index       
	/tftpboot/netwinder/root/var/lib/rpm/Packages
D: closed   db environment 
	/tftpboot/netwinder/root/var/lib/rpm/Packages
Gathering header information file(s) from server(s)
Server: Red Hat Linux  -  - Base
Finding updated packages
Downloading needed headers
Resolving dependencies
...Dependencies resolved
I will do the following:
[install: 0:rpm-4.2-0.69.armv4l]
[install: 0:kernel-2.4.19-7.armv4l]
I will install/upgrade these to satisfy the dependencies:
[deps: 0:gawk-3.1.1-9.armv4l]
[deps: 0:popt-1.8-0.69.armv4l]
[deps: 0:basesystem-8.0-2.noarch]
[deps: 0:ncurses-5.3-4.armv4l]
[deps: 0:mktemp-1.5-18.armv4l]
[deps: 0:fileutils-4.0-8.armv4l]
[deps: 0:info-4.3-5.armv4l]
[deps: 0:glibc-2.3.2-27.9_nw3.armv4l]
[deps: 0:libgcc-3.3-1_nw1.armv4l]
[deps: 0:glibc-common-2.3.2-27.9_nw3.armv4l]
[deps: 2:shadow-utils-4.0.3-6.armv4l]
[deps: 0:textutils-2.0-2.armv4l]
[deps: 0:zlib-1.1.4-8.armv4l]
[deps: 0:setup-2.5.25-1.noarch]
[deps: 0:libtermcap-2.0.8-35.armv4l]
[deps: 0:termcap-11.0.1-16.noarch]
[deps: 0:bash-2.05b-20.armv4l]
[deps: 0:filesystem-2.2.1-3.armv4l]
[deps: 0:elfutils-libelf-0.76-3.armv4l]
[deps: 0:bzip2-libs-1.0.2-8.armv4l]
Is this ok [y/N]: y
Getting gawk-3.1.1-9.armv4l.rpm
Getting popt-1.8-0.69.armv4l.rpm
Getting basesystem-8.0-2.noarch.rpm
Getting ncurses-5.3-4.armv4l.rpm
Getting mktemp-1.5-18.armv4l.rpm
Getting rpm-4.2-0.69.armv4l.rpm
Getting fileutils-4.0-8.armv4l.rpm
Getting info-4.3-5.armv4l.rpm
Getting glibc-2.3.2-27.9_nw3.armv4l.rpm
Getting kernel-2.4.19-7.armv4l.rpm
Getting libgcc-3.3-1_nw1.armv4l.rpm
Getting glibc-common-2.3.2-27.9_nw3.armv4l.rpm
Getting shadow-utils-4.0.3-6.armv4l.rpm
Getting textutils-2.0-2.armv4l.rpm
Getting zlib-1.1.4-8.armv4l.rpm
Getting setup-2.5.25-1.noarch.rpm
Getting libtermcap-2.0.8-35.armv4l.rpm
Getting termcap-11.0.1-16.noarch.rpm
Getting bash-2.05b-20.armv4l.rpm
Getting filesystem-2.2.1-3.armv4l.rpm
Getting elfutils-libelf-0.76-3.armv4l.rpm
Getting bzip2-libs-1.0.2-8.armv4l.rpm
Errors installing:
('package filesystem-2.2.1-3 is intended for a armv4l 
	architecture', (0, 'armv4l', 0L))
('package glibc-common-2.3.2-27.9_nw3 is intended for a armv4l 
	architecture', (0, 'armv4l', 0L))
('package glibc-2.3.2-27.9_nw3 is intended for a armv4l 
	architecture', (0, 'armv4l', 0L))
('package libgcc-3.3-1_nw1 is intended for a armv4l 
	architecture', (0, 'armv4l', 0L))
('package mktemp-1.5-18 is intended for a armv4l 
	architecture', (0, 'armv4l', 0L))
('package popt-1.8-0.69 is intended for a armv4l 
	architecture', (0, 'armv4l', 0L))
('package zlib-1.1.4-8 is intended for a armv4l architecture', 
	(0, 'armv4l', 0L))
('package libtermcap-2.0.8-35 is intended for a armv4l 
	architecture', (0, 'armv4l', 0L))
('package bash-2.05b-20 is intended for a armv4l 
	architecture', (0, 'armv4l', 0L))
('package ncurses-5.3-4 is intended for a armv4l 
	architecture', (0, 'armv4l', 0L))
('package info-4.3-5 is intended for a armv4l architecture', 
	(0, 'armv4l', 0L))
('package gawk-3.1.1-9 is intended for a armv4l architecture', 
	(0, 'armv4l', 0L))
('package fileutils-4.0-8 is intended for a armv4l 
	architecture', (0, 'armv4l', 0L))
('package textutils-2.0-2 is intended for a armv4l 
	architecture', (0, 'armv4l', 0L))
('package elfutils-libelf-0.76-3 is intended for a armv4l 
	architecture', (0, 'armv4l', 0L))
('package bzip2-libs-1.0.2-8 is intended for a armv4l 
	architecture', (0, 'armv4l', 0L))
('package shadow-utils-4.0.3-6 is intended for a armv4l 
	architecture', (0, 'armv4l', 0L))
('package rpm-4.2-0.69 is intended for a armv4l architecture', 
	(0, 'armv4l', 0L))
('package kernel-2.4.19-7 is intended for a armv4l 
	architecture', (0, 'armv4l', 0L))

[herrold at ftp bin]$ cat ./ORCnetwinder-boot
#!/bin/sh
#
#	/home/herrold/bin/ORCnetwinder-boot
#
SRC="/var/ftp/pub/mirror1/netwinder.org/RPMS/base"
DST="/tftpboot/netwinder/root/"
#
[ -d $DST/var/lib/rpm/ ] && {
        mkdir -p $DST/var/lib/rpm
        mkdir -p $DST/var/cache/yum
        mkdir -p $DST/etc/
        }
yum_armv4l-arch $SRC
rpm -vv --root $DST --initdb
head -8 /etc/yum.conf > $DST/etc/yum.conf
cat - << END >> $DST/etc/yum.conf
cachedir=$DST/var/cache/yum/
# basearch=armv4l
# arch=armv4l
diskspacecheck=0
[base]
name=Red Hat Linux $releasever - $basearch - Base
baseurl=file://$SRC
END
yum_armv4l -c $DST/etc/yum.conf --installroot=$DST install \
	kernel rpm 
#
[herrold at ftp bin]$

The config file for the rpm set I am attempting an install 
from is:

[root at ftp root]# cat lftp-netwinder.org.conf
#
#
# mirror ftp://ftp.netwinder.org/pub/netwinder/images/ \
mirror ftp://ftp.oregonstate.edu/pub/netwinder/pub/netwinder/images \
        /var/ftp/pub/mirror1/netwinder.org/images
#
mirror ftp://ftp.oregonstate.edu/pub/netwinder/pub/netwinder/RPMS\
        /var/ftp/pub/mirror1/netwinder.org/RPMS
mirror ftp://ftp.oregonstate.edu/pub/netwinder/pub/netwinder/SRPMS \
        /var/ftp/pub/mirror1/netwinder.org/SRPMS
mirror ftp://ftp.oregonstate.edu/pub/netwinder/pub/netwinder/updates \
        /var/ftp/pub/mirror1/netwinder.org/updates
[root at ftp root]#



More information about the Yum mailing list