[arch-releng] building 2.6.30 iso's
Did anyone succeed at building 2.6.30 iso's? Here are my notes: - enable testing on your system and make sure your system runs the arch 2.6.30 kernel - update your whole system (squashfs tools are important) - get latest archiso from git, sudo make install it - in makefile sed 's/unionfs/aufs/g' on makechrootpkg (i think this is not needed anymore) - change this (humanized diff) configs/install-iso/Makefile -kver=2.6.28-ARCH +kver=2.6.30-ARCH configs/install-iso/packages.list -lshwd -netkit-telnet +inetutils -rt2500 That's about as far as I get. Here's my output: dieter@dieter-ws-a7n8x-arch install-iso [master] sudo make core-iso mkarchiso -p "`cat packages.list` grub-gfx" create work mkarchiso : Configuration Settings working directory: work image name: none ====> Creating working directory: work ====> Installing packages to 'work/root-image/' perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LC_COLLATE = "C", LANG = "en_US.utf8" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). Cleaning up what we can Creating default home directory mv work/root-image/boot work/iso/ cp -r boot-files/* work/iso/boot/ cp isomounts work sed -i "s|@ARCH@|`uname -m`|g" "work/isomounts" mkinitcpio -c initcpio-ide -b work/root-image -k 2.6.30-ARCH -g work/iso/boot/archiso_ide.img :: Begin build :: Parsing hook [base] :: Parsing hook [archiso-early] :: Parsing hook [udev] :: Parsing hook [archiso] :: Parsing hook [ide] :: Parsing hook [scsi] :: Parsing hook [usb] :: Parsing hook [fw] :: Parsing hook [filesystems] :: Parsing hook [usbinput] :: Generating module dependencies :: Generating image 'work/iso/boot/archiso_ide.img'...SUCCESS mkinitcpio -c initcpio-pata -b work/root-image -k 2.6.30-ARCH -g work/iso/boot/archiso_pata.img :: Begin build :: Parsing hook [base] :: Parsing hook [archiso-early] :: Parsing hook [udev] :: Parsing hook [archiso] :: Parsing hook [pata] :: Parsing hook [scsi] :: Parsing hook [sata] :: Parsing hook [usb] :: Parsing hook [fw] :: Parsing hook [filesystems] :: Parsing hook [usbinput] :: Generating module dependencies :: Generating image 'work/iso/boot/archiso_pata.img'...SUCCESS mkdir work/core-pkgs/ ./download-repo.sh core "work/core-pkgs" :: Synchronizing package databases... testing is up to date core is up to date extra is up to date community is up to date error: failed to prepare transaction (could not satisfy dependencies) /core.db.tar.gz: Unsupported scheme. make: *** [core-pkgs] Error 1 When I "sniff" (replace /usr/bin/pacman with a script that calls the real pacman and logs the exact invocation to a file) the last pacman invocation, it seems to be this: pacman -Sp core/acl core/attr core/autoconf core/automake core/b43-fwcutter core/bash core/bin86 core/binutils core/bison core/bridge-utils core/bzip2 core/ca-certificates core/cloog-ppl core/coreutils core/cpio core/cracklib core/crda core/cryptsetup core/dash core/db core/dbus-core core/dcron core/device-mapper core/dhcpcd core/dialog core/diffutils core/dmapi core/dmraid core/dnsutils core/e2fsprogs core/ed core/eventlog core/expat core/fakeroot core/file core/filesystem core/findutils core/flex core/gawk core/gcc core/gcc-libs core/gdbm core/gen-init-cpio core/gettext core/glib2 core/glibc core/gmp core/gpm core/grep core/groff core/grub core/gzip core/hdparm core/heimdal core/ifenslave core/inetutils core/initscripts core/iproute2 core/iptables core/iputils core/ipw2100-fw core/ipw2200-fw core/isdn4k-utils core/iw core/iwlwifi-3945-ucode core/iwlwifi-4965-ucode core/iwlwifi-5000-ucode core/iwlwifi-5150-ucode core/jfsutils core/kbd core/kernel-headers core/kernel26 core/kernel26-firmware core/klibc core/klibc-extras core/klibc-kbd core/klibc-module-init-tools core/klibc-udev core/less core/libarchive core/libdownload core/libelf core/libevent core/libgcrypt core/libgpg-error core/libldap core/libnl core/libpcap core/libsasl core/libtool core/libusb core/licenses core/lilo core/links core/linux-atm core/logrotate core/lvm2 core/lzo2 core/m4 core/madwifi core/madwifi-utils core/mailx core/make core/man-db core/man-pages core/mdadm core/mkinitcpio core/mlocate core/module-init-tools core/mpfr core/nano core/ncurses core/ndiswrapper core/ndiswrapper-utils core/net-tools core/netcfg core/nfs-utils core/nfsidmap core/openssh core/openssl core/openswan core/openvpn core/pacman core/pacman-mirrorlist core/pam core/patch core/pciutils core/pcmciautils core/pcre core/perl core/pkgconfig core/popt core/portmap core/ppl core/ppp core/pptpclient core/procinfo core/procps core/psmisc core/readline core/reiserfsprogs core/rp-pppoe core/rt2500 core/rt2x00-rt61-fw core/rt2x00-rt71w-fw core/run-parts core/sdparm core/sed core/shadow core/sqlite3 core/sudo core/sysfsutils core/syslog-ng core/sysvinit core/tar core/tcp_wrappers core/texinfo core/tiacx core/tiacx-firmware core/tzdata core/udev core/usbutils core/util-linux-ng core/vi core/vpnc core/wget core/which core/wireless-regdb core/wireless_tools core/wlan-ng26-utils core/wpa_supplicant core/xfsprogs core/xinetd core/xz-utils core/zd1211-firmware core/zlib And when i run this manually i get: dieter@dieter-ws-a7n8x-arch install-iso [master] eval sudo `cat /home/dieter/paclog` Password: resolving dependencies... error: failed to prepare transaction (could not satisfy dependencies) :: nvidia-173xx: requires kernel26>=2.6.30 This looks weird to me. There is no nvidia stuff in packages.list, nor in the paclog file. Besides I am running 2.6.30 already ?! Dieter
Dieter Plaetinck schrieb:
When I "sniff" (replace /usr/bin/pacman with a script that calls the real pacman and logs the exact invocation to a file) the last pacman invocation, it seems to be this:
pacman -Sp core/acl core/attr core/autoconf core/automake core/b43-fwcutter core/bash core/bin86 core/binutils core/bison core/bridge-utils core/bzip2 core/ca-certificates core/cloog-ppl core/coreutils core/cpio core/cracklib core/crda core/cryptsetup core/dash core/db core/dbus-core core/dcron core/device-mapper core/dhcpcd core/dialog core/diffutils core/dmapi core/dmraid core/dnsutils core/e2fsprogs core/ed core/eventlog core/expat core/fakeroot core/file core/filesystem core/findutils core/flex core/gawk core/gcc core/gcc-libs core/gdbm core/gen-init-cpio core/gettext core/glib2 core/glibc core/gmp core/gpm core/grep core/groff core/grub core/gzip core/hdparm core/heimdal core/ifenslave core/inetutils core/initscripts core/iproute2 core/iptables core/iputils core/ipw2100-fw core/ipw2200-fw core/isdn4k-utils core/iw core/iwlwifi-3945-ucode core/iwlwifi-4965-ucode core/iwlwifi-5000-ucode core/iwlwifi-5150-ucode core/jfsutils core/kbd core/kernel-headers core/kernel26 core/kernel26-firmware core/klibc core/klibc-extras core/klibc-kbd core/klibc-module-init-tools core/klibc-udev core/less core/libarchive core/libdownload core/libelf core/libevent core/libgcrypt core/libgpg-error core/libldap core/libnl core/libpcap core/libsasl core/libtool core/libusb core/licenses core/lilo core/links core/linux-atm core/logrotate core/lvm2 core/lzo2 core/m4 core/madwifi core/madwifi-utils core/mailx core/make core/man-db core/man-pages core/mdadm core/mkinitcpio core/mlocate core/module-init-tools core/mpfr core/nano core/ncurses core/ndiswrapper core/ndiswrapper-utils core/net-tools core/netcfg core/nfs-utils core/nfsidmap core/openssh core/openssl core/openswan core/openvpn core/pacman core/pacman-mirrorlist core/pam core/patch core/pciutils core/pcmciautils core/pcre core/perl core/pkgconfig core/popt core/portmap core/ppl core/ppp core/pptpclient core/procinfo core/procps core/psmisc core/readline core/reiserfsprogs core/rp-pppoe core/rt2500 core/rt2x00-rt61-fw core/rt2x00-rt71w-fw core/run-parts core/sdparm core/sed core/shadow core/sqlite3 core/sudo core/sysfsutils core/syslog-ng core/sysvinit core/tar core/tcp_wrappers core/texinfo core/tiacx core/tiacx-firmware core/tzdata core/udev core/usbutils core/util-linux-ng core/vi core/vpnc core/wget core/which core/wireless-regdb core/wireless_tools core/wlan-ng26-utils core/wpa_supplicant core/xfsprogs core/xinetd core/xz-utils core/zd1211-firmware core/zlib
And when i run this manually i get: dieter@dieter-ws-a7n8x-arch install-iso [master] eval sudo `cat /home/dieter/paclog` Password: resolving dependencies... error: failed to prepare transaction (could not satisfy dependencies) :: nvidia-173xx: requires kernel26>=2.6.30
This looks weird to me. There is no nvidia stuff in packages.list, nor in the paclog file. Besides I am running 2.6.30 already ?!
You're not running this test in the chroot. And you explicitly pull core/kernel26, so it tries to install 2.6.29 which conflicts with your locally installed nvidia-173xx. This does not reproduce the original error. I don't know what that one means either.
Dieter Plaetinck schrieb:
error: failed to prepare transaction (could not satisfy dependencies) /core.db.tar.gz: Unsupported scheme. make: *** [core-pkgs] Error 1
According to Aaron, this in an error in URL parsing.
On Mon, 15 Jun 2009 19:13:54 +0200 Thomas Bächler <thomas@archlinux.org> wrote:
Dieter Plaetinck schrieb:
error: failed to prepare transaction (could not satisfy dependencies) /core.db.tar.gz: Unsupported scheme. make: *** [core-pkgs] Error 1
According to Aaron, this in an error in URL parsing.
Thanks for both of your mails. Any idea how to fix this issue? Dieter
Dieter Plaetinck schrieb:
On Mon, 15 Jun 2009 19:13:54 +0200 Thomas Bächler <thomas@archlinux.org> wrote:
Dieter Plaetinck schrieb:
error: failed to prepare transaction (could not satisfy dependencies) /core.db.tar.gz: Unsupported scheme. make: *** [core-pkgs] Error 1 According to Aaron, this in an error in URL parsing.
Thanks for both of your mails.
Any idea how to fix this issue?
There must be a wrong URL somewhere in the pacman.conf that is generated by mkarchiso.
On Mon, 15 Jun 2009 19:34:39 +0200 Thomas Bächler <thomas@archlinux.org> wrote:
Dieter Plaetinck schrieb:
On Mon, 15 Jun 2009 19:13:54 +0200 Thomas Bächler <thomas@archlinux.org> wrote:
Dieter Plaetinck schrieb:
error: failed to prepare transaction (could not satisfy dependencies) /core.db.tar.gz: Unsupported scheme. make: *** [core-pkgs] Error 1 According to Aaron, this in an error in URL parsing.
Thanks for both of your mails.
Any idea how to fix this issue?
There must be a wrong URL somewhere in the pacman.conf that is generated by mkarchiso.
Hmm my work/root-image/etc/pacman.conf looks quite sane. http://pastebin.ca/1461273 good thing mkarchiso is only 315 lines. i'll poke around a bit. Dieter
Dieter Plaetinck schrieb:
Hmm my work/root-image/etc/pacman.conf looks quite sane. http://pastebin.ca/1461273
good thing mkarchiso is only 315 lines. i'll poke around a bit.
How sane does the mirrorlist look? Which one does it use anyway? It looks like "/core.db.tar.gz" is the whole URL, so there must be something like an empty Server entry.
On Mon, 15 Jun 2009 20:00:22 +0200 Thomas Bächler <thomas@archlinux.org> wrote:
Dieter Plaetinck schrieb:
Hmm my work/root-image/etc/pacman.conf looks quite sane. http://pastebin.ca/1461273
good thing mkarchiso is only 315 lines. i'll poke around a bit.
How sane does the mirrorlist look? Which one does it use anyway? It looks like "/core.db.tar.gz" is the whole URL, so there must be something like an empty Server entry.
Heh. egrep -v '^#|^$' root-image/etc/pacman.d/mirrorlist -> 0 lines. egrep -v '^#|^$' /etc/pacman.d/mirrorlist Server = ftp://mir1.archlinuxfr.org/archlinux/$repo/os/i686 (...)
On Mon, 15 Jun 2009 20:30:25 +0200 Dieter Plaetinck <dieter@plaetinck.be> wrote:
On Mon, 15 Jun 2009 20:00:22 +0200 Thomas Bächler <thomas@archlinux.org> wrote:
Dieter Plaetinck schrieb:
Hmm my work/root-image/etc/pacman.conf looks quite sane. http://pastebin.ca/1461273
good thing mkarchiso is only 315 lines. i'll poke around a bit.
How sane does the mirrorlist look? Which one does it use anyway? It looks like "/core.db.tar.gz" is the whole URL, so there must be something like an empty Server entry.
Heh.
egrep -v '^#|^$' root-image/etc/pacman.d/mirrorlist -> 0 lines.
egrep -v '^#|^$' /etc/pacman.d/mirrorlist Server = ftp://mir1.archlinuxfr.org/archlinux/$repo/os/i686 (...)
Okay, here's the deal (thanks Aaron for the help): packages.list contains pacman. pacman depends on pacman-mirrorlist. pacman-mirrorlist contains /etc/pacman.d/mirrorlist. So when you're building the iso, it will install all the packages listed and their deps. that includes pacman-mirrorlist. the default mirrorlist file now only contains commented-out entries (this has been introduced recently, Aaron told me) When building the images, an overlay is used. the overlay contains a mirrorlist file with some commented out entries (good), but apparently this gets undone by the package. Now, you have to know that apparently the mirrorlist file used during package building == mirror list file ending up on the livecd, eg the one you'll see at runtime when having the image booted. I have now tried this quick hack: in mkarchiso, after: _pacman "${PKGLIST}" put: cp /etc/pacman.d/mirrorlist "${work_dir}/root-image/etc/pacman.d/mirrorlist" but the error stayed exactly the same. stay tuned while i figure this out :) Dieter
On Mon, 15 Jun 2009 21:17:04 +0200 Dieter Plaetinck <dieter@plaetinck.be> wrote:
On Mon, 15 Jun 2009 20:30:25 +0200 Dieter Plaetinck <dieter@plaetinck.be> wrote:
On Mon, 15 Jun 2009 20:00:22 +0200 Thomas Bächler <thomas@archlinux.org> wrote:
Dieter Plaetinck schrieb:
Hmm my work/root-image/etc/pacman.conf looks quite sane. http://pastebin.ca/1461273
good thing mkarchiso is only 315 lines. i'll poke around a bit.
How sane does the mirrorlist look? Which one does it use anyway? It looks like "/core.db.tar.gz" is the whole URL, so there must be something like an empty Server entry.
Heh.
egrep -v '^#|^$' root-image/etc/pacman.d/mirrorlist -> 0 lines.
egrep -v '^#|^$' /etc/pacman.d/mirrorlist Server = ftp://mir1.archlinuxfr.org/archlinux/$repo/os/i686 (...)
Okay, here's the deal (thanks Aaron for the help): packages.list contains pacman. pacman depends on pacman-mirrorlist. pacman-mirrorlist contains /etc/pacman.d/mirrorlist. So when you're building the iso, it will install all the packages listed and their deps. that includes pacman-mirrorlist. the default mirrorlist file now only contains commented-out entries (this has been introduced recently, Aaron told me) When building the images, an overlay is used. the overlay contains a mirrorlist file with some commented out entries (good), but apparently this gets undone by the package.
Now, you have to know that apparently the mirrorlist file used during package building == mirror list file ending up on the livecd, eg the one you'll see at runtime when having the image booted.
I have now tried this quick hack: in mkarchiso, after: _pacman "${PKGLIST}" put: cp /etc/pacman.d/mirrorlist "${work_dir}/root-image/etc/pacman.d/mirrorlist"
but the error stayed exactly the same. stay tuned while i figure this out :)
Dieter
For the interested ones: In the makefile i had to change: ./download-repo.sh core "$(WORKDIR)/core-pkgs" to ./download-repo.sh testing "$(WORKDIR)/core-pkgs" Otherwise it would only use core packages. not good. But now i get `No such file `testing.db.tar.gz'` at the end of download.sh.. stay tuned Dieter
Am Montag, den 15.06.2009, 22:07 +0200 schrieb Dieter Plaetinck:
I have now tried this quick hack: in mkarchiso, after: _pacman "${PKGLIST}" put: cp /etc/pacman.d/mirrorlist "${work_dir}/root-image/etc/pacman.d/mirrorlist"
but the error stayed exactly the same. stay tuned while i figure this out :)
Dieter
For the interested ones: In the makefile i had to change: ./download-repo.sh core "$(WORKDIR)/core-pkgs" to ./download-repo.sh testing "$(WORKDIR)/core-pkgs"
Otherwise it would only use core packages. not good. But now i get `No such file `testing.db.tar.gz'` at the end of download.sh..
I could not confirm your problems here. Have build a ftp-iso with 2.6.30 without a problem on mirrorlist. I use archiso with the latest commits. Also the change in makefile is not necessary, you have only to activate testing repo in your build-host's pacman.conf and make sure testing is above the other repos (After ISO builing - if you don't have a VM for this - you could disable testing to stay your build-host clean). Other hint when using such a test-iso: you must also enable testing repo in the installation which you boot with your test iso - otherwise your iso has ex. 2.6.30 and your system will get installed with 2.6.29.
stay tuned
Dieter
Gerhard
On Wed, 17 Jun 2009 13:14:42 +0200 Gerhard Brauer <gerbra@archlinux.de> wrote:
Am Montag, den 15.06.2009, 22:07 +0200 schrieb Dieter Plaetinck:
I have now tried this quick hack: in mkarchiso, after: _pacman "${PKGLIST}" put: cp /etc/pacman.d/mirrorlist "${work_dir}/root-image/etc/pacman.d/mirrorlist"
but the error stayed exactly the same. stay tuned while i figure this out :)
Dieter
For the interested ones: In the makefile i had to change: ./download-repo.sh core "$(WORKDIR)/core-pkgs" to ./download-repo.sh testing "$(WORKDIR)/core-pkgs"
Otherwise it would only use core packages. not good. But now i get `No such file `testing.db.tar.gz'` at the end of download.sh..
I could not confirm your problems here. Have build a ftp-iso with 2.6.30 without a problem on mirrorlist. I use archiso with the latest commits. Also the change in makefile is not necessary, you have only to activate testing repo in your build-host's pacman.conf and make sure testing is above the other repos (After ISO builing - if you don't have a VM for this - you could disable testing to stay your build-host clean).
Other hint when using such a test-iso: you must also enable testing repo in the installation which you boot with your test iso - otherwise your iso has ex. 2.6.30 and your system will get installed with 2.6.29.
stay tuned
Dieter
Gerhard
Hi G I was doing make core-iso, can you try that? i have testing enabled in my real pacman.conf, yet i got these problems. download.sh will by default only core packages, so I don't really understand how you can get the kernel from testing without modifying Btw, my last problem: download.sh downloaded packages first from testing, then core, then extra. so baseurl was set with 'extra' in it. it tried to download http://lalala/extra/.../testing.tar.gz which is incorrect. I also haven't applied your patches yet (http://www.archlinux.org/pipermail/arch-releng/2009-June/000504.html) do we stil need to do this? Dieter
Am Mittwoch, den 17.06.2009, 13:46 +0200 schrieb Dieter Plaetinck:
Hi G I was doing make core-iso, can you try that?
Ok, will try this....
I also haven't applied your patches yet (http://www.archlinux.org/pipermail/arch-releng/2009-June/000504.html) do we stil need to do this?
The first submitted patch (quiet thing) should be still a "problem", second patch (aufs2) is already fixed in archiso: http://projects.archlinux.org/?p=archiso.git;a=commit;h=6be0f68611e8796093e8...
Dieter
Gerhard
Am Mittwoch, den 17.06.2009, 13:53 +0200 schrieb Gerhard Brauer:
Am Mittwoch, den 17.06.2009, 13:46 +0200 schrieb Dieter Plaetinck:
Hi G I was doing make core-iso, can you try that?
Ok, will try this....
Ok, also talked with Dieter on IM. IMHO it's too much work to put testing repo/packages also on a core-iso. We have either to modify dowmload-repo.sh to mix core and testing packages (and build a actual core.db.tar.gz with repo-add therein to get all packages in db). Or we must build own squashfs testing-pkg which get mounted on the iso, but then we must also modify the installer/ais to get this during package installation.... Too much work IMHO.... If we build isos for testing purpose (alpha,private,...) we should build only ftp images. All we have to test could be done easily with these. Core-isos (or RC core-isos) should be build only when we don't need testing packages (most time it's the kernel+depends....) Gerhard
On Wed, 17 Jun 2009 14:42:29 +0200 Gerhard Brauer <gerbra@archlinux.de> wrote:
Am Mittwoch, den 17.06.2009, 13:53 +0200 schrieb Gerhard Brauer:
Am Mittwoch, den 17.06.2009, 13:46 +0200 schrieb Dieter Plaetinck:
Hi G I was doing make core-iso, can you try that?
Ok, will try this....
Ok, also talked with Dieter on IM. IMHO it's too much work to put testing repo/packages also on a core-iso. We have either to modify dowmload-repo.sh to mix core and testing packages (and build a actual core.db.tar.gz with repo-add therein to get all packages in db). Or we must build own squashfs testing-pkg which get mounted on the iso, but then we must also modify the installer/ais to get this during package installation.... Too much work IMHO....
If we build isos for testing purpose (alpha,private,...) we should build only ftp images. All we have to test could be done easily with these. Core-isos (or RC core-isos) should be build only when we don't need testing packages (most time it's the kernel+depends....)
Gerhard
Ugh. When i undid most of my patches (all, except the kernel version in Makefile and slight package changes in packages.list) I could build the ftp-iso but Virtualbox would crash while trying to boot it. When I undid literally everything I would get: error: 'lshwd': not found in sync db Which looks fairly obvious to me, since this package is in AUR. Eg i needed these patches to get a few steps further, did you really mean you don't need any changes in the most recent archiso? Dieter
On Thu, 18 Jun 2009 21:48:17 +0200 Dieter Plaetinck <dieter@plaetinck.be> wrote:
On Wed, 17 Jun 2009 14:42:29 +0200 Gerhard Brauer <gerbra@archlinux.de> wrote:
Am Mittwoch, den 17.06.2009, 13:53 +0200 schrieb Gerhard Brauer:
Am Mittwoch, den 17.06.2009, 13:46 +0200 schrieb Dieter Plaetinck:
Hi G I was doing make core-iso, can you try that?
Ok, will try this....
Ok, also talked with Dieter on IM. IMHO it's too much work to put testing repo/packages also on a core-iso. We have either to modify dowmload-repo.sh to mix core and testing packages (and build a actual core.db.tar.gz with repo-add therein to get all packages in db). Or we must build own squashfs testing-pkg which get mounted on the iso, but then we must also modify the installer/ais to get this during package installation.... Too much work IMHO....
If we build isos for testing purpose (alpha,private,...) we should build only ftp images. All we have to test could be done easily with these. Core-isos (or RC core-isos) should be build only when we don't need testing packages (most time it's the kernel+depends....)
Gerhard
Ugh. When i undid most of my patches (all, except the kernel version in Makefile and slight package changes in packages.list) I could build the ftp-iso but Virtualbox would crash while trying to boot it.
When I undid literally everything I would get: error: 'lshwd': not found in sync db
Which looks fairly obvious to me, since this package is in AUR. Eg i needed these patches to get a few steps further, did you really mean you don't need any changes in the most recent archiso?
Dieter
seems like problem 1 is a vbox problem. (I use virtualbox_bin 2.2.4-1, not ose because i had a lot of problems getting it running on my system) the iso works fine in qemu... So, to conclude you can build 2.6.30 iso's with the latest archiso by enabling testing on your host system, changing the kernel version in Makefile and updating the package.list and running sudo make ftp-iso Dieter
participants (3)
-
Dieter Plaetinck
-
Gerhard Brauer
-
Thomas Bächler