ArchThis Forum is for the discussion of Arch Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
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 :
Code:
#
# /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 ) :
Code:
#### 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: cleanand ran
Code:
[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]#
Code:
[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....?
Distribution: Anything NOT SystemD (ie. M$) related.
Posts: 918
Rep:
I wish I could help.. but I have wrestled with trying to build my own live cd of my desktop for years on and off.
I was successful briefly with bootcd .. but it is really not maintained properly lately, or whatever, so I am going to try remastersys from ubuntu next.
Meanwhile what I really want to do is probably more in line with you may be attempting.. which is just trying to *figure-out* how to do this, by using the functions and commands available, WITHOUT someone else kludgy *scripts* (that almost ALWAYS don't work-- for one reason or another).
The only suggestion I can give is make sure your initrd is built correctly and leads properly into the iso fs... (which is where I am currently stuck).
hey Alexvader
your using archiso or archiso-live?
I followed the instructions in the archiso-live
from git and it workwed great except the resulting iso/usb terminals would not work
although I have no idea why?
see here http://www.linuxquestions.org/questi...needed-810452/
I think its related to /dev/pts or something, maybe also to the command
"source exports"
in archiso-live/scripts/exports
Code:
echo "This overrides the mkinitcpio path so remember to clean up the PATH with source /etc/profile"
export PATH="`pwd`/mkinitcpio:`pwd`:$PATH"
??
so, although it correctly builds the image; its worthless if terminals dont work, etc
although they work in console mode...?
Note that my nFluxOS ARCH build uses the quax slack kernel 2.6.33.3-qx and special linux-live-scripts-6.3.0. it uses squashfs-3.4, not 4.0+
I included full source, etc in NfluxOS ARCH edition
note that archiso-live also includes a special linux-live for squashfs-4.0 but as I said it doesn't work right?!
Use the archiso-live on your system, it's quick using squashfs-4.0
and boot to x and you'll see when you open a terminal...
I am creating a Live Medium for engineers ( mainly Civil, Aero and Mechanical engineering ) with apps for Computational Fluid Dynamics, Finite elements analysis, 3D Geometry modelling, Math Prototyping/scripting, Source Compilation support, CAD and Graphing, Pre and post processing, office applications, browser support... the whole pack; I wish to pack all this in 4.4GB
Typically the user will run this an a 64 bits PC with 4GB ram at least ( although this is not a strict requirement, it is just for the sake of application "snappiness" ) in multitabbed console mode ( DVTM or screen ) or X using IceWM of fluxBox as WM, being able to run his work ( the files created can be huge ) in a mounted external USB HDD where he cans save his work in the end of session.
I think this will be fine, and also a way of telling Engineering Students as well as Engineers all over the word that they do not need to use proprietary tools to have a productive workflow in terms of PLM ( product Lifecycle management ).
I will not use anything proprietary, all the apps I will compile and use have source freely available.
It will be sort of an Engineering Design Swiss Knife
I've never ran a 64bit distro on it
maybe I should try??
you want 64bit arch edition?
can a kernel source be used compiled for either 32 or 64??
ah...i'm gonna download the dual-architecture netinstall iso for ARCH
mkarchiso -p "Code_Saturne Frame3DD JSBSim MbDyn Varicad abiword acl acpi admesh alsa-lib apr apr-util ar9170-fw tomake avahi avl b43-fwcutter babl bash bc beecrypt bin86 binutils bison blas blender bluez boost bridge-utils br alculix cdrkit centerim cln cloog-ppl cmake compositeproto conky consolekit convert2syrthes coreutils cpio cppuni vs damageproto dash db dbus dbus-core dbus-glib dbus-python dcron desktop-file-utils device-mapper devtools dhcli dnsutils docutils dolfin doxygen dri2proto dvtm e2fsprogs ed eficas eficasV2-Openturns eggdbus eject elinks ench t ffc ffcall ffmpeg fftw fiat file filesystem findutils firefox fixesproto flac flex fltk fluxbox fontcacheproto idi fte gamin gawk gc gcc gcc-ada gcc-fortran gcc-libs gcc-objc gconf gd gdbm gegl gen-init-cpio gerris getdp get gmp gmsh gnome-icon-theme gnome-keyring gnome-menus gnome-mime-data gnome-vfs gnuchess gnumeric gnupg gnupg2 gnu z grep groff grub gsfonts gsl gstreamer0.10 gstreamer0.10-base gtk gtk2 gtkglext gts gxine gzip hal hal-info hdf5 m-utils icon-naming-utils icu ifenslave ilmbase imagemagick imake imlib imlib2 impact inetutils initscripts input hon irssi isdn4k-utils iw iwlwifi-1000-ucode iwlwifi-3945-ucode iwlwifi-4965-ucode iwlwifi-5000-ucode iwlwifi-515 atik java-commons-io java-commons-logging java-flexdock java-jdom java-saxon6 java-skinlf java-xmlgraphics-common kbproto kernel26 kernel26-firmware kernel26-headers kernel26-lts kernel26-lts-headers lame lapack lcms less lesst ibdaemon libdatrie libdjvu libdmx libdrm libelf libevent libexif libfetch libffi libfontenc libgcrypt libgl libgl bgssglue libice libid3tag libidl2 libidn libieee1284 libisofs libixp libjpeg libksba libldap libmatio libmng libm bpciaccess libpng libpng12 librpcsecgss librsvg libsamplerate libsasl libsm libsndfile libsoup libspectre libtasn l libvdpau libvorbis libwebkit libwmf libx11 libx86 libxau libxaw libxcb libxcomposite libxcursor libxdamage libx che libxft libxi libxinerama libxkbfile libxkbui libxml2 libxmu libxp libxpm libxrandr libxrender libxslt libxss enses lilo links linux-api-headers linux-atm lm_sensors logrotate lua lvm2 lxappearance lxde-common lxde-icon-the erminal lzo2 m4 mailx make man-db man-pages maxima mc mcpp mdadm med menu-cache mesa metis-edf midori mime-types nit-tools modulef mozilla-common mpfr mpich2 mrxvt mtools mysql mysql-clients namcap nano nbd ncurses ndiswrapper utils nfsidmap ngsolve nspr nss ocaml octave ofeli oleo omniorb omniorbpy openTurns openal openbox opencascade op sl openvpn orbit2 orc pacman pacman-mirrorlist pam pango paraview patch pciutils pcmanfm pcmciautils pcre perl pe inentry pixman pkgconfig pm-quirks pm-utils polkit poppler poppler-glib popt portaudio ppl ppp pptpclient printpr pyqt pyqt3 pyrex python python-configobj python-enthought-mayavi python-enthought-traits python-enthought-utils p t python-pmw python-scipy python-sphinx qemu-kvm qhull qscintilla qscintilla-qt3 qt qt3 qtemu qtoctave quick-init erproto rfkill rp-pppoe rpcbind rpm rrdtool rsync rt2870usb-fw rt2x00-rt61-fw rt2x00-rt71w-fw run-parts salome-ge ome-yacs samba sane sbcl sc schroedinger scilab scons scotch scrnsaverproto sdl sdparm sed setuptools shadow shar hfs-tools startup-notification subversion sudo swig syrthes sysfsutils syslinux syslog-ng sysvinit t1lib talloc t x tiacx-firmware time tix tk tk-togl transfig tree tzdata udev udev-compat ufc ufl umfpack unixodbc unrar unzip u per vpnc vte vtk w3m wavpack wget which wings wireless-regdb wireless_tools wmii wpa_actiond wpa_supplicant wv wx o xcb-util xcursor-themes xdg-utils xextproto xf86-input-evdev xf86-video-vesa xf86dgaproto xf86miscproto xf86vid roto xinetd xkeyboard-config xorg-apps xorg-docs xorg-font-utils xorg-fonts-100dpi xorg-fonts-75dpi xorg-fonts-al xorg-server-utils xorg-twm xorg-utils xorg-xauth xorg-xinit xorg-xkb-utils xpdf xproto xsensors xterm xulrunner
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),
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
/opt/eficas/convert/Parserv5/Translate.py:2372: SyntaxWarning: name 'DEBUGGING' is assigned to before global decl
global DEBUGGING
/opt/eficas/convert/Parserv5/Translate.py:2372: SyntaxWarning: name 'DEBUGGING' is assigned to before global decl
global DEBUGGING
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
Warning in file "/usr/share/applications/Thunar-folder-handler.desktop": usage of MIME type "x-directory/normal" is discouraged ("x-directory" is an old media type that should be replaced with a modern equivalent)
Warning in file "/usr/share/applications/pcmanfm-find.desktop": usage of MIME type "x-directory/normal" is discouraged ("x-directory" is an old media type that should be replaced with a modern equivalent)
Error in file "/usr/share/applications/gnumeric.desktop": "zz-application/zz-winassoc-xls" is an invalid MIME type ("zz-application" is an unregistered media type)
Warning in file "/usr/share/applications/pcmanfm.desktop": usage of MIME type "x-directory/normal" is discouraged ("x-directory" is an old media type that should be replaced with a modern equivalent)
Could not parse file "/usr/share/applications/gxine.desktop": Key file contains line 'x-content/video-svcd' which is not a key-value pair, group, or comment
Warning in file "/usr/share/applications/pcmanfm-folder-handler.desktop": usage of MIME type "x-directory/gnome-default-handler" is discouraged ("x-directory" is an old media type that should be replaced with a modern equivalent)
Warning in file "/usr/share/applications/pcmanfm-folder-handler.desktop": usage of MIME type "x-directory/normal" is discouraged ("x-directory" is an old media type that should be replaced with a modern equivalent)
Cleaning up what we can
cp -r "work"/root-image/boot "work"/iso/
cp -r boot-files/* "work"/iso/boot/
cp: cannot stat `boot-files/*': No such file or directory
make: *** [boot-files] Error 1
[root@iskandhar MyBuild]#
Just when I was preparing to build isomounts and Isolinux... :-(
Code:
[root@iskandhar MyBuild]# ls
Makefile packages.list work
[root@iskandhar MyBuild]# ls work
iso isomounts README root-image
[root@iskandhar MyBuild]#
EDIT
Forget this post...
Last edited by Alexvader; 06-22-2010 at 04:30 PM.
Reason: Didn't read the wiki... :)
I'm compiling the same kernel from nFluxOS arch on the new x86_64 I installed
it keepes stopping with errors on different 3rd party drivers that are for 32bit I guess
anyway, it should be done soon....I hope
now, when it's done you may have to fix stuff
I had to edit
archiso-live/scripts/profiles/livebackup/archiso-mkinitcpio.conf
it originally said
Code:
HOOKS="base udev archiso-early pata scsi sata usb fw filesystems usbinput fbsplash"
#HOOKS="base udev boot-usb archiso ide scsi sata usb fw filesystems"
and would fail saying no archiso-early, etc
so, I replaced it with
Code:
HOOKS="base udev archiso pata ide scsi sata usb fw filesystems usbinput fbsplash"
#HOOKS="base udev boot-usb archiso ide scsi sata usb fw filesystems"
note I put ide there too
then from the readme that says
Quote:
How you do a live backup of your system
su root
cd $HOME/archiso-live/scripts
source exports
cd profiles/livebackup
./build livebackup
But dont pput the archiso-live folder in /home or /root
it works better from /
and with squashfs4.0+ and a 2.5GB install it will make a livecd/usb in about 20min!
much faster than squashfs3.4 which would take nearly 2hrs!
but, when you open a terminal it probably wont work
thats only issue with archiso-live!?
I try mine out by booting from usb
archiso-live and linux-live-scripts-6.3.0 dont require a label boot parameter..
but, when I use a true arch linux net-install iso off usb
I use gparted and label usb ARCH
and change boot parameter to label=ARCH
instead of dd'ing iso to usb, etc
if you have K3B, open the iso with K3B and it will printout the iso's label
maybe it's off?
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.