b2c信息网

您现在的位置是:首页 > 昨日新闻 > 正文

昨日新闻

debian源码安装(debian安装程序)

hacker2022-06-10 09:15:25昨日新闻73
本文目录一览:1、如何在Debian或Ubuntu上安装完整的Linux内核源码

本文目录一览:

如何在Debian或Ubuntu上安装完整的Linux内核源码

一般编译依赖内核的软件只需要安装 header sudo apt-get install -y linux-headers-amd64 如果需要下载完整内核源码,这只能自己看看,其它软件并不会来用这份源码。 sudo apt-get source linux-image-amd64

求debian linux下如何安装程序(编译安装/原码安装)

找到安装盘 然后apt-get install gcc 回车就可以安装gcc命令了。如果想安装驱动,比如你自己下了个网卡驱动,那么先解压进入到解压目录然后

./config

make

make install

解压的目录里面会有readme的 不懂的可以看看。

debian 源码安装 bochs

$dpkg-source -x bochs_2.4.5-1.dsc

$ cd bochs_2.4.5-1

$ fakeroot dpkg-buildpackage

编译完成后,在源代码的上级目录会生成deb扩展名的包

#dpkg -i bochs*.deb

如何在Debian或Ubuntu上安装完整的内核源码

在Debian上安装完整的内核源码

在下载内核源码之前,先安装dpkg-dev,其中包含你在Debian上生成源代码时需要的开发工具套件。不仅如此,dpkg-dev中还包含在用来解压Debian源码包并自动打补丁的工具dpgk-source。

$ sudo apt-get install dpkg-dev

然后,运行以下命令下载完整的内核源码。

$ apt-get source linux-image-$(uname -r)

伴随着完整内核源码(linux_X.X.XX.orig.tar.xz)的还有一些可用的内核补丁(linux_X.X.X+XXX.debian.tar.xz)和源码控制文件(linux_XXXX.dsc),这些都将被下载并存储到当前目录。在.dsc文件中会指出如何给内核源码打补丁。

当下载完成,以上的命令将会自动调用工具dpkg-source将下载的内核源码解压到当前的目录中,与此同时根据.dsc文件来下补丁。

最终完整的内核源码树将会以"linux-X.X.XX"的形式呈现在当前目录中。

在Ubuntu上安装完整内核源码

如果你想安装完整内核源码的话,以上在Debian上的那一套做法在Ubuntu上仍然奏效。

在Ubuntu上还有另一套方法安装完整内核源码。事实上,你可以查一下由Canonical为Ubuntu不同发行版维护的内核源码树。

$ sudo apt-get install git$ git clone git://kernel.ubuntu.com/ubuntu/ubuntu-$(lsb_release --codename | cut -f2).git

举个例子,如果你使用的是Ubuntu 14.04,以上的命令将会查看Git的"ubuntu-trusty"仓库中的代码。

一旦在你对Git仓库的查询结束后,使用以下的命令来安装用来访问生成内核源码树所需依赖的重要开发包。

debian系统安装软件有哪些常见的方式?各有什么优缺点?

从apt源安装。优点:方便快捷。有查找功能,能自动安装依赖。包有签名,能防止篡改。缺点:自己搭建apt源较为繁琐。第三方apt源需要在目标机器上配置apt源再安装。

从deb包安装。优点:比较方便。复制到目标机器,再执行dpkg -i就能安装。缺点:无法自动解决软件依赖。无法保证安装的版本适合当前操作系统版本。

从源码编译安装。优点:通用性好。可以选择需要的功能进行编译,达到功能和性能的最大化。缺点:耗时很长,无法自动安装依赖。比较消耗CPU和磁盘。

如何利用源代码在Banana Pi上安装最小的Debian

1.配置lubuntu主机,使其通过网络连接Banana Pi。

a.在lubuntu主机上,分配一个固定的IP地址到以太网接口(例如,eth0)

#为eth0定义一个静态IP

sudo vi /etc/network/interfaces

auto lo eth0

iface lo inet loopback

iface eth0 inet static

address 192.168.8.1

netmask 255.255.255.0

复制代码

# 重新启动接口

sudo ifup eth0

复制代码

b.在lubuntu主机上,设置dhcp服务器eth0接口

# 安装dhcp服务器

sudo apt-get install isc-dhcp-server

复制代码

# 定义dhcp服务器的操作接口 (eth0)

sudo vi /etc/default/isc-dhcp-server

INTERFACES=”eth0″

复制代码

# 配置一个基本的dhcp服务

sudo vi /etc/dhcp/dhcpd.conf

subnet 192.168.8.0 netmask 255.255.255.0 {

range 192.168.8.16 192.168.8.127;

# hard-wired OpenDNS name server for basic setup

option domain-name-servers 208.67.222.222;

option routers 192.168.8.1;

}

# host banana always gets a fixed IP address

host banana {

fixed-address 192.168.8.8;

}

复制代码

# 重启dhcp服务

sudo service isc-dhcp-server restart

复制代码

c.在lubuntu主机上,设置一个以太网接口到因特网之间的桥接

# 使数据包在ufw中转发

# 在/etc/ufw/sysctl.conf中 取消下面两行命令的注释:

sudo vi /etc/ufw/sysctl.conf

net.ipv4.ip_forward=1

复制代码

# 在/etc/default/ufw中把DEFAULT_FORWARD_POLICY 改为 “ACCEPT” :

sudo vi /etc/default/ufw

DEFAULT_FORWARD_POLICY="ACCEPT"

复制代码

# 伪装: 在/etc/ufw/before.rules中,头注释之后,添加以下内容:

sudo vi /etc/ufw/before.rules

# NAT rules (IP Masquerading)

*nat

:POSTROUTING ACCEPT [0:0]

#Forward traffic from eth0 range 192.168.8.xxx to wlan0

-A POSTROUTING -s 192.168.8.0/24 -o wlan0 -j MASQUERADE

# 'COMMIT' the above nat table rules for processing

COMMIT

复制代码

# 重启ufw 服务:

sudo ufw disable sudo ufw enable

复制代码

2.在lubuntu主机上创建u-boot, script.bin 和banana-pi linux-kernel

a. 在lubuntu主机上安装一个交叉编译器工具链

sudo apt-get install build-essential u-boot-tools uboot-mkimage binutils-arm-linux-gnueabihf gcc-4.6-arm-linux-gnueabihf-base g++-4.6-arm-linux-gnueabihf gcc-arm-linux-gnueabihf cpp-arm-linux-gnueabihf libusb-1.0-0 libusb-1.0-0-dev git wget fakeroot kernel-package zlib1g-dev libncurses5-dev

复制代码

b. 创建u-boot (u-boot-bananapi或者u-boot-sunxi-with-spl.bin)

git clone -b bananapi

cd u-boot-bananapi

make CROSS_COMPILE=arm-linux-gnueabihf- Bananapi_config

make CROSS_COMPILE=arm-linux-gnueabihf-

cd ..

复制代码

c. 创建script.bin

git clone

git clone

cd sunxi-tools

make

复制代码

#最后修改板子的配置文件: (SKIPPED HERE)

vi sys_config/a20/Bananapi.fex

cd ..

sunxi-tools/fex2bin sunxi-boards/sys_config/a20/Bananapi.fex script.bin

复制代码

d. 在linux-bananapi/ 中创建linux kernel

git clone -b bananapi-3.4

cd linux-bananapi/

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j2 sun7i_defconfig

复制代码

# 最后微调内核配置 (SKIPPED HERE)

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig

复制代码

# 创建 linux-bananapi/arch/arm/boot/uImage (the '-j2' option executes make tasks on two cpus for faster processing)

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j2 uImage modules

复制代码

# 在linuxbananapi/output/lib/modules/3.4.90+/中创建模块

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- INSTALL_MOD_PATH=output modules_install

cd ..

复制代码

3. 设置可启动的SD卡

假定SD卡在/dev/mmcblk0下,有一个空白的分区表而且未挂载. 至少4GB

a. 分区并格式化SD卡

#使用下面的命令对SD卡进行分区

sudo fdisk /dev/mmcblk0

Command (m for help): n

Partition type:

p primary (0 primary, 0 extended, 4 free)

e extended

Select (default p): (enter)

Using default response p

Partition number (1-4, default 1): (enter)

Using default value 1

First sector (2048-xxxxx, default 2048): (enter)

Using default value 2048

Last sector, +sectors or +size{K,M,G} (2048-xxxxx, default xxxxx): +20M

Command (m for help): n

Partition type:

p primary (1 primary, 0 extended, 3 free)

e extended

Select (default p): (enter)

Using default response p

Partition number (1-4, default 2): (enter)

Using default value 2

First sector (43008-xxxxx, default 43008): (enter)

Using default value 43008

Last sector, +sectors or +size{K,M,G} (43008-15523839, default 15523839): (enter)

Using default value xxxxx

Command (m for help): w

sudo sfdisk -R /dev/mmcblk0

sudo mkfs.ext2 /dev/mmcblk0p1

sudo mkfs.ext4 /dev/mmcblk0p2

复制代码

b. 将bootloader, boot 脚本和内核映像加到boot分区

sudo dd if=/dev/zero of=/dev/mmcblk0 bs=1k count=1023 seek=1

sudo sfdisk -R /dev/mmcblk0

sudo dd if=u-boot-bananapi/u-boot-sunxi-with-spl.bin of=/dev/mmcblk0 bs=1024 seek=8

sudo mount /dev/mmcblk0p1 /mnt

复制代码

# 创建bootloader脚本

sudo vi /mnt/boot.cmd

setenv bootargs console=ttyS0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait panic=10 disp.screen0_output_mode=EDID:1280x720p50 hdmi.audio=EDID:0

ext2load mmc 0 0x43000000 script.bin

ext2load mmc 0 0x48000000 uImage

bootm 0x48000000

sudo mkimage -C none -A arm -T script -d /mnt/boot.cmd /mnt/boot.scr

复制代码

# 拷贝内核映像和banana配置脚本到SD卡

sudo cp linux-bananapi/arch/arm/boot/uImage /mnt

sudo cp sunxi-boards/script.bin /mnt

sudo umount /mnt

复制代码

c.用debootstrap安装一个debian wheezy 文件系统

#在lubuntu主机上设置debootstrap

sudo mount /dev/mmcblk0p2 /mnt

sudo apt-get install qemu-user-static debootstrap binfmt-support

rootdir=/mnt

dist=wheezy

sudo debootstrap --arch=armhf --foreign $dist $rootdir

复制代码

#准备把chroot放到/mnt中

sudo cp /usr/bin/qemu-arm-static /mnt/usr/bin/

sudo cp /etc/resolv.conf /mnt/etc/

复制代码

# 把chroot放到/mnt中,然后安装debootstrap

sudo chroot /mnt

dist=wheezy

export LANG=C

/debootstrap/debootstrap –second-stage

复制代码

# 配置apt源

cat EOT /etc/apt/sources.list

deb $dist main contrib non-free

deb-src $dist main contrib non-free

deb $dist-updates main contrib non-free

deb-src $dist-updates main contrib non-free

deb $dist/updates main contrib non-free

deb-src $dist/updates main contrib non-free

EOT

cat EOT /etc/apt/apt.conf.d/71-no-recommends

APT::Install-Recommends "0";

APT::Install-Suggests "0";

EOT

复制代码

# 更新安装包然后将语系配置为en_US.UTF-8

apt-get update

dpkg-reconfigure locales

复制代码

# 在提示信息中均选择en_US.UTF-8 export LANG=en_US.UTF-8

# 安装一个ssh服务器使之可以通过网络安全登录, 并且可以自动设置日期和时间 (可选)

apt-get install openssh-server ntpdate

复制代码

# 更改root 密码

passwd

复制代码

# 查看/etc/ssh/sshd_config中以下选项并设置为yes: (注意,第一次登录的时候, 最好设置一个用户账户并通过设置选项为no禁用root权限)

vi /etc/ssh/sshd_config

PermitRootLogin yes

复制代码

# 更改banana pi的主机名 vi /etc/hostname

banana

复制代码

# 在/etc/dhcp/dhclient.conf 中,将下列行添加上或者取消注释以使banana识别lubuntu主机上的DHCP服务

vi /etc/dhcp/dhclient.conf

send host-name = gethostname();

复制代码

# 基于eth0进行自动dhcp连接

vi /etc/network/interfaces

auto lo eth0

iface lo inet loopback

allow-hotplug eth0

iface eth0 inet dhcp

复制代码

# 确保必要的时候串行控制台重新生成

echo T0:2345:respawn:/sbin/getty -L ttyS0 115200 vt100 /etc/inittab

复制代码

#在退出chroot之前终止ssh服务然后清除rootfs

/etc/init.d/ssh stop

复制代码

退出

sudo rm /mnt/usr/bin/qemu-arm-static /mnt/etc/resolv.conf

复制代码

d. 把kernel模块拷贝到rootfs

sudo mkdir -p /mnt/lib/modules

sudo rm -rf /mnt/lib/modules/

sudo cp -r linux-bananapi/output/lib/ /mnt/

sudo umount /mnt

复制代码

4. 给BananaPi供电

a. 连接banana pi

# 将banana pi的 usb/OTG 口连接到 lubuntu 主机的USB口或者直接利用适配器供电

# 在lubuntu主机和banana pi (ssh登录)之间连接以太网网线

# 最后在banana pi和lubuntu主机(控制台) 之间连接一个 USB-TTL 串行线

# 把SD卡插入Banana Pi

b. 给banana-pi供电

# 按下电源按钮

# 等待绿色LED灯闪烁 (几秒之后)

# 等待以太网接口启动(以太网连接器下的黄色LED灯)

c. 通过ssh登录

发表评论

评论列表

  • 晴枙殊姿(2022-06-10 17:08:16)回复取消回复

    /boot/uImage /mnt sudo cp sunxi-boards/script.bin /mnt sudo umount /mnt 复制代码c.用debootstrap安装一个debian whe

  • 澄萌妏与(2022-06-10 16:24:26)回复取消回复

    d_config PermitRootLogin yes复制代码# 更改banana pi的主机名 vi /etc/hostnamebanana复制代码# 在/etc/dhcp/dhclient