1 1
Hijax

How to create minimalistic image ?

Recommended Posts

In my project I would like to create Armbian ISO that has only the packages that are really needed for system itself and literally few I need for my application. Just to use smallest possible SD card and not update packages I will never use. 

 

Regardless how I configure build at the end I got 1GB image.  While I know it is possible to go down to 100MB using Ubuntu bionic and latest kernel. 

 

Shall debootstrap use configurable —variant option? For me “minbase” would be perfect. But it does not change anything. 

Shall I put into lib.config my version of PACKAGE_LIST? Still a rootfs is forced to download. No success. 

 

So how to strip down the packages in rootfs compilation?

 

I am using Rock64 modules. 

Share this post


Link to post
Share on other sites
57 minutes ago, Hijax said:

Still a rootfs is forced to download. No success.

 

ROOT_FS_CREATE_ONLY set to FORCE to skip rootfs download and create locally

 

57 minutes ago, Hijax said:

While I know it is possible to go down to 100MB using Ubuntu bionic and latest kernel.


100MB is very small ... hmm, possible yes, but not a simple task. That would require severe changes/optimizations to the build engine. Can't be done over the night.

 

57 minutes ago, Hijax said:

Shall I put into lib.config my version of PACKAGE_LIST?


You can only add this way:
https://docs.armbian.com/Developer-Guide_User-Configurations/#user-provided-configuration

... and can remove packages in userpataches/customize-image.sh

Share this post


Link to post
Share on other sites
28 minutes ago, Igor said:

ROOT_FS_CREATE_ONLY set to FORCE to skip rootfs download and create locally

Yes, but still the resulting img is about 1GB. And with this option I need to run compile.sh twice.

 

29 minutes ago, Igor said:

100MB is very small ... hmm, possible yes, but not a simple task.

That is something I did using very different setup. Just an example. But I very like the armbian build environment. So I will be happy if resulting img would be 500MB or so.

 

31 minutes ago, Igor said:

... and can remove packages in userpataches/customize-image.sh

Yes, doing that for some of packages. Like fbset as my SBC will only be connected via Ethernet & Serial TTY, no HDMI.

But the issue is there is a lot of installed packages and now I need to trace back dependencies. Would it be easier to start from minimal set and add what is needed for CLI or Desktop use or...  user specific needs :)?

Share this post


Link to post
Share on other sites
1 hour ago, Hijax said:

And with this option I need to run compile.sh twice.


Yes. This is a bug / feature for rebuilding all caches and doesn't help you much. Need to be expanded.

 

1 hour ago, Hijax said:

I will be happy if resulting img would be 500MB or so.

 

Me too. There is clearly an interest - you are not the first one with such wish - but we never got to the point to actually move to this direction. We have very small staff and we have to make 100% sure we don't break anything while adding new features. I am currently on vacations and only available for urgent matters. 

 

1 hour ago, Hijax said:

Would it be easier to start from minimal set


Main idea behind this project is to provide a minimal Debian image, where one could actually do something with it. A server image with prepared minimal dev tools to compile something when needed. A python to run some scripts. A package manager to install packages ... What you need is something else. An "application deployment" image. With no overhead at all. That needs to be developed.


I would like to see this happen, but I will be out of office for some time (now two weeks, then one week, then again two weeks travel, then few days, travel ...) and can't really do much on my tiny laptop. Well, there are others here which might assist ... It seems you know enough to start making changes. We can also open a separate (upstream) branch "minimal" and support this initiative in best possible manner. 

Share this post


Link to post
Share on other sites
26 minutes ago, Igor said:

What you need is something else. An "application deployment" image

Exactly.

 

I will then fork the build repository, and start digging into a way how the debootstrap is used.

To create additional target is such a way that it provides minimalistic setup while users will use PACKAGE_LIST_ADDITIONAL to add what they need.

When will have something interesting, will create pull request.

 

Meanwhile I will appreciate if someone can provide a more comprehensive description of root fs building or alternatively I will need to spend time to reverse engineer that :)

Share this post


Link to post
Share on other sites

I would say we need to introduce new variable BUILD_MINIMAL="yes" or BUILD_CORE="yes" which will result in new image as: Armbian_5.59_Bananapi_Ubuntu_xenial_default_3.4.113_minimal.7z
few hints:
Here, https://github.com/armbian/build/blob/master/lib/configuration.sh#L131-L163 after each section you add if BUILD_MINIMAL then those packages

https://github.com/armbian/build/blob/master/lib/configuration.sh#L164-L211

you define DEBOOTSTRAP_COMPONENTS and additional packages for each release

 

Actual debootstrap starts here: https://github.com/armbian/build/blob/master/lib/debootstrap.sh#L134

Share this post


Link to post
Share on other sites

Thx @Igor I will start by adding BUILD_CORE variable, modify appropriate dialog and left BUILD_DESKTOP. Then further changes.

 

Have a good time wherever you go :)

Meantime I will try to prepare PR

Share this post


Link to post
Share on other sites

Hi,

 

BUILD_MINIMAL is now implemented in separate branch.

-rw-rw-r-- 1 root root 675282944 Jul 20 08:42 Armbian_5.91_Rock64_Ubuntu_bionic_default_4.4.184_minimal.img

First of all I had to correct error in rootfs hash creation. In  similar way to yours.

I have also added --variant=minbase to debootstrap.

 

PR is now visible.

 

I will continue to test the changes.

Share this post


Link to post
Share on other sites
3 hours ago, Hijax said:

BUILD_MINIMAL is now implemented in separate branch.

Sounds great for me :)

Could you please tell whene and how its use/testable?

Do we need two ./compile.sh lines/starts or only one?

Is the seperate branch automatically selected when using BUILD_MINIMAL="yes"?

 

Does it work only for the rock64 or on any sbc?

Share this post


Link to post
Share on other sites

Hi,

 

Shall work with any combination of SBS/kernel/OS.  Like rock64/default/bionic or pineh64/dev/stretch and others

 

To trigger this variant when selecting image type "server" a new dialog will pop up to specify development image (former config) or minimal.

Alternatively simply put following options in command line: BUILD_MINIMAL=yes together with BUILD_DESKTOP=no.

Observe BUILD_DESKTOP must be set and takes priority, i.e. BUILD_MINIMAL=yes BUILD_DESKTOP=yes will be interpreted as BUILD_MINIMAL=no BUILD_DESKTOP=yes. When no BUILD_DESKTOP option is given in command line, appropriate dialog box will pop up thus BUILD_MINIMAL may be overwritten.

 

Now the changes are put as PR to the mini branch of armbian/build git repository.

https://github.com/armbian/build/pull/1463

 

Final images for minimal and development variants:

 

root@armbian:~/armbian-build# ls -l output/images/*.img
-rw-rw-r-- 1 root root 1107296256 Jul 20 12:12 output/images/Armbian_5.91_Rock64_Ubuntu_bionic_default_4.4.184.img
-rw-rw-r-- 1 root root  591396864 Jul 20 12:33 output/images/Armbian_5.91_Rock64_Ubuntu_bionic_default_4.4.184_minimal.img
root@armbian:~/armbian-build#

 

I was using following command line for testing (note IGNORE_UPDATES=yes FORCE_CHECKOUT=no shall - to my understanding - only be applicable for testing purposes):

 

./compile.sh CLEAN_LEVEL=none IGNORE_UPDATES=yes FORCE_CHECKOUT=no EXTERNAL=NO  BOARD=rock64 BRANCH=default RELEASE=bionic KERNEL_ONLY=no KERNEL_CONFIGURE=no BUILD_MINIMAL=[yes|no] BUILD_DESKTOP=no

 

 

 

Share this post


Link to post
Share on other sites
21 minutes ago, Hijax said:

To trigger this variant when selecting image type "server" a new dialog will pop up to specify development image (former config) or minimal.

when I select "server" then no new popup does appear :(
I will now try via commandline.....

Or do I have to wait that the PR is processed?

 

[EDIT] Hmm - is commited since 11 Minutes:
https://github.com/armbian/build/commit/084ca935872144f1bda891bf1f90de957053dd82

Do I have to wait some time or activate a "special" update? :)

Share this post


Link to post
Share on other sites
11 minutes ago, guidol said:

Or do I have to wait that the PR is processed? 

Essentially yes. My PR is now under testing. Hope in some reasonable time will be merged down to master branch.

 

Shall you check code?  Use this branch https://github.com/armbian/build/tree/mini

Share this post


Link to post
Share on other sites

 

47 minutes ago, guidol said:

I cloned the mini-branch and now its compiling a minimal-image


You don't need to clone new, but change LIB_TAG from master -> mini

 

Next problem is Python

Unpacking linux-buster-root-next-bananapi (5.91) ...
dpkg: dependency problems prevent configuration of linux-buster-root-next-bananapi:
 linux-buster-root-next-bananapi depends on python3-apt; however:
  Package python3-apt is not installed.

which is needed IIRC only for this https://github.com/armbian/build/blob/master/packages/bsp/common/usr/lib/armbian/armbian-apt-updates and if convert to bash, we can remove Python and keep images even smaller.

 

sed: can't read /root/armbian/.tmp/rootfs-next-bananapi-buster-no/etc/rsyslog.conf: No such file or directory

And rsyslog shall be present.

Share this post


Link to post
Share on other sites

I wonder if this dependency shows up only if EXTERNAL=YES is selected?

 

Side note, while I am building something I see following error:

[ o.k. ] Applying distribution specific tweaks for [ bionic ]
/home/op/armbian-build/lib/distributions.sh: line 380: /home/op/armbian-build/.tmp/rootfs-default-rock64-bionic-no/etc/netplan/armbian-default.yaml: No such file or directory
[ o.k. ] Applying common tweaks

 

Share this post


Link to post
Share on other sites
Just now, Hijax said:

 

Side note, while I am building something I see following error


Probably because we don't have netplan package ... which is not essential. We install it by default for compatibility reasons but disable. If sentence to check directory presence is enough to solve this error.

Share this post


Link to post
Share on other sites
3 minutes ago, Hijax said:

I wonder if this dependency shows up only if EXTERNAL=YES is selected?


linux-root-* are our scripts and optimizations - that's essential. For "external=yes", those are problematic:

 expect : Depends: tcl8.6 but it is not going to be installed
          Depends: libtcl8.6 (>= 8.6.0) but it is not going to be installed
          Depends: tcl-expect but it is not going to be installed
 iperf3 : Depends: libiperf0 (>= 3.1.3) but it is not going to be installed

They are armbian-config related.

Share this post


Link to post
Share on other sites
55 minutes ago, Igor said:

For "external=yes", those are problematic:

Woudn't it be more convinient to add tcl & rsyslog when EXTERNAL=YES ?

 

For example to add them here (packages/extras/armbian-config.sh):

# installing additional dependencies here so they are installed only with armbian-config
chroot $SDCARD /bin/bash -c "apt install -q -y iperf3 debconf-utils html2text dirmngr expect libassuan0 libnpth0 libksba8"
install_deb_chroot "$DEST/debs/armbian-config_${REVISION}_all.deb"

Please check PR https://github.com/armbian/build/pull/1464

Share this post


Link to post
Share on other sites

@Hijax I couldnt get a image complete compiled :(
In my extra cloned mini branch I do at root@core2duo(192.168.6.19):/home/guido/build-mini#:


./compile.sh CLEAN_LEVEL=none EXTERNAL=NO  BOARD=orangepione BRANCH=dev RELEASE=buster KERNEL_ONLY=no KERNEL_CONFIGURE=no BUILD_MINIMAL=yes BUILD_DESKTOP=no


and do get the errors/abort here in the following spoiler:

Spoiler

I: Configuring libc-bin...
I: Configuring ca-certificates...
I: Base system installed successfully.
/bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
/bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
dpkg-divert: warning: diverting file '/sbin/start-stop-daemon' from an Essential package with rename is dangerous, use --no-rename
[ o.k. ] Configuring locales [ en_US.UTF-8 ]
Generating locales (this might take a while)...
  en_US.UTF-8... done
Generation complete.
OK
[ o.k. ] Updating package list [ buster ]
Err:1 http://apt.armbian.com buster InRelease
  Could not resolve 'localhost'
Err:2 http://security.debian.org buster/updates InRelease
  Could not resolve 'localhost'
Err:3 http://httpredir.debian.org/debian buster InRelease
  Could not resolve 'localhost'
Err:4 http://httpredir.debian.org/debian buster-updates InRelease
  Could not resolve 'localhost'
Err:5 http://httpredir.debian.org/debian buster-backports InRelease
  Could not resolve 'localhost'
Reading package lists...
W: Failed to fetch http://httpredir.debian.org/debian/dists/buster/InRelease  Could not resolve 'localhost'
W: Failed to fetch http://httpredir.debian.org/debian/dists/buster-updates/InRelease  Could not resolve 'localhost'
W: Failed to fetch http://httpredir.debian.org/debian/dists/buster-backports/InRelease  Could not resolve 'localhost'
W: Failed to fetch http://security.debian.org/dists/buster/updates/InRelease  Could not resolve 'localhost'
W: Failed to fetch http://apt.armbian.com/dists/buster/InRelease  Could not resolve 'localhost'
W: Some index files failed to download. They have been ignored, or old ones used instead.
[ o.k. ] Upgrading base packages [ Armbian ]
Reading package lists...
Building dependency tree...
Calculating upgrade...
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
[ o.k. ] Installing packages for [ Armbian ]
Reading package lists...
Building dependency tree...
Package debconf-utils is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

Package dialog is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

Package parted is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

Package nocache is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Unable to locate package bc
E: Unable to locate package cpufrequtils
E: Unable to locate package device-tree-compiler
E: Unable to locate package fping
E: Unable to locate package fake-hwclock
E: Unable to locate package psmisc
E: Unable to locate package ntp
E: Package 'parted' has no installation candidate
E: Unable to locate package linux-base
E: Package 'dialog' has no installation candidate
E: Unable to locate package ncurses-term
E: Unable to locate package sysfsutils
E: Unable to locate package toilet
E: Unable to locate package u-boot-tools
E: Unable to locate package usbutils
E: Unable to locate package console-setup
E: Unable to locate package openssh-server
E: Unable to locate package initramfs-tools
E: Package 'nocache' has no installation candidate
E: Package 'debconf-utils' has no installation candidate
E: Unable to locate package network-manager
E: Unable to locate package cron
E: Unable to locate package lsof
E: Unable to locate package htop
E: Unable to locate package vim
E: Unable to locate package mmc-utils
[ error ] ERROR in function create_rootfs_cache [ debootstrap.sh:229 ]
[ error ] Installation of Armbian packages failed
[ o.k. ] Process terminated
[ error ] ERROR in function unmount_on_exit [ image-helpers.sh:62 ]
[ error ] debootstrap-ng was interrupted
[ o.k. ] Process terminated
root@core2duo(192.168.6.19):/home/guido/build-mini#

 

And when I use my normal build branch clone I do at root@core2duo(192.168.6.19):/home/guido/build#

 

./compile.sh CLEAN_LEVEL=none EXTERNAL=NO  BOARD=orangepione BRANCH=dev RELEASE=buster KERNEL_ONLY=no KERNEL_CONFIGURE=no BUILD_MINIMAL=yes BUILD_DESKTOP=no LIB_TAG=mini

 

and get while compiling:

error: pathspec 'mini' did not match any file(s) known to git.

 

after the compile is complete I do get a normal size image without a minimal tag :(

 

 

Now I also got teh following git error at the start of the compile when using the mini clone:


root@core2duo(192.168.6.19):/home/guido/build-mini# ./compile.sh CLEAN_LEVEL=none EXTERNAL=NO  BOARD=orangepione BRANCH=dev RELEASE=buster KERNEL_ONLY=no KERNEL_CONFIGURE=no BUILD_MINIMAL=yes BUILD_DESKTOP=no

 

[ o.k. ] Using config file [ config-default.conf ]
[ o.k. ] Command line: setting CLEAN_LEVEL to [ none ]
[ o.k. ] Command line: setting EXTERNAL to [ NO ]
[ o.k. ] Command line: setting BOARD to [ orangepione ]
[ o.k. ] Command line: setting BRANCH to [ dev ]
[ o.k. ] Command line: setting RELEASE to [ buster ]
[ o.k. ] Command line: setting KERNEL_ONLY to [ no ]
[ o.k. ] Command line: setting KERNEL_CONFIGURE to [ no ]
[ o.k. ] Command line: setting BUILD_MINIMAL to [ yes ]
[ o.k. ] Command line: setting BUILD_DESKTOP to [ no ]
[ o.k. ] This script will try to update
fatal: not a git repository (or any of the parent directories): .git
Not a git repository
To compare two paths outside a working tree:
usage: git diff [--no-index] <path> <path>
fatal: not a git repository (or any of the parent directories): .git

[ o.k. ] Preparing [ host ]
[ o.k. ] Build host OS release [ bionic ]
[ o.k. ] Syncing clock [ host ]
 

Share this post


Link to post
Share on other sites
30 minutes ago, Igor said:

 

change this in config-default

Is it the normal to get the message:
Already up to date.
error: pathspec 'mini   ' did not match any file(s) known to git.

 

I changed it in config-default.conf, but it seems that it wont accept the mini as LIB_TAG

Spoiler

root@core2duo(192.168.6.19):/home/guido/build# more ./config-default.conf


# Read build script documentation https://docs.armbian.com/Developer-Guide_Build-Options/
# for detailed explanation of these options and for additional options not listed here

KERNEL_ONLY=""                          # leave empty to select each time, set to "yes" or "no" to skip dialog prompt
KERNEL_CONFIGURE=""                     # leave empty to select each time, set to "yes" or "no" to skip dialog prompt
CLEAN_LEVEL="make,debs,oldcache"        # comma-separated list of clean targets: "make" = make clean for selected kernel and u-boot,
                                        # "debs" = delete packages in "./output/debs" for current branch and family,
                                        # "alldebs" = delete all packages in "./output/debs", "images" = delete "./output/images",
                                        # "cache" = delete "./output/cache", "sources" = delete "./sources"
                                        # "oldcache" = remove old cached rootfs except for the newest 8 files

DEST_LANG="en_US.UTF-8"                 # sl_SI.UTF-8, en_US.UTF-8

# advanced
KERNEL_KEEP_CONFIG="no"                 # do not overwrite kernel config before compilation
EXTERNAL="yes"                          # build and install extra applications and drivers
EXTERNAL_NEW="prebuilt"                 # compile and install or install prebuilt additional packages
CREATE_PATCHES="no"                     # wait that you make changes to uboot and kernel source and creates patches
BUILD_ALL="no"                          # cycle through available boards and make images or kernel/u-boot packages.
                                        # set KERNEL_ONLY to "yes" or "no" to build all packages/all images
FORCE_BOOTSCRIPT_UPDATE="no"            # update bootscript when upgrading bsp package


BSPFREEZE=""                            # freeze armbian packages (u-boot, kernel, dtb)
INSTALL_HEADERS=""                      # install kernel headers package
LIB_TAG="mini"                          # change to "branchname" to use any branch currently available.
CARD_DEVICE=""                          # device name /dev/sdx of your SD card to burn directly to the card when done


CRYPTROOT_ENABLE=no                     # enable root filesystem encryption using LUKS
CRYPTROOT_PARAMETERS=""                 # optionally: change cryptsetup's defaults like cipher, hash etc.
                                        # Currently only LUKS1 is supported, so don't use --type luks2
CRYPTROOT_PASSPHRASE="MYSECRETPASS"     # enter the encryption passphrase (can also be changed later on the CLI)
CRYPTROOT_SSH_UNLOCK=no                 # enable dropbear to unlock your device via SSH
                                        # if you have an SSH public key store it in userpatches/dropbear_authorized_keys
                                        # otherwise a new SSH key will be created and stored beside the OS image
CRYPTROOT_SSH_UNLOCK_PORT=2022          # dropbear SSH port
 

 

Could this be a problem: The instructions for the armbian build system tells to clone only depth 1

at https://docs.armbian.com/Developer-Guide_Build-Preparation/

git clone --depth 1 https://github.com/armbian/build

 

So maybe https://github.com/armbian/build/tree/mini isnt included in the clone?

Share this post


Link to post
Share on other sites

@guidol I am doing it in a bit different way.

Clone the whole  repo, checkout proper branch. To make it working you must put empty file named  .ignore_changes

Then during run of compile.sh  the script will not force change to master branch.

Share this post


Link to post
Share on other sites
12 hours ago, Hijax said:

@guidol I am doing it in a bit different way.

I think I found my way ;)

git clone --branch mini https://github.com/armbian/build build-mini

root@core2duo(192.168.6.19):/home/guido/build-mini#

git branch
*mini

./compile.sh CLEAN_LEVEL=none EXTERNAL=NO  BOARD=orangepione BRANCH=dev RELEASE=buster KERNEL_ONLY=no KERNEL_CONFIGURE=no BUILD_MINIMAL=yes BUILD_DESKTOP=no LIB_TAG=mini

Already up to date.
Switched to branch 'mini'
Your branch is up to date with 'origin/mini'.

When I did a clone without depth 1 I only did only get the branch master

 

Or can the mini branch additionally be cloned in the master git clone?

Share this post


Link to post
Share on other sites
12 hours ago, guidol said:

 


git clone --branch mini https://github.com/armbian/build build-mini

root@core2duo(192.168.6.19):/home/guido/build-mini#

./compile.sh CLEAN_LEVEL=none EXTERNAL=NO  BOARD=orangepione BRANCH=dev RELEASE=buster KERNEL_ONLY=no KERNEL_CONFIGURE=no BUILD_MINIMAL=yes BUILD_DESKTOP=no LIB_TAG=mini

When I did a clone without depth 1 I only did only get the branch master

 

Or can the mini branch additionally be cloned in the master git clone?

It did start to compile, but after creating the base-system it want to get new packages, tries to fetch BUT

then it couldnt resolve localhost :(

A ping to localhost DOES WORK - but (as it should) a nslookup localhost DOENST WORK

Spoiler

I: Base system installed successfully.
/bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
/bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
dpkg-divert: warning: diverting file '/sbin/start-stop-daemon' from an Essential package with rename is dangerous, use --no-rename
[ o.k. ] Configuring locales [ en_US.UTF-8 ]
Generating locales (this might take a while)...
  en_US.UTF-8... done
Generation complete.
OK
[ o.k. ] Updating package list [ buster ]
Err:1 http://security.debian.org buster/updates InRelease
  Could not resolve 'localhost'
Err:2 http://httpredir.debian.org/debian buster InRelease
  Could not resolve 'localhost'
Err:3 http://apt.armbian.com buster InRelease
  Could not resolve 'localhost'
Err:4 http://httpredir.debian.org/debian buster-updates InRelease
  Could not resolve 'localhost'
Err:5 http://httpredir.debian.org/debian buster-backports InRelease
  Could not resolve 'localhost'
Reading package lists...
W: Failed to fetch http://httpredir.debian.org/debian/dists/buster/InRelease  Could not resolve 'localhost'
W: Failed to fetch http://httpredir.debian.org/debian/dists/buster-updates/InRelease  Could not resolve 'localhost'
W: Failed to fetch http://httpredir.debian.org/debian/dists/buster-backports/InRelease  Could not resolve 'localhost'
W: Failed to fetch http://security.debian.org/dists/buster/updates/InRelease  Could not resolve 'localhost'
W: Failed to fetch http://apt.armbian.com/dists/buster/InRelease  Could not resolve 'localhost'
W: Some index files failed to download. They have been ignored, or old ones used instead.
[ o.k. ] Upgrading base packages [ Armbian ]
Reading package lists...
Building dependency tree...
Calculating upgrade...
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
[ o.k. ] Installing packages for [ Armbian ]
Reading package lists...
Building dependency tree...
Package debconf-utils is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

Package dialog is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

Package parted is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

Package python3-apt is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

Package nocache is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Unable to locate package bc
E: Unable to locate package cpufrequtils
E: Unable to locate package device-tree-compiler
E: Unable to locate package fping
E: Unable to locate package fake-hwclock
E: Unable to locate package psmisc
E: Unable to locate package ntp
E: Package 'parted' has no installation candidate
E: Unable to locate package linux-base
E: Package 'dialog' has no installation candidate
E: Unable to locate package ncurses-term
E: Unable to locate package sysfsutils
E: Unable to locate package toilet
E: Unable to locate package u-boot-tools
E: Unable to locate package usbutils
E: Unable to locate package console-setup
E: Unable to locate package openssh-server
E: Unable to locate package initramfs-tools
E: Package 'nocache' has no installation candidate
E: Package 'debconf-utils' has no installation candidate
E: Unable to locate package network-manager
E: Unable to locate package cron
E: Unable to locate package lsof
E: Unable to locate package htop
E: Unable to locate package vim
E: Unable to locate package mmc-utils
E: Package 'python3-apt' has no installation candidate
E: Unable to locate package rsyslog
[ error ] ERROR in function create_rootfs_cache [ debootstrap.sh:229 ]
[ error ] Installation of Armbian packages failed
[ o.k. ] Process terminated
[ error ] ERROR in function unmount_on_exit [ image-helpers.sh:62 ]
[ error ] debootstrap-ng was interrupted
[ o.k. ] Process terminated
root@core2duo(192.168.6.19):/home/guido/build-mini#
 

 

What I am or my system is doing wrong?

Normal armbian build system does work and "I: Base system installed successfully." does work, but after that it stops :(

 

Share this post


Link to post
Share on other sites
6 minutes ago, guidol said:

Normal armbian build system does work and "I: Base system installed successfully." does work, but after that it stops


I made a few test builds and it worked but also stopped, but later. I build via Docker, haven't tried elsewhere yet ... mini image was never tested. Perhaps we should move it under "expert" until we have a fully working and tested build?  Not needed - not in a master branch.

Share this post


Link to post
Share on other sites

Let me start build on my VM. Using compile command as provided by @guidol

Shortly I will put here information about results.

Share this post


Link to post
Share on other sites

Can not manage that, u-boot compilation problem:

scripts/Makefile.lib:394: recipe for target 'lib/efi_loader/helloworld_efi.so' failed

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
1 1