You are not logged in.
Pages: 1
Hi...
I have installed Arch in my external HDD along with a snapshot of the repos...
I do not run arch in rolling mode, because I want to build some packages from AUR all along with some other stuff I have packaged myself...
so my Repo Snapshot lives in /mount/my_repo, and the packages I have built live in /mount/my_packages, I have created a custom.db.tar.gz containing everything I have built from AUR and my own packages.
my /etc/pacman.conf looks like this :
#
# /etc/pacman.conf
#
# See the pacman.conf(5) manpage for option and repository directives
#
# GENERAL OPTIONS
#
[options]
# The following paths are commented out with their default values listed.
# If you wish to use different paths, uncomment and update the paths.
#RootDir = /
#DBPath = /var/lib/pacman/
#CacheDir = /var/cache/pacman/pkg/
#LogFile = /var/log/pacman.log
HoldPkg = pacman glibc
# If upgrades are available for these packages they will be asked for first
SyncFirst = pacman
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
#XferCommand = /usr/bin/curl %u > %o
#CleanMethod = KeepInstalled
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
#IgnorePkg =
#IgnoreGroup =
#NoUpgrade =
#NoExtract =
# Misc options (all disabled by default)
#UseSyslog
#ShowSize
#UseDelta
#TotalDownload
#
# REPOSITORIES
# - can be defined here or included from another file
# - pacman will search repositories in the order defined here
# - local/custom mirrors can be added here or in separate files
# - repositories listed first will take precedence when packages
# have identical names, regardless of version number
# - URLs will have $repo replaced by the name of the current repo
#
# Repository entries are of the format:
# Include = IncludePath
#
# The header [repo-name] is crucial - it must be present and
# uncommented to enable the repo.
#
# The testing repositories are disabled by default. To enable, uncomment the
# repo name header and Include lines. You can add preferred servers immediately
# after the header, and they will be used before the default mirrors.
#[testing]
## Add your preferred servers here, they will be used first
#Include = /etc/pacman.d/mirrorlist
[custom]
Server = file:///mount/my_packages
[core]
# Add your preferred servers here, they will be used first
#Include = /etc/pacman.d/mirrorlist
Server = file:///mount/my_repo/new_repo/darkstar.ist.utl.pt/archlinux/core/os/x86_64
[extra]
# Add your preferred servers here, they will be used first
#Include = /etc/pacman.d/mirrorlist
Server = file:///mount/my_repo/new_repo/darkstar.ist.utl.pt/archlinux/extra/os/x86_64
#[community-testing]
## Add your preferred servers here, they will be used first
#Include = /etc/pacman.d/mirrorlist
[community]
# Add your preferred servers here, they will be used first
#Include = /etc/pacman.d/mirrorlist
Server = file:///mount/my_repo/new_repo/darkstar.ist.utl.pt/archlinux/community/os/x86_64
# An example of a custom package repository. See the pacman manpage for
# tips on creating your own repositories.
#[custom]
#Server = file:///home/custompkgs
I have a complete functional Arch Install and so far all is managed through pacman/makepkg.
I have installed the package ArchIso.git from AUR,
and created a workdir /home/alex/MyDistro, cd into it, made the following Makefile ( followed thr wiki ) :
#### Change these settings to modify how this ISO is built.
# The directory that you'll be using for the actual build process.
WORKDIR=work
# A list of packages to install, either space separated in a string or line separated in a file. Can include groups.
PACKAGES="$(shell cat packages.list) syslinux"
# The name of our ISO. Does not specify the architecture!
NAME=myarch
# Version will be appended to the ISO.
VER=1.00
# Kernel version. You'll need this.
KVER=2.6.33-ARCH
# Architecture will also be appended to the ISO name.
ARCH?=$(shell uname -m)
# Current working directory
PWD:=$(shell pwd)
# This is going to be the full name the final iso/img will carry
FULLNAME="$(PWD)"/$(NAME)-$(VER)-$(ARCH)
# Default make instruction to build everything.
all: myarch
# The following will first run the base-fs routine before creating the final iso image.
myarch: base-fs
mkarchiso -p syslinux iso "$(WORKDIR)" "$(FULLNAME)".iso
# This is the main rule for make the working filesystem. It will run routines from left to right.
# Thus, root-image is called first and syslinux is called last.
base-fs: root-image boot-files initcpio overlay iso-mounts syslinux
# The root-image routine is always executed first.
# It only downloads and installs all packages into the $WORKDIR, giving you a basic system to use as a base.
root-image: "$(WORKDIR)"/root-image/.arch-chroot
"$(WORKDIR)"/root-image/.arch-chroot:
root-image:
mkarchiso -p $(PACKAGES) create "$(WORKDIR)"
# Rule for make /boot
boot-files: root-image
cp -r "$(WORKDIR)"/root-image/boot "$(WORKDIR)"/iso/
cp -r boot-files/* "$(WORKDIR)"/iso/boot/
# Rules for initcpio images
initcpio: "$(WORKDIR)"/iso/boot/myarch.img
"$(WORKDIR)"/iso/boot/myarch.img: mkinitcpio.conf "$(WORKDIR)"/root-image/.arch-chroot
mkdir -p "$(WORKDIR)"/iso/boot
mkinitcpio -c ./mkinitcpio.conf -b "$(WORKDIR)"/root-image -k $(KVER) -g $@
# See: Overlay
overlay:
mkdir -p "$(WORKDIR)"/overlay/etc/pacman.d
cp -r overlay "$(WORKDIR)"/
wget -O "$(WORKDIR)"/overlay/etc/pacman.d/mirrorlist http://www.archlinux.org/mirrorlist/$(ARCH)/all/
sed -i "s/#Server/Server/g" "$(WORKDIR)"/overlay/etc/pacman.d/mirrorlist
# Rule to process isomounts file.
iso-mounts: "$(WORKDIR)"/isomounts
"$(WORKDIR)"/isomounts: isomounts root-image
sed "s|@ARCH@|$(ARCH)|g" isomounts > $@
# This routine is always executed just before generating the actual image.
syslinux: root-image
mkdir -p $(WORKDIR)/iso/boot/isolinux
cp $(WORKDIR)/root-image/usr/lib/syslinux/*.c32 $(WORKDIR)/iso/boot/isolinux/
cp $(WORKDIR)/root-image/usr/lib/syslinux/isolinux.bin $(WORKDIR)/iso/boot/isolinux/
# In case "make clean" is called, the following routine gets rid of all files created by this Makefile.
clean:
rm -rf "$(WORKDIR)" "$(FULLNAME)".img "$(FULLNAME)".iso
.PHONY: all myarch
.PHONY: base-fs
.PHONY: root-image boot-files initcpio overlay iso-mounts
.PHONY: syslinux
.PHONY: clean
and ran
[root@iskandhar MyBuild]# make myarch
cat: packages.list: No such file or directory
mkarchiso -p " syslinux" create "work"
mkarchiso : Configuration Settings
working directory: work
image name: none
====> Creating working directory: work
====> Installing packages to 'work/root-image/'
/usr/sbin/locale-gen: line 33: sed: command not found
/usr/sbin/locale-gen: line 35: sed: command not found
/usr/sbin/locale-gen: line 38: sed: command not found
Cleaning up what we can
cp -r "work"/root-image/boot "work"/iso/
cp: cannot stat `work/root-image/boot': No such file or directory
make: *** [boot-files] Error 1
[root@iskandhar MyBuild]#
[root@iskandhar MyBuild]# ls work
iso isomounts README root-image
[root@iskandhar MyBuild]#
[root@iskandhar MyBuild]# ls work/root-image
bin dev etc lib lib64 proc sbin sys tmp usr var
[root@iskandhar MyBuild]#
What must I do for this to work...?
Why isnt root-image/boot ever created...?
The partitioning scheme I have in the external USB HDD where I have installed Arch is /boot -> /dev/sdb,1 /->/dev/sdb2, swap->/dev/sdb3, /mount/my_repo->/dev/sdb4. Is this a problem if I want to build my Arch LiveDVD....?
BRGDS
Alex
Offline
...I mean... ArchISO is THE TOOL to create Arch based Live distros, right...?
Offline
You never made a packages.list and thus no packages get installed to the chroot. Read the wiki guide.
Offline
ArchISO is not working atm after upgrading to xorg18 and kernel 2.6.34. I guess we have to wait a while.
@ Svenstaro
Here's the exact error message:
mount: can't setup loop device: No such file or directory
aufs test_add:241:mount[814[: /tmpfs/mnt/overlay is overlapped
mount: mounting none on /new_root/ failed: Invalid argument
mount: can't setup loop device: No such file or directory
aufs test_add:241:mount[819]: /tmpfs/mnt/root-image is overlapped
mount: mounting none on /new_root/ failed: Invalid argument
ERROR: Root device mounted successfully, but /sbin/init does not exist.
Bailing out, you ar on your own. Good luck.
/bin/sh: can't access tty; job control turned off
[ramfs /]#
Offline
I have exactly the same problem as sHyLoCk.
Offline
Hi,
I've try to update my Live (created with Archiso) with the new 2.6.34 kernel.
I've just made a "make clean && make all" and I've got the same error as bzt and sHyLoCk!
Please anybody help me!
Offline
If it can help somebody to resolv this problem, It seems that there is'nt any /dev/loop[x] and the module loop is not loaded.
When I done a "losetup -f" there is only one /dev/loop0.
I can load it by creating a /dev/loop0 with mknod /dev/loop0 b 7 0 or by a modprobe loop but I'm still stuck here...
Offline
I've fix this problem by editing my archiso hooks (in /lib/initcpio/hooks/archiso) and adding "modprobe loop" on line 121 like this:
msg ":: Mounting root (aufs) filesystem"
/bin/mount -t aufs -o dirs=/tmpfs=rw none "${newroot}"
if [ $? -ne 0 ]; then
echo "ERROR: while mounting root (aufs) filesystem."
exit 1
fi
msg ":: Mounting images"
modprobe loop
while read img imgarch mountpoint type; do
# check if this line is a comment (starts with #)
[ "${img#"#"}" != "${img}" ] && continue
[ "$imgarch" != "$arch" ] && continue
[ ! -r "/bootmnt/${img}" ] && continue
if [ "${type}" = "bind" ]; then
_mnt_bind "/bootmnt/${img}" "${newroot}${mountpoint}"
elif [ "${type}" = "squashfs" ]; then
_mnt_squashfs "/bootmnt/${img}" "${newroot}${mountpoint}"
fi
done < "${isomounts}"
Now i must correct Xorg 1.8 problem...
Offline
Offline
Hi,
I'm using a French keyboard, but anyway, when I boot my Live and startx, my keyboard and my mouse just doesn't work.
Moreover I don't know how this new xorg work, so I stay at xorg 1.7 for the moment. (but I need the new kernel for the "unified" WiFi drivers).
I still don't understand why archiso's hook doesn't work out-of-the-box with the new kernel!
Last edited by Klonji (2010-06-23 08:03:47)
Offline
Maybe you can take a look here: http://bbs.archlinux.org/viewtopic.php?id=99503
Offline
Hi,
There is too much work to adapt my live to xorg 1.8.
In fact, I must downgrade the kernel too. But the problem of the loop module not loaded happend again!! That's very strange because I've downgrade kernel, aufs2 and xorg... I don't understand from where the bug is.
If an Archiso or at least Archlinux developper's can explain the source of this bug, it will be a pleasure to understand this problem.
Offline
Well you are downgrading the kernel and archiso packages, but when you run the makefile it will fetch the most recent packages from the repos. So you have to create a personal repo with the older packages and use those only and remove the official repos or else pacman will search for upgraded packages.
Correct me if I'm wrong.
Offline
Hi,
Yes I know that, I've created a local repo on my building machine. It works fine, I mean I've successfully generate a Live with 2.6.33+xorg 1.8 but I've still the loop module bug. I assume I've forget something...
Offline
Seems to be corrected : http://projects.archlinux.org/archiso.g … 3557c14756
Offline
You never made a packages.list and thus no packages get installed to the chroot. Read the wiki guide.
@Svenstaro
... doh... ....
Anyway... I have followed the wiki, creater the packages.list the /boot-files, overlay...
...I get a 2.2 Gb image out of my fake root dir,
when I run qemu -cdrom myarch-1-x86_64.iso i get a kernel panic... the thing actually boots, and stops with this screen...
http://www.linuxquestions.org/questions … ro-815285/
post #12 attached thumbnail.
What is the issue here...?
AFAIK if this was the Xorg probl, the thing would never get built in the first place, right...?
I am still using the previous version...
BRGDS
Alex
Offline
Pages: 1